Monday, May 24, 2010

Can anyone describe the phases in software development...???

Don't believe what they teach in school! It really goes like this:





Some new feature or technology (the widget) attracts the software team.





They discuss it in front of a manager.





The manager perceives their excitement, and melds it into his pet project.





The manager gets a budget for R%26amp;D including the widget above.





4-10 times as much money as budgeted is spent, resulting in 50-80% widget success.





The manager writes a report demonstrating 95% success to cover the spending overrun. Now the manager is on the hook to use the widget to justify everything.





Business development asks the manager an unrelated question, which results in the widget becoming "The Ultimate Widget", a ready to deploy, fully developed and documented product, which only need slight tinkering to solve any customer need.





Out of the clear blue a2 years later, the now-widely dispersed SW engineers get a call to work up a proposal. Naturally, thinking this is for the "widget" they worked on before - they work up a cost figure.





Management fine-tunes the proposal, making it more "optimistic", and reduces the estimate cost of production to 10%.





The contract is awarded.





Those engineers caught unawares, unable to hide, or not so critical in their current project that to remove them would bankrupt the entire company get pulled off their projects to work on the "The Ultimate Widget" project.





Halfway through the "The Ultimate Widget" project, it becomes necessary to work the engineers 60 hours a week. The overtime is unpaid, and this works because management lays the guilt trip on the original "Widget" engineers.





Three quarters of the way through the project, even with the unpaid OT, it become apparent that the cost will be 150% of the original engineering estimate, and 1500% of the reduced cost quoted by management.





The customer, already in the hole through money spent, agrees to a reduction from "The Ultimate Widget" to the original "Widget". More unpaid OT is required, and some of the work is farmed out to SW sweatshops that do not have the pesky quality, documentation, and CM requirements, not to mention management and company overhead. This gets the cost down to nearly the original estimate.





The widget is delivered.

Can anyone describe the phases in software development...???
If you're talking about the traditional 'warterfall' development model, it goes something like this:





1. Requirements Definition -- define what the system must do


2. System Design -- design a system to meet the requirements


3. Development -- implement the system according to the design


4. Integrate %26amp; Test -- bring all the system components together and make sure they work right


5. Deploy -- install the system where it's going to be used


6. Operate %26amp; Maintain (O%26amp;M) -- use the system and fix any problems.


No comments:

Post a Comment