Bottom-Up Software Effort Estimation Technique

Software Effort Estimation Technique

Last time, we explained that even though estimating software project timelines is tough, we should do it anyway. We also broadly discussed some of the common estimation techniques.

With that background, we want to go into further detail about the bottom-up software effort estimation technique that works for us.

A critical aspect any estimation technique should capture is time and uncertainty. An estimate that only has time implies a high degree of certainty. This generally is not true for most of the projects.

Bottom-Up Software Effort Estimation Technique

Here it goes : 

  • Break Down Work into less complex tasks. 
  • Estimate Uncertainty. 
  • Calculate the worst-case scenario estimate. 
  • Revisit. 
  • Track. 

For details, read on:

Break Down Work into less complex task chunks

It is tough to give an accurate estimate to a complex task. Therefore, it is recommended that you break into small chunks. That will remove the number of uncertain variables.

We use the following Sizes:

Complexity                                                                                                     Time


Small                                                                                                                                             1 day

Medium                                                                                                                                        3 days

Large                                                                                                                                             1 Week

Extra-Large                                                                                                                                  2 Weeks

Your estimation gets accurate only when you are very granular in mapping and recording the hours that go towards a project’s completion.

The whole point is to use real wall clock hours and days and idealized “programmer hours.” We should not be overly optimistic here.

So if something might take 3 days but you might get it done in 1 day because you got lucky should still be quoted as medium. On the other hand, don’t be pessimistic by quoting that same task as large to cover your butt.

In an ideal condition, your estimation mostly comprises small and medium tasks as there are few large and might be none extra large. However, you need not to do this in one fell swoop. The bottom-up software effort estimation technique advocates that you can refine the estimate later.

How to Estimate Uncertainty? 

A good software effort estimation technique will capture the uncertainty as well.

“20 to 30 days” is a very different estimate compared to “5 to 45 days” even though both have the same mid-point estimate as 25 days.

It is expected to capture the expected-case vs. best-case scenario.
Once you have quoted the expected time blocks as described in the above section, you will now apply the “if-things-go-wrong” multiplier described below:

Uncertainty Level                                                                                                              Multiplier


Low                                                                                                                                          1.1

Moderate                                                                                                                                1.5

High                                                                                                                                         2.0

Extreme                                                                                                                                   5.0

You can have a different multiplier value. That is quite possible. But defining and sticking to a system helps you to come up with quite accurate quotes.

However, you will like to have more low and moderate uncertainty levels and very few high or extreme uncertainty estimates.

How to arrive at the worst-case scenario estimates? 

The groundwork you have accomplished in your software effort estimation technique in the earlier steps will simplify this. 

Let me explain with an example. 

Task                                                             Complexity                Uncertainty           Expected         Worst-Case    


Creating the filer                                            Medium                          Moderate                       3 days                  4.5

Applying the Automation rule                     Large                               High                               1 week.                2 weeks

Showing an error message                           Small                                Low                                1 day                    3.3 days

Integration with Salesforce                         Extra- Large                    High                               2Weeks               10 Weeks.

Revisit the Software Effort Estimation

Is such a wide range acceptable? If not, then this step steps in. 

The range is so high because you have a few extreme, large, uncertain-level projects. 

You should review those along with your colleagues. Try to brainstorm and find out ways to reduce. 

You should now be breaking down extra-large complexity tasks into small ones. I agree that you would have done that had it been easy. 

The trick here is to revise these tasks again with a group of capable people with you on the board. 

It requires deeper research. You can decide to assign two weeks to work hands on some part of this task chunk and understand the complexity more closely. That will help you break this task into small and medium chunks and keep one large complexity level. 

There is no correct strategy here. The key observation is that if you are dealing with too many uncertain components, you should take some time to break them down into small and easier blocks. 

Track

Track your accuracy so that you can improve over time. This helps to form a feedback loop. 

You project.

You observe how much it deviates. 

You use that knowledge to refine your project in the next time. 

We hope that you will find this software estimation technique useful. Please share your feedback if you use this software estimation technique in your next project. 

The credit for this technique goes to Jacob Kaplan Moss – Co-creator of Django.

Insights

1,186 thoughts on “How to Build A SaaS Application?

  1. I will immediately grab your rss feed as I can not find your e-mail subscription link or newsletter service. Do you have any? Kindly let me know so that I could subscribe. Thanks.

  2. Excellent read, I just passed this onto a colleague who was doing a little research on that. And he just bought me lunch since I found it for him smile Therefore let me rephrase that: Thanks for lunch!

  3. I’m impressed, I must say. Actually hardly ever do I encounter a weblog that’s both educative and entertaining, and let me let you know, you will have hit the nail on the head. Your concept is excellent; the difficulty is something that not enough persons are speaking intelligently about. I’m very completely happy that I stumbled across this in my search for something referring to this.

  4. I have been browsing on-line greater than 3 hours today, but I by no means discovered any interesting article like yours. It is lovely price enough for me. In my view, if all site owners and bloggers made good content material as you did, the net can be much more useful than ever before.

  5. Thank you for sharing excellent informations. Your website is very cool. I am impressed by the details that you have on this web site. It reveals how nicely you perceive this subject. Bookmarked this web page, will come back for more articles. You, my pal, ROCK! I found just the info I already searched all over the place and just could not come across. What a perfect site.

  6. F*ckin¦ awesome issues here. I am very glad to peer your post. Thank you so much and i’m having a look forward to touch you. Will you kindly drop me a mail?

  7. I really like your blog.. very nice colors & theme. Did you design this website yourself or did you hire someone to do it for you? Plz respond as I’m looking to design my own blog and would like to know where u got this from. cheers

  8. You can certainly see your expertise within the paintings you write. The world hopes for even more passionate writers like you who aren’t afraid to say how they believe. At all times go after your heart.

  9. I believe that is among the such a lot vital info for me. And i am happy studying your article. However want to remark on some normal things, The site taste is perfect, the articles is really nice : D. Just right activity, cheers

  10. Thank you, I’ve recently been looking for information about this subject for ages and yours is the greatest I’ve discovered till now. But, what about the conclusion? Are you sure about the source?

  11. You actually make it appear really easy with your presentation but I in finding this topic to be actually one thing that I think I would never understand. It kind of feels too complex and extremely vast for me. I am having a look forward for your next put up, I will attempt to get the hold of it!

  12. I got what you intend, regards for putting up.Woh I am pleased to find this website through google. “It is a very hard undertaking to seek to please everybody.” by Publilius Syrus.

  13. Арматура 14 мм оптом https://armatura-14.ru и в розницу в Москве. Качественный металл по выгодным ценам. Быстрая доставка, широкий ассортимент и гибкие условия для частных клиентов и строительных компаний.

  14. Арматура 14 мм оптом https://armatura-14.ru и в розницу в Москве. Качественный металл по выгодным ценам. Быстрая доставка, широкий ассортимент и гибкие условия для частных клиентов и строительных компаний.

  15. Hi! I realize this iis somewhat off-topic however I had to ask.
    Does operating a well-established blog like yurs require a large
    amount of work? I am brand new to running a blog however I
    do write in my diary everyday. I’d like to start a bllog sso I cann
    share mmy own experience and feelings online.
    Please let me know if you have any ideas or tips for brand new aspiring bblog
    owners. Appreciate it! https://demo.qkseo.in/viewtopic.php?id=1067338

  16. Арматура 14 мм оптом https://armatura-14.ru и в розницу в Москве. Качественный металл по выгодным ценам. Быстрая доставка, широкий ассортимент и гибкие условия для частных клиентов и строительных компаний.

  17. Квартиры от застройщика https://kvartiruzhkkupit.ru в Казани: новые дома, удобные планировки, комфортные районы. Прямые продажи, честные цены, акции и поддержка на всех этапах покупки.

  18. Квартиры от застройщика https://kvartiruzhkkupit.ru в Казани: новые дома, удобные планировки, комфортные районы. Прямые продажи, честные цены, акции и поддержка на всех этапах покупки.

  19. Квартиры от застройщика https://kvartiruzhkkupit.ru в Казани: новые дома, удобные планировки, комфортные районы. Прямые продажи, честные цены, акции и поддержка на всех этапах покупки.

  20. My brother suggested I might like this blog. He was once entirely
    right. This post actually made my day. You can not consider simply how much time I had spent for this info!
    Thanks!

  21. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали сервисный центр apple, можете посмотреть на сайте: официальный сервисный центр apple
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!