Saturday, February 7, 2009

Estimating Project Size - An Approach

Attached excel sheet contains simple list that can be used to calculate or estimate project size as per requirements. The system is totally automated and evaluate projects based  on simple inputs/drop down. The idea is to view triple-constraint of project management in a three dimensional triangle format. Changing one parameter has effect on another. E.g. changing time will change size, quality and cost of the project – hence it will result in change of size of project

You can try out difference combination to evaluate the size of imageprojects. The terms, small, medium and large corresponds to the calculation based on different parameters.

I still need to calibrate this sheet and it will mature with time and your input.

 

 

Download Excel Sheet from here.

Wrong Approach!

So every higher up loves to get reports and statistic from the developers, testers and technical writers. Being part of the management I like this idea, and we all need this information to optimize use of resources.

Interestingly, while we need these analyses to make job of our team easier – we unconsciously adding more burden to the resources. Asking them to fill spread-sheets or a document is not the right idea. A programmer is good at programming not at filling spreadsheet. A tester can build test cases and write down defect but you are killing him if you start using him to write down effort on sheet of paper – so your company can run its PMO.

Development, Testing and documentation [IMHO] is an art – and all skilled people are the artist. What we are doing is killing their creativity. I have seen lot of good team leads and developers grouching over filling documents but can’t do anything about it.

Being realistic we need this stuff – if a company is running PMO, CMMi or ISO. and other type of the certification is out there we need this information – and believe me it very valuable information.

So What's Wrong?

Having said all this – we need to correct our approach to get the information out of our asset – our human resources. Automate - bring technologies already out there to start talking to each other. No human effort should be required - hence the term "zero man-hour". It’s a IT world there are tons of software available to do part of job, but there are some issues:

  • End-to-end portfolio management solutions are available but they are expensive. Most companies either cannot afford or don’t want to invest in these tools.

  • These tools does not account for current company's investment, and add another learning curve for people.

  • Most of affordable tools, don’t talk to each other. And thus there is no centralized repository.

  • PMI practices requires lot of information flow – more documents to produce. More work for everyone.

  • None of the software gives you a good picture when it comes to analyses.

  • Portfolio management software are adding more work to the teams rather than helping them to reduce 'documentation' overhead.

What is right?

What ever we do, we need this information - yet for reasons mentioned above its not good idea to jump to effort of getting your people overworked. Here is what I believe is right approach, please note that I am restricting to certain tools from Microsoft and Mercury. In addition to this please see links on this page to see how you can integrate these tools.

  • Find out what makes developers/testers take pride in their work. e.g. use of a version control software such as VSS is a better choice than a simple file sharing.
  • Share information on single project-portal, sharing information on MS SharePoint Server is better than sharing it on email.
  • Statistic like actual-time-to-fix-defect should not come from developer - we should [try to] get it from check-in and check-out time of a file from your version control software.
  • In this case all you need to do is encourage developer and testers to check-in/check-out file as soon as they done with work.
  • Make use of existing technologies, not technologies that operation uses, but the technologies that your project teams are most familiar with. Think VSS, TestDirector, SharePoint etc.
  • Its easy with the technology currently out there specially from Microsoft - but ask yourself is your company ready to invest?
My Effort

As of Dec, 06. I am trying to get all the process of PMI mapped using tools mentioned below, with objective of "zero man-hour", while getting all the statistic data needed for analysis. I am learning too while building this knowledgebase, I will appreciate any feedback.

  • Microsoft VSS
  • Microsoft Visio
  • Microsoft SharePoint server
  • Any email client
  • Test Director
  • Microsoft Project

This list might change overtime as I dig deeper down to the PMI implementation. Please keep on visiting with valuable feedback.

Installing Crystal Xcelsius Designer 4.5 on SharePoint 2007:

I had problems installing xCelsius on SharePoint 2007 server; however the support guys were pretty good and helped me with the installation. Posted below for you to use it.

Download xwp.zip

Please note that, current Xcelsius Web Part installer Setup.exe does not work with SharePoint 2007 (Windows SharePoint Services 3.0).

Workaround to install Web Part in SharePoint 2007 without running installer:

The easiest way to install a web part in SharePoint is to add the web part assemblies to Global Assembly Cache.

Please follow these steps:

1. Download and unzip the attached Xwp.zip. Drag Xwp.dll and ICSharpCode.SharpZipLib.dll into C:\WINDOWS\assembly folder on the machine running SharePoint 2007.

2. Open web.config file located in the root of a Windows SharePoint Service 3.0 Web Application directory with Notepad. Normally, the physical location of the default WSS 3.0 Web Application root is C:\Inetpub\wwwroot\wss\VirtualDirectories\80. Click here for more information on how to Find the Web Application Root.

3. Insert the following <SafeControl> tag between <SafeControls> and </SafeControls>.

<SafeControl Assembly="Xwp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7e58495f1a9ea430" Namespace="CrystalXcelsius.SharePoint.WebParts" TypeName="*" Safe="True" />

4. In SharePoint Portal Site Home pages, from Site Actions drop-down menu, go to Site Settings->Modify All Site Settings. Click Web Parts under Galleries to open Web Part Gallery Page. Click New to open New Web Parts page. Check CrystalXcelsius.SharePoint.WebParts.Container checkbox and click Populate Gallery. Once it is populated, you will be able to add Container web part to your web part page in SharePoint 2007.

I hope this helps.