The Software Lifecycle

As everything in this planet, software also has a certain lifecycle. It is commonly composed of five main stages. Each of the stages has an specific purpose. There are several diagrams of the software lifecycle, most of them have more than five stages. But the way they are categorized, results in the five main categories. Which are the following:

  • Analysis of requirements:
    • This phase involves the relation between the development team and the customer. During this phase the project team builds a quick draft according to the customers’ needs.
  • Design
    • During this stage of the cycle, the project team is in charge of establishing requirements, protocols and more technical stuff. It also involves the planning of the following stages troughout a timeline based on customers’ requirement.
  • Implementation
    • This is where most of the projects takes place. Troughout this stage, the software is being built and, sometimes, shown to the customers in order to show progress and also to check that everything is in order.
  • Testing
    • When implementation is finished, tests must be held in order to check that it complies with every initial requirement. During these period, there are two main testing stages, alpha and beta testing.
      During alpha testing, the software is only deployed locally with the dev-team. Once the software finishes with the alpha testing, it proceeds to beta testing. The latter involves a public distribution of the software, during these tests, the release is much more stable, but it is intended to obtain more feedback about bugs, and overall performance.
  • Evolution
    • In this last stage, the software is updated with new features or bug removals. This evolution must be in accordance the different growing requirements of the customer.

It is really important that these five steps are repeated the way a cycle does. Every evolution or a new

sdlc-gone-wrong
must go all the way around the cycle. There is always something to change or update.

sdlc-gone-wrong