Software Life Cycle
- A standard software life cycle is that a piece of software is:
- Designed
- Implmented
- Tested
- and then the process is repeated.
- It's not a bad approximation to the way things are frequently done.
- When I was in University we learned a lot about implementation
- and a little about design,
- and that there was white box and black box testing.
- Then I went to work at Microsoft and spent most of my time fixing
other people's bugs.
- For real industrial products, you need to get the number of bugs down,
and keep them minor.
- There is a lot of evidence that any software of any size has a lot of
bugs in it.
- As it is modified, it accumulates errors.
- Eventually, code becomes unmaintainable.
- It helps to start with good (relatively unbuggy maintainable code),
and to really work on finding and removing bugs and making sure they
stay removed.