/Software-Construction

Repository for Software Construction group

Primary LanguagePython

Software-Construction

Repository for Software Construction group

WHAT IS SOFTWARE DEVELOPMENT LIFECYCLE Software development lifecycle (SDLC) is the cost-effective and time-efficient process that development teams use to design and build high-quality software or process used by the software industry to design, develop, and test high-quality software.

IMPORTANCE One could ask why is this Software Development Lifecycle important, well some of the benefits of the Software Development Lifecycle include;

  1. Increased visibility of the development process for all stakeholders involved
  2. Efficient estimation, planning, and scheduling
  3. Improved risk management and cost estimation
  4. Systematic software delivery and better customer satisfaction

The software development lifecycle (SDLC) has these stages which include;

  1. Planning and Analysis. This stage involves tasks like cost-benefit analysis, scheduling, resource estimation, and allocation whereby the team collects information regarding customers, internal or external experts, and managers to create the software.

  2. Design. Regarding this stage, the team will analyze requirements and identify the best solution to create the software for example which tools can serve this particular purpose.

  3. Implementation. Now, the team gets to work in terms of coding, bringing the idea to life and teams normally break the idea into smaller coding tasks that can help achieve the goal long term.

  4. Testing and Integration. The software undergoes a series of automation or manual testing for bugs, loopholes, errors, etc checking if it meets customer requirements.

  5. Deploy. The software developed by the team can have different versions than the one users have access to hence making it easy for the teams to make changes and upgrades that can be pushed to the version the users are using

  6. Maintain. Here, the team fixes bugs, resolves customer issues, manages software changes, etc and also the team monitors overall system performance, security, and user experience as they are improving the software.