The topic, Software Development Life Cycle, seems kind of a no-brainer, right? Well honestly, it is. But you’d be surprised how many freelance developers try to hop in without a plan, without a process, without checks-n-balances. Let’s define and explore.
My version of the software development life cycle is a framework which defines tasks at each point in development from planning through development/testing and into implementation. The framework ensures quality software going into production and a process to handle issues along the way.
Planning. This is where the project management team leads the pack with requirements gathering from the business unit(s), requirements analysis and prioritization, and scope documentation.
Development. Obviously, the software engineers and user interface developers play the major role here.
Testing. The development team will initiate this activity with their internal testing before turning the software over to the test engineers. Documentation of this process is very important to identifying, correcting, and retesting bugs and defects.
Documentation. Throughout the process, documentation is very important. As each team takes the lead on efforts, documentation of the plan and each team’s detailed activities become part of the permanent software package.
Deployment. After development, after testing, after plan review, after business unit release approval, deployment is initiated. We are in go-live mode.
Maintenance. Ongoing software maintenance is a necessity, no matter how thorough the plan is executed. Oversight after go-live will include bug identification, managing upgrade requests, and developing an additional plan of execution.
I will address Agile Software Development in a later article, but know that I 100% endorse this method of development.