Project creation can be stressful, especially when creating something completely new. When creating a project that is software-based, there is a specific process that is created to aid the production of said project. This is called the Software Development Lifecycle. By formal definition, the Software Development Life Cycle is a detailed plan describing how to develop, maintain and replace a specific software. Colloquially, it is a 6-step process that a dedicated software development project should go through to reach completion in a reliable way.
The phases are:
- Planning- The initial discussion of the scope and the stakeholders
- This phase holds definitions and constraints of the project
- This phase also holds the loose idea of the project’s purpose and usage
- This step includes industry and company analysis that sets the needed background on why and how this product will created and used
- Analysis- The phase in which developers and managers assess the requirements and put together a detailed plan of “attack”
- Detail oriented phase
- Focuses on figuring out the technical details
- These are figured out by the phrase: “Because I want it to do [this], it needs to include [this]”
- A Software Requirement Specification document is created, which outlines all the aspects that the software should have, and then is used to design the rest of the project
- Design- Based on this plan, a design (architecture and appearances) is generated and detailed
- Where the design of the program is created, and the appearance is decided upon
- Architecture is decided- cloud based, hosting, and security
- Implementation and Creation- The actual building of the software and execution of the plan
- Needs to be compliant with the Coding Standards Doc. Not sure how to create one of these documents? Check out our blog post about it here: (link)
- Testing- Running the software to inspect if it meets all the requirements detailed in the first two steps
- Should make sure the program runs without trouble, meets the requirements, and is tested by those that worked on the project, and other stakeholders
- Different Types of Testing methods
- Deployment and Maintenance- The program gets used and the needed updates are tracked and implemented
- A Maintainer’s guide is needed that explains the process decided upon by the developers
- This is to ensure that there is the ability that someone new can upkeep the program just in case all the original developers leave
- Things will need to be changed and updated, so pre-planning for this is key for project longevity
Applying this lifecycle can ensure an organized and well-developed project plan, but based on individual application of the life cycle, there are several variants that can be used! Whatever the company and whatever the project, there is a software development lifecycle to help!
Comments (2)