Collaboration Among Stakeholders Critical for Robustness of Software Estimation

collaboration

Software development is a collaborative process. It is owned and developed by various stake holders. Estimation in itself is a difficult process which should consider an array of factors that help the various stakeholders involved to take decisions which have ramifications for the entire team. The issue with estimation is that, developers have to play with different categories of unknowns, make numerous discoveries, assume conditions and risk probabilities to arrive at the basic estimation elements – effort, cost, time and scope.

Business requirements make it mandatory to do most of the estimation in the very beginning of the project when the technicalities and probable risks/issues are yet to be deciphered. Requirement analysis and design decisions come at later stages of the development life cycle. This mismatch sets unrealistic goals, creates scope creep and results in inaccurate estimation with respect to scheduled delivery (timeline), productivity parameters (effort) and cost.

Creating meaningful and accurate estimates is critical for successful software development. If development follows an agile model, it requires intense interaction, collaboration and communication. This can be achieved through collaborative estimation technique which not only establishes a structured, repeatable estimation technique but also a structured manner to gather information to create estimates.

Various Stakeholders with Alternative Estimates

Different stakeholders are involved in the development process. Team members and project managers focus on achieving the estimation goals. Business leaders focus on achieving business goals and minimize risks, while customers facilitate the entire process by removing project related obstacles and support the development teams at various levels. Every stakeholder has their unique focus and expectations from the project. Involving the different stakeholders in estimation process makes it more robust and lends greater credibility and support to the early and later estimates. Various sources of information through different stakeholders give the problem a multivariate perspective thereby creating an accurate framework for making estimation. Different information and knowledge sources are open for cross examination. Various alternative estimates from different stakeholders can provide a broader perspective and help in making realistic commitments. [1]

Early Stage

Involving stakeholders at the idea inception phase which involves problem definition is very important as this is the very beginning and every stakeholder can affect decision making. The basic function point estimates are developed at this stage, but assessment of these point estimates with a certain degree of relevancy requires comparing and contrasting all the available alternatives in similar context.

Validation of the early estimates against historical data and other alternatives helps to develop a rough estimate of the project with respect to scope, timelines and cost. The relevancy of carrying out the project can be assessed in the light of the rough estimates. This would mean each of the stakeholders can evaluate where the project stands with respect to estimated cost and projected goals and compare it with a similar past project. If there exists a variance, re-evaluation and re-estimation can be done in the early stages.[2]

Trend Line and Metrics for Analysis of Best Estimates– Trendlines are charts of effort as compared to the project size which act as a baseline or frame of reference to compare and contrast present project metrics against historical values of similarly sized projects. Automated trend line generation techniques for software estimation should be helpful for generating trend lines and creating metrics for comparing historical project data to present ones; inaccurate trend lines can result in inaccurate estimation thereby affecting project success.[3] By employing a metric estimation process this can help to analyze the various potential results of alternative project estimates. This would include playing with three constraints – scope (features, size, and quality), time (release time) and cost (productivity, team size). The analysis can help to arrive at the best estimates.

Process to Foster Collaboration Among Stakeholders

The stakeholders can be engaged through structured information sharing mechanisms and appropriate planning. The project and concerned stakeholders should be duly associated with a clear definition of roles and responsibilities in order to effectively facilitate interaction between teams and stakeholders. This would provide greater clarity about the roles and activity contributions of each stakeholder toward project success. Permissions towards project data should be assigned to different stakeholders depending on their level of involvement and contribution.[4]

To Conclude

The collaborative technique which involves connecting various stakeholders, conducting analysis of the metrics of historical projects in present circumstances, comparing and contrasting results, and gathering alternative estimates from various stakeholders are the keys to setting up a collaborative estimation process for software development. This fosters greater clarity and measurable results in the very beginning and increases chances of success of a software development project. The trendline analysis can help in determining which projects are risky and which are not. The analysis helps to determine the best estimate among the various alternatives for best results. The collaborative technique allows the stakeholders to benefit from being aware and is instrumental in decision making thus making the overall estimation process quite robust and justifiable.

References

Ponnalagu, Karthikeyan and Nanjangud Narendra.

“Automated trendline generation for accurate software effort estimation.” Researchgate.net. 29 October 2015

Zuber, Laura.

“All In: Collaborative Software Estimates.” Qsm.com. 29 October 2015

[1] http://www.qsm.com/articles/all-collaborative-software-estimates
[2] http://www.qsm.com/articles/all-collaborative-software-estimates?user-access-submitted=737
[3] http://www.researchgate.net/publication/262280324_Automated_trendline_generation_for_accurate_software_effort_estimation
[4] http://www.qsm.com/articles/all-collaborative-software-estimates?user-access-submitted=737