SDLC done right can allow the highest level of management control and documentation. Developers understand what they should build and why. All parties agree on the goal up front and see a clear plan for arriving at that goal. Everyone understands the costs and resources required.
Software development process is the process of dividing software development work into distinct stages to improve management and final product.
- Requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a product.
- Design phase starts by turning the software specifications into architecture solution.
- Construction stage develops the software by generating all the actual code.
- In testing stage, we test for defects and deficiencies. Fix those issues until the product meets the original specifications.
Software development methodology is a framework that is used to structure, plan, and control the process of developing software application. The two basic, most popular methodologies are:
- Waterfall is a linear approach to software development.
- Agile is an iterative, team-based approach to development.
Also, there are several more models, e.g. iterative, v-shaped, big bang, spiral and etc.
https://stackify.com/what-is-sdlc/
https://agilewheel.com/2016/09/27/agile-vs-waterfall-which-one-to-use-and-for-what-projects/
http://www.itinfo.am/eng/software-development-methodologies/
The responsibilities of the people involved in the process.
Subject Matter Expert
orDomain Expert
is a person who has superior (expert) knowledge of the entire business area.Product Owner
is a person who represents the business or end-users and is responsible for working with the user group to determine what features will be in the product release.Project Manager
is responsible for knowing the "who, what, where, when and why" of the software project.Solution Architect
is a person who translates the business requirements into a technical solution.Development Lead
is a person who leads the team that actually builds it.Developer
(backend or frontend) is a person who is responsible for building particular subsystems, modules or features a development product.Quality Assurance
is a presong who ensures that the software solution meets the business requirements and that it is free of bugs, errors and defects.
Colors:
- #007fff
- #808080 / #A6A6A6
- #ff7f00
Images: