Software Development Life-cycle

The Software Development Life-cycle (SDLC) is a structured sequence of stages in software engineering that are followed in order to complete the desired software. A similar kind of system can also be applied to hardware configurations and processes. An example of a SDLC is Scrum, which I have previously written about, however there exist a gazillion other methods that are used, although some more popular than others.

Making software is like creating a new magic spell:

  • Preliminary Analysis: An analysis is made to see wether the preview of the proposed solution is viable, also looking at the possiblity of a different but equally feasable solution.
  • Systems Analysis: On this step the accepted idea is described, taking into account the organizational goals, facts and problems that could come up with the development. Suggestions to improve the proposed system are also made and included into the project if found useful.
  • Systems Design: The idea is now given shape, describing it in more deeply,  with layouts, diagrams and pseudocode , along with the business implications.
  • Development: Programming magic is done here.
  • Integration and testing: The magic is now brought into an enclosed space where it can be tested without harming anyone, looking for any mistakes that could break the space-time or something like that and fixing them.
  • Acceptance, installation and deployment: This is the final stage of developing your spell, where you teach other people (the organization’s system) the magic and they get to use it.
  • Maintenance: There is always room for improvement, specially with magic, you must keep your software up to date so it doesn’t become obsolete. On this step you can make changes to your initial software.
  • Evaluation: On this step, both the whole process of creating the system that was put in place and the system itself are evaluated in order
    improve future projects.
  • Disposal: On this step, old crap is replaced by the new  shiny stuff.