Friday, March 16, 2012

Software Development Life Cycle

When it comes to Software Development, we all know there is no one size fit all solution. Adopting a process that includes requirement analysis and design of some sort as well as unit tests not only produces a better product, it gives you an adequate (for your shop) level of documentation in the form of User Stories, TDD Unit Tests or a Requirements Doc for example. You may ask, why do I need documentation? Consider the case of an employee that leaves unexpectedly. All this employee leaves behind is code (maybe even well documented code), however, there is a lot of knowledge that is taken in the brain by that employee. This knowledge and subject matter expertise in the context of your products or services is imperative to your current business model, IMO, and we must try to retain as much as possible. Thinking about a design and filling the gap between what the customer wants and what we can offer and documenting that, some way, is what requirement gathering and design stage is all about and fulfills the documentation requirement. The point is we can be agile all we want, but we have to document our work.

Consider the following Software Development Life Cycle diagram with which TDD, as well as any other software development methodology, I contend, can be used.

Fig 1 - SDLC should accomodate any development methodology

As you can see from the diagram above, there are distinct phases that have been defined. The actual design and coding of the software, if following this process, can be executed using any method chosen by the developers. What matters is that we get unit tested code ready for integration.

Your thoughts and comments are welcomed.


  1. Software Development life cycle is the process which is followed to develop a software product. It is a structured way of building software applications. Most organizations have a process in place for developing software; this process may, at times, be customized based on the organizations requirement and framework followed by organization.

  2. This comment has been removed by a blog administrator.


Creative Commons License
VGP-Miami Web and Mobile Automation Blog by Alfred Vega is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.