Monday, May 24, 2004
It gives joy for us whenever we are recognized and that too getting it from MS is really wonderful. I take pride in sharing with you that i have joined the Elite Club of Microsoft India Community Star. I wish i dedicate more time to add my few cents of knowledge to this community.
Thursday, May 06, 2004
Software Estimation :- An ART or SCIENCE
My team was asked to prepare effort estimation for a project. We thought let us give an opportunity for the young members in the team to have a hands-on experience with the formal effort estimation techniques and had a training session on how to calculate FP to arrive at a reasonable effort estimate. One of my colleagues was very much new to this and she asked me there is lot of data, formulae, and calculations involved in it and the process of estimation is more of a “Science”. I said it is “SCIENCE” as well as an “ART”. This article is an outcome of my thought process.
Here I am not talking about Cost Estimation or Effort Estimation or anything in particular, it is in general and people can view this on what angle they want to view this.
I would like to base my argument on the following two objectives:
1) A good estimate is not just a list of to do items or requirements and timelines it should make sure that it takes care of your burning cost as well as your organizations growth and sustenance for tomorrow.
2) A good estimate should help in achieving your corporate goals, increate your corporate market share in your area of operation, help your organization to achieve technological leadership in your domain of expertise and also it should ensure long term survival and growth of the organization.
Arriving at a good estimate to meet the above objectives is both an Art as well as Science.
It is a “SCIENCE” because it needs lot of historic data, projections, analysis & calculations and it should be repeatable for any one any number of times. I.e., if two people are estimation for a project using a formal technique like FP, then the estimate they arrive at should be same (May be within a reasonable deviation) and the estimation you arrive at should be backed up with enough data to justify your estimate.
Having the data and formal technique alone cannot help you to arrive at a good cost estimate to satisfy the above two objectives. It also needs a lot of judgment, Communication, Understanding You, Your Customer, Your Competitors in the same line of business, Your customer needs, his target timeframe, his budget and his market credibility which marks the “ART” aspect of how you acquire the knowledge to do a good estimation that is viable and a winning proposal.
To meets these two ends the following may help to arrive at a good estimate.
Mere guess will get you an estimate but it will not be winning. Your proposal should a “Win/Win” situation for both your organization as well as for your Customer. From the customer point of view he should trust you and give repeat order, from your organizational perspective, your estimate should ensure profit and also it should help achieve the above two objectives.
Mainly the estimates will be based on whether this is for an existing customer or a new customer. If the estimation is for an existing customer we have to be very careful because the expectations are high. When the initial proposal was made, you might have quoted less to bring in a new customer to your assets, now it is time for you to compensate for your shortcomings and at the same time give the comfort factor for the client also here it will me more of a “SCIENCE” component because you know most of your “ART” portion and your estimates will be more of data and formulae driven. If it is a new client then it is more of an “ART” because you have to know about your customer, his line of business, market/domain, his competitors, his time to market, his budget etc which involves lot of creativity, judgment, communication.
Build Vs Buy: Try to reuse as much as possible, make an assessment on whether to buy out of the box components and build around it vs. doing everything from the scratch.
Find any similar products / projects done by your organization which more or less suits your current requirement and try to arrive at what is the estimate for that and then try to predict or forecast the current estimate based on the current market situation. Even if you cannot find an entire match you will find bits and pieces of matches in requirements, use these data and try to forecast your estimates.
Always keep an eye on your competition. Knowing your competitors and predicting their moves is an “ART” that people acquire with experience. Also know the pulse of the market space in which you are operating. If you are estimating on a new technology always keep enough correction factors on your estimates. You have to know the pulse of your customer if he is a new customer you should be in a position to know his credibility, his ability to pay, his business vision, his strategic planners and their views.
Above all you should be creative in organizing your data backed up with proven techniques for your estimation in such a manner that when you present the proposal you are confident of wining the project.
My team was asked to prepare effort estimation for a project. We thought let us give an opportunity for the young members in the team to have a hands-on experience with the formal effort estimation techniques and had a training session on how to calculate FP to arrive at a reasonable effort estimate. One of my colleagues was very much new to this and she asked me there is lot of data, formulae, and calculations involved in it and the process of estimation is more of a “Science”. I said it is “SCIENCE” as well as an “ART”. This article is an outcome of my thought process.
Here I am not talking about Cost Estimation or Effort Estimation or anything in particular, it is in general and people can view this on what angle they want to view this.
I would like to base my argument on the following two objectives:
1) A good estimate is not just a list of to do items or requirements and timelines it should make sure that it takes care of your burning cost as well as your organizations growth and sustenance for tomorrow.
2) A good estimate should help in achieving your corporate goals, increate your corporate market share in your area of operation, help your organization to achieve technological leadership in your domain of expertise and also it should ensure long term survival and growth of the organization.
Arriving at a good estimate to meet the above objectives is both an Art as well as Science.
It is a “SCIENCE” because it needs lot of historic data, projections, analysis & calculations and it should be repeatable for any one any number of times. I.e., if two people are estimation for a project using a formal technique like FP, then the estimate they arrive at should be same (May be within a reasonable deviation) and the estimation you arrive at should be backed up with enough data to justify your estimate.
Having the data and formal technique alone cannot help you to arrive at a good cost estimate to satisfy the above two objectives. It also needs a lot of judgment, Communication, Understanding You, Your Customer, Your Competitors in the same line of business, Your customer needs, his target timeframe, his budget and his market credibility which marks the “ART” aspect of how you acquire the knowledge to do a good estimation that is viable and a winning proposal.
To meets these two ends the following may help to arrive at a good estimate.
Mere guess will get you an estimate but it will not be winning. Your proposal should a “Win/Win” situation for both your organization as well as for your Customer. From the customer point of view he should trust you and give repeat order, from your organizational perspective, your estimate should ensure profit and also it should help achieve the above two objectives.
Mainly the estimates will be based on whether this is for an existing customer or a new customer. If the estimation is for an existing customer we have to be very careful because the expectations are high. When the initial proposal was made, you might have quoted less to bring in a new customer to your assets, now it is time for you to compensate for your shortcomings and at the same time give the comfort factor for the client also here it will me more of a “SCIENCE” component because you know most of your “ART” portion and your estimates will be more of data and formulae driven. If it is a new client then it is more of an “ART” because you have to know about your customer, his line of business, market/domain, his competitors, his time to market, his budget etc which involves lot of creativity, judgment, communication.
Build Vs Buy: Try to reuse as much as possible, make an assessment on whether to buy out of the box components and build around it vs. doing everything from the scratch.
Find any similar products / projects done by your organization which more or less suits your current requirement and try to arrive at what is the estimate for that and then try to predict or forecast the current estimate based on the current market situation. Even if you cannot find an entire match you will find bits and pieces of matches in requirements, use these data and try to forecast your estimates.
Always keep an eye on your competition. Knowing your competitors and predicting their moves is an “ART” that people acquire with experience. Also know the pulse of the market space in which you are operating. If you are estimating on a new technology always keep enough correction factors on your estimates. You have to know the pulse of your customer if he is a new customer you should be in a position to know his credibility, his ability to pay, his business vision, his strategic planners and their views.
Above all you should be creative in organizing your data backed up with proven techniques for your estimation in such a manner that when you present the proposal you are confident of wining the project.
Subscribe to Posts [Atom]