Software project estimation to avoid surprises

Estimating means you are predicting the future consequences of the current project  and also before the project begin you need to make an estimate or else you have to make a certain assumption about a project  related to topics such as

  1. Resources
  2. Time
  3. Effort
  4. Cost
  5. No of team numbers

now! You will ask me, why we should bother about software project estimation?

The reason is that if you don’t estimate  the project before then you would probably get surprises in the middle of the project

Another reason for doing estimation is to know whether the project is feasible or practical to implement or it just an unrealistic project plan

Always remember accurate estimation is critical to the project success

How to create estimation or assumptions about the project?

The way through which estimation comes is by gathering historical data also structuring it and using it

Another way is to always listen to the experts and ask them if possible

If you don’t have data then you can’t decide or estimate and we don’t like to   listen from you that you decided because “you think” no always decision or estimation should be based on data

Furthermore, there are different kinds of estimating techniques are available to estimate the project but we will discuss one technique called decomposition techniques

Through this technique, we can measure the size of the project by the divide and conquer method

For example, consider that you have created a software called full-duplex physical Layer for communication b/w two laptops in MatLab

The first thing we can do to use this technique divides the software into functions then count the no of lines of code in each function

Function                                          no of lines of code

Gui                                                    1,400

Transmitter(TX)                              6,800

Receiver(RX)                                   4,999

                                             Total: 13,199 

Always the estimation process should be done gradually so, that you go through each step carefully, it should not be done in a hurry


Because estimation will have an inbuilt risk  

Update your estimation

The more information you have and if that information is well structured then you can estimate better with more information

As the project proceeds the estimation needs to be updated also know that estimation means it won’t be 100% accurate

Maintaining a record of estimation

Always Keep your estimations powers sharp by keeping records of estimation so, that you can measure how close you were. whenever you make an estimation

Estimation gives you a choice

estimation helps you to make better decisions. suppose you have two way of doing something then, in that  case, it will let you decide which one is better


  • Software engineering a practitioner’s approach by Roger’s Pressman

Mohammed Anees

Hey there, welcome to aneescraftsmanship I am Mohammed Anees an independent developer/blogger. I like to share and discuss the craft with others plus the things which I have learned because I believe that through discussion and sharing a new world opens up

Leave a Reply

Your email address will not be published.