Home

Thursday, July 7, 2016

Chapter: Software Development Lifecycle

Let me start by explaining the Software development cycle. It involves four phases that help create a software application. These phases can further broken down but on a higher level they can be classified into the following:
  1.  Requirements gathering
  2.  Development
  3. Testing
  4. Deployment
Requirements GatheringAny information about a software application can be called as requirements. Requirement gathering involves collecting information about the software that is going to be built from the person who requested for it or needs it. Sometimes it is not even a person who gives you this information. These requirements can be functional, visual, technical, etc. It might just be defined as a functionality that the software, for example, create a login functionality with username and password.

Requirements can very extremely high-level like our example or could be detailed if you are lucky. In either case, it’s up to the people involved to understand the needs and provide viable solutions.       

These requirements are usually in layman’s language and now need to be converted into functional specs. This makes the development process smoother. So what are functional specs exactly? In our example, to create a login functionality, a functional spec gives you details about what should happen when an incorrect password in submitted or what happens when a username is not entered or what are acceptable values in these fields or default values, if any. Functional specs give you specific details related to all the components of the software application being developed.

Once all the requirements are gathered and converted into functional specs, they can be handed over to the development phase.

Development – Once the requirements and functional specs are handed over, the development of the application begins. Functional specs gives the developers a detailed description of all the functional components of the application. The development can be done as a whole or modular, if the application is too large.

Testing – The development phase is followed by the testing phase. This is where all the developed application components are tested to verify functionality against the requirements or functional specs. The testing can be modular or as a whole as well depending on the development process.

Any functionality that does not reflect the requirements or functional specs is an error. This error may be termed as a bug, ticket, issue, defects, etc. Each organization may have its own terminology. Any error reported in the testing phase have to be fixed/resolved before the application can be deployed.

Deployment – The actual process of releasing the software to the users is called as deployment. Once the testing has been completed, the application is ready for deployment. Deployment involves extensive planning and well-timed sequential execution of elements. A deployment plan is prepared which details the various steps involved in the deployment with specific responsibilities assigned. It also consists of contingency plans, in case of a deployment error. 

No comments:

Post a Comment