The software development process

Ever wondered how the software which you are using on a daily basis (be it at work or at home) is coming into existence? Here is one answer (steps 1 to 10):
- Order the T-shirts for the development team.
- Announce availability.
- Write the code.
- Write the manual.
- Hire a Product Manager.
- Spec the software (writing the specs after the code helps to ensure that the software meets the specifications).
- Ship.
- Test (the customers are a big help here).
- Identify bugs as potential enhancements.
- Announce the upgrade program.