TMT: Software Development Life Cycle
This is an installment of Ten Minute Tech; where I pick a technology related subject and then write a paragraph or two about what I know. I then pick and read a reference article related to the subject and then write another paragraph or two about what I learned. This edition’s topic is about the Software Development Life Cycle.
Before
I have been reading up on software development methodologies lately because I am currently in the process of redeveloping our companies policies when it comes to planning and executing development projects for our clients. This was also one of the topics I covered in the seminar I gave at Tri-C last fall.
The Software Development Life Cycle is an abstract model of the process of developing a piece of software. That is to say it defines that actual steps a person or group should take when developing a new software application. It lays out a set of steps (usually five to seven) that take the software project from research to coding and then implementation and maintenance. There are many varied methodologies and subprocesses involved under each step; some of which are based on strict standards while others are more abstract.
The steps vary depending what your reference is, but they generally include:
- define requirements
- analyze and model
- code
- implement and test
- maintain
Article: Software Development Life Cycle
After
This article lays out the steps a little different than I am used to, but the overall flow fundamentally achieves the same idea (plan, code, implement, test, maintain). It also goes into the details on how this model is actually applied. Overall it is a well written article but it could use some better referencing throughout.
Of the handful of process models they discuss, I would say I am most familiar with what would be considered the iterative or agile process. This is because I develop mostly in a corporate environment where clients want to see tangible results (which requires coding) even before they are able to define all of the requirements for us.