A lightweight Software Development Method Scrum is an agile development framework and an incremental and iterative development process. In this framework, the entire development cycle includes several small down generation cycles. Each small down generation cycle is called a sprint. The recommended length of each sprint is 2 to 4 weeks. In scrum, product backlog is used to manage product or project requirements. product backlog is a list of requirements sorted by business value. The list entries are usually in the form of user stories. The SCRUM development team always develops high value requirements for customers first. In each sprint, the scrum Development Team selects the most valuable requirements from the product backlog for development. The selected requirements in the sprint are analyzed, discussed, and estimated at the sprint planning meeting to obtain a sprint task list, which we call a sprint backlog. At the end of each iteration, the scrum team will deliver potentially deliverable product increments. A simple framework Scrum consists of three roles, six time boxes, and four artifacts: Three roles: 1. Product owner) 2. Scrum master 3. Scrum team Six time boxes: 1. Sprint 2. Release planning meeting) 3. Sprint planning meeting) 4. daily meeting (daily scrum meeting) 5. Sprint review meeting) 6. Sprint rollback spective MEETING)
Four artifacts 1. product backlog) 2. Release the burn-out chart (release burndown chart) 3. sprintbacklog (sprint backlog) 4. Sprint burndown chart) A time-tested Development ProcessScrum was first proposed by Jeff Sutherland in 1993. Ken schwaber made a formal scrum development process at the oopsla meeting in 1995 and announced it to the industry. Since then, scrum has become one of the leading agile development methods, and more than 500 companies in the world are currently using scrum. Scrum Theoretical Basis Scrum is based on empirical process control theory. It uses iterative and incremental methods to enhance product development predictability and control risks. The implementation of scrum experience process control theory is supported by three pillars: First, transparency) Transparency should ensure that all aspects that affect work outcomes in the production process are transparent to those who manage work outcomes. People who manage production results must not only be able to see these aspects of the process, but also understand what they see. That is to say, when a person is testing a process and is sure that a task has been completed, this completion must be equivalent to their definition of completion. Second: Inspection) All aspects of the development process must be tested frequently enough to ensure timely detection of major deviations in the process. When determining the inspection frequency, consider that the inspection will cause changes in all processes. When the specified inspection frequency exceeds the permitted level of the Process test, the problem may occur. Fortunately, this does not happen in software development. Another factor is to test the skill level and enthusiasm of the people who work as a result. Third: Adaptation) If the inspection personnel finds that one or more aspects of the process do not meet the acceptance criteria, and the final product is unqualified, the inspectors must adjust the process or materials. Adjustments must be implemented as soon as possible to reduce further deviations. In scrum, three activities are used for testing and adaptation: the daily site is used to test the progress of the work to complete the sprint goal and adjust to optimize the value of the next day. In addition, sprint review and planning meetings are used to test the progress of the release target and adjust it to optimize the value of the next sprint. Finally, the sprint Review Meeting is used to review the completed sprint and determine what improvements can make the next sprint more efficient, satisfying, and happy. Features of scrum
- Scrum defines a very simple development process.
- Scrum is a summary of the existing design process.
- Based on teams, scrum is a way to develop systems and products iteratively and incrementally when demand changes rapidly.
- Scrum is a process that controls chaos caused by conflicts of interests and needs.
- Scrum is a way to improve communication and optimize cooperation.
- Scrum is a way to detect and remove barriers in product development and production.
- Scrum is a way to maximize productivity.
- Scrum applies to a single project to the entire organization. Scrum can control and organize multiple associated product development and project implementation processes with more than 1 thousand developers and executors.
- Scrum makes every participant proud of what they do and their contributions, and brings them to the optimal level.
Advantages of scrum over traditional development models
A notable feature of the scrum model is its ability to respond to changes as quickly as possible. The following figure uses a traditional software development model (waterfall model, spiral model, or iterative model ). As the complexity of system factors (internal and external factors) increases, the possibility of project success rapidly decreases.
It is a comparison between the scrum model and the traditional model:
Related reading: Roles and responsibilities of scrum Six time boxes of scrum Four artifacts of scrum Scrum term dictionary
|