Sunday, September 1, 2013

A Predictable Reaction to a Software Development Estimation with Full Disclosure


I was recently asked, by a close friend, to look at a simple web application that starts with a large page of nicely styled questions, followed by another page of questions and a results page, full of analysis and a well designed summary pie chart graphic.

Here was my response:

If your question is how "hard", I'd say "not hard".
If your question is how much would it cost and how long would it take? ... then how "hard" it is depends.
As you know, delivering software involves the interaction between business policy/process, data, technology and people.
Consider:
1. Is the algorithm for determining the scores well defined?
(Would the question/answer > bucket be provided in the form of a spreadsheet file (or would the programmer be given written descriptions and have to type everything in from scratch?)
2. How much flexibility is there on the final graph image?
(Looks like they have created a whole lot of static images, one for each possible answer. Another solution would be to have a javascript driven/dynamic graph, which would likely be the way I'd lean.)
3. Are you storing the results or simply generating the resulting score for display on the web site at the end of the survey?
(This is a big one. If the answer is just generate the answer and not record anything, other than possibly an email then this could all be done in javascript, i.e., in the web browser...no backend database required.)
4. Is deployment infrastructure in place?
(Do you have a server for this application to run on already?)
5. Is this part of a bigger solution?
(Need to integrate this with other systems? Do you need to share the responses or "customers" with other systems? Do you need to automate emails to these customers? Etc.)
6. How engineered does the solution need to be?
(Most apps are developed using and agile methodology, which requires a continuous integration server that monitors for code updates, validates that new coded does not break the build, which implies all work has test code (unit, functional, integration)... I would not think this would not require multiple developers, which greatly simplifies things.
7. How many change requests will be involved?
(Will the user acceptance testing be reasonable or will there with a lot of "I know that's what you thought I said, but I was thinking of something more like this here...So, do it over, again."
8. Has a technology and/or development toolset been pre chosen?
(Does it matter what language is written in or what tools are used to develop the web app?)

[SUMMARY]

The result you get when developing software is largely dependent on the team doing the work.
I would say you're looking at any where from 4 hours to 4 weeks [or more], depending on your answers above, whether requirements will change and the experience of who's doing the work.
... [ some discussion of cost ] ...
I also included one of my favorite comic strips:

Response to full-disclosure-estimation

I think I have figured out how to do this through excel.


11 comments:

  1. We know it's hurting our velocity but without numbers it's difficult to convince management of the true costs.  kodu

    ReplyDelete
  2. This allows them to devise a comprehensive work strategy that serves as the platform for successful execution of each of the company's strategies of entrepreneur Alex Dee.

    ReplyDelete
  3. It is important to realize that you can only control a part of your finances, however you can make sure that you are not left with a huge debt or unable to get medical care when you need it. For more ideal details about financial advisor, pop over to these guys.

    ReplyDelete
  4. They make use of several unique and stunning colors that will not only increase the beauty of your kitchen but add character to your home as well. Get more interesting details about granite countertops check out this site.

    ReplyDelete

  5. Leadership, empathy and the ability to focus on the big picture is the key to success in any business. Empathy is an important trait. It is so important that there are study after study that attest to this fact. For more ideal details about fields of action pop over to these guys.

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Different thermostats have various features as well. Some of the most popular ones are the ones that you find in the kitchen. The kitchen type of thermostat is called a kitchen thermostat. For more information on kitchen thermostat discover here.

    ReplyDelete
  8. A person who does not feel helpless is a person who is strong. A person who is strong is someone who has faith in themselves and their ability to change circumstances to the better. If you are curious to know more about great people, check here.

    ReplyDelete
  9. For instance, if you are just opening up a small boutique of window cleaning equipment, you can get an estimate of how much your business will cost in a year from a financial model that assumes no sales and no expenses. Get more Interesting details about how to start a small business on bizop.org.

    ReplyDelete
  10. By providing information rich material to the public in regard to their investments, these companies are hoping to generate more interest in their offerings and thus generate more income from this income. Do you want to know more about business analytics software? for detailed info click here.

    ReplyDelete