point
The Smart Techie was renamed Siliconindia India Edition starting Feb 2012 to continue the nearly two decade track record of excellence of our US edition.

Software Estimation for Enterprise Implementation

Rajib Chatterjee
Friday, November 30, 2007
Rajib Chatterjee
There is nothing new in what I am writing here, but I will try to simplify the estimation process so that more and more estimators find use for this process. The first two steps use Top-Down approach, whereas the last one uses the Bottom-up approach. It may be noted that the steps are not interchangeable and we need to strictly follow all the steps to mitigate risks. While step 1 is to be performed only once during Inception or Pre-Inception stage, steps 2 and 3 need to be followed before and during each Iteration. A summary of all the three steps is given here.

Step 1: During the Inception stage (the stage where Business Level Use Cases are available in certain granularity with approved business architecture) we can use any of the popular estimation techniques to get a ballpark estimation with +/- 20 percent variance. I would rather go with Use Case based estimation to get a high level size (measured in UCPs) and apply standard productivity to get an Effort. Some of us may even prefer to go for Function Points based estimation provided that we have some inputs on the data points and key transactions. These are much discussed about topics and I don’t want to waste time discussing these here.

As one can envisage, we have a set of rules for the three steps - Effort from step 2 must be within the range of step 1, and if it is not so, we need to revisit step 1. Similarly, estimated Effort for step 3 must be within the range of step 2, if not we need to revisit step 2. So, as we proceed with these steps we are gradually reducing the variances and increasing the accuracy level.

Step 2: This is to be performed just before starting the Iteration when we have all Use Cases realized into analysis model and a high-level design model is also available. I here recommend the usage of Slightly Modified Complexity model (SMC estimation methodology). Given below are a few brief snapshots explaining the model.

Define the Complexity – Depending on the challenges in your Enterprise Architecture Implementation you need to redefine the same. I have considered five different complexities (viz. Very Simple, Simple, Moderate, Complex, and Very Complex) for four different types of transaction (GUI, Logic, Database, and Output) and you may wish to follow the same. The methodology is very similar to function-point based estimation but it must be borne in mind that the levels are different. Once done, you should provide some guidelines for choosing a specific complexity, for example Simple-GUI should have 1-3 IO Controls, less than 2 Drop Down etc. or a Complex-Logic should have I/O XML/XSL <=3, Number of transactional fields > 12, scope for writing a “Submit” action or writing an “Initialize” action.


Share on Twitter
Share on LinkedIn
Share on facebook