Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you are working on something new you have less than the required time to do it, and sometimes you are expected to work late, weekends etc (even when you are waiting on people who are not working those hours). I even had a boss once who came by and told me to make sure I had something to do on Saturday. This seems to be true even when no competitors are putting something similar on the market.

If you are working on feature enhancements or maintenance you are encouraged to take your time, review your options, study up on things, etc. Sometimes I even get the feel that you are expected by leadership to catch up on your fantasy football and analyze topics like Game of Thrones, Call of Duty, etc.

My question is: why not just take the extra time from the existing software development and spend it on the new projects that are starving for time?

share|improve this question
    
Some related discussion on this topic at c2 - Bug Free Doesnt Sell –  MichaelT May 3 '13 at 13:55
5  
Your observations with respect to both new development and maintenance/features are far from universal. New development isn't always rushed, and other types may be rushed or not. Schedule pressure comes mainly from the presence of a deadline (external or self-imposed). Any kind of project can have a deadline, and any kind of project can be free of deadlines. –  Caleb May 3 '13 at 13:55
    
Move fast, Break things. :) –  Chris May 3 '13 at 14:00
    
The software equivalent of a bird in the hand, the first person to market often obtains a substantial percentage of the market share, even if the product is flawed and buggy. The resulting customers provide revenue for bug fixes and future improvements. –  Robert Harvey May 3 '13 at 16:50
add comment

closed as not constructive by GlenH7, Doc Brown, MichaelT, Caleb, Joris Timmermans May 3 '13 at 14:07

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

For new development, there are no customers yet to foot the bill, so the budget has to be allocated by upper management. And you may count yourself lucky if the upper management even asks for an estimation by the technical staff, let alone that they will allocate the budget accordingly. It is more likely that the budget allocation is based on their own, non-technical, gut-feeling of how hard it is to create a piece of software.

For enhancements and maintenance, there is usually a paying customer who can foot the bill and who pays for the work billed by the hour, so there is no incentive for the company to hurry with those enhancements or bug fixes (as long as they don't get so slow that the customers switch to the competition).

share|improve this answer
add comment

A lot of times when you are working on something new, it just has to be "good enough". Mistakes, bugs and such are often (though not always) tolerated more because ...

  1. There is nothing else to compare it against.
  2. There is a desire to get it out the door and start making some $$$.

More time may be devoted later to feature enhancements and maintenance because ...

  1. The product is already generating a revenue stream.
  2. There is something the enhancements and bug fixes can be compared against.
  3. There is a desire not break what you already have (see #2) as it can jeopardize #1.
  4. Sometimes mistakes from pushing it out the door have taught a lesson or two.

I'm sure there are other reasons, but those are the first that come to mind.

Hope this helps.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.