
The software development lifecycle is a simple one, described in part by a number of books on Extreme Programming. It consists of an iterative release process, small cycles, lots of testing up front, and much more. Since many other people have done such a better job describing this, I'm simply going to refer to this Process Diagram with good documentation.