The SCRUM method was proposed by Ken schwaber and Jeff Sutherland to seek development methods that give full play to object-oriented and component technologies. It is an improvement to iterative object-oriented methods, the name is from rugby (in the game, each player should always make a global judgment on the field, and then strive to achieve the same goal through collective action-victory ). The SCRUM method was originally developed by Easel (1993) and has been used by hundreds of projects in dozens of companies. It is suitable for the development of complex business application products with unpredictable requirements. The SCRUM meeting, sprint, backlog, scrum master, scrum team, and demo models proposed by scrum have been set by plop as the criteria for organization and process pattern.
Scrum applies the concept of industrial process control to software development, and thinks that the software development process is more an empirical process than a defined process ). A Deterministic process is a descriptive and predictable process. It can be executed repeatedly and produce expected results, and can be optimized through scientific theories. The empirical process is opposite. It should be processed as a black box. The input and output of the black box are constantly measured. On this basis, the Black Box is adjusted based on empirical judgment, make it less out of the set boundary to produce satisfactory output. The SCRUM method regards the analysis, design, and implementation in traditional development as a black box, and thinks that the chaos inside the black box should be strengthened so that the project team can work on the edge of chaos and give full play to people's creativity. If the empirical process is processed according to the deterministic process (such as the waterfall model), the process will inevitably lack adaptability.
Scrum method development process
The SCRUM method consists of three processes:
1. Planning and Architecture Design (deterministic process)
Integrate the backlog (a series of tasks to be completed urgently, including unrefined product functional requirements, bugs, defects, user-proposed improvements, competitive features and technical upgrades) A backlog list is generated by priority, and a product delivery baseline is developed based on the table and risk assessment.
Establish a system architecture (for example, to improve an existing system, perform only limited Analysis and Adjustment). Based on the principle of high cohesion and low coupling, the backlog items are divided into a series of problem packages (packets, each packet is a collection of objects or components. Several development groups (scrum groups) are divided based on the same principle and appropriate backlog items or problem packages are allocated to each group. Create a development and running environment.
2. Sprint (empirical process)
This process consists of several iterative sprint activities until the risk assessment considers the product deliverable. A sprint is within a limited period of time (the sprint cycle is usually 1 ~ A series of development activities (including analysis, design, coding, testing, etc.) that can be adjusted at the end of the previous sprint in six weeks ), each scrum team is developed in parallel and must be consistent in steps (after a sprint ends, all allocated backlog items must be completed with executable output ).
Each sprint contains the following activities:
(1) development. Analyze the assigned backlog, map the required changes (CHANGES) to each packets, open packets, perform domain analysis, and design, develop, implement, test, and document the changes.
(2) package (WRAP ). Encapsulate packets to generate an executable version that meets the backlog requirements.
(3) review ). All scrum teams have a meeting, submit their respective work and demo, then propose and solve the problem (Issue) and problem, and add new backlog items; release, review or adjust product standards and specifications; conduct risk assessment and propose appropriate countermeasures; determine the work content and end time of the next sprint.
(4) Adjustment (adjust ). Adjust and consolidate the affected packages according to the information collected by the review.
4. Delivery and consolidation (deterministic process)
This phase is entered once the product is considered deliverable based on the risk assessment results. Activities in this phase include Assembly, system testing, and regression, preparation of training materials, and completion of final documents.
The SCRUM process assumes that the development of a product will continue unless it is deemed that it should be stopped after risk assessment. After the product is delivered, the consolidation activities are similar to the maintenance and improvement in the traditional method. The purpose is to sort out the work neglected under the pressure of the sprint, and prepare for the development of the next stage, so that it can be easily loaded.
Scrum Process Management
1. Scrum control means
Scrum proposed eight controls for the control of the development process. Risk Control is the primary means.
Backlog.
Object/component.
Packets.
Change (changes ). Changes to the corresponding packet when a backlog entry is implemented.
Problems ). Technical difficulties that must be addressed when a change is implemented.
Problem (issues ). Issues that need to be resolved before the entire project or the backlog item is decomposed into packet.
Solution ). Solving problems or difficulties usually leads to changes.
Risk ). Risks that affect project success should be tracked and evaluated continuously and adjusted accordingly. The risk assessment results will affect all other controls. Scrum defines six conceptual variables for Risk Assessment: user needs, time pressure, competition, quality, vision and available resources.
These controls are used for evaluation and trade-offs at all stages of scrum, with managers focusing on managing backlogs and developers dealing with changes and difficulties. All personnel manage problems, risks, and measures together.
Based on the continuous measurement and evaluation of control items, especially risks, on the one hand, the plan and progress (at the end of each Sprint) are constantly adjusted to ensure the business goals of the product; on the other hand, the backlog of development tasks is dynamically sorted by priority. The development team always first develops the backlog item with the highest priority, which ensures the most reasonable use of resources. In addition, scrum emphasizes the importance of measurement (using a standard functional point measurement method). By measuring the productivity in each sprint, the plan and progress will become more and more accurate.
2. Project Organization
The project team consists of full-time developers, marketing personnel, sales personnel, and users related to the delivered product. Set up the following groups:
(1) Project Management Group. Led by the product manager, including the chief designer, scrum team lead, marketing and sales staff and typical users.
(2) Several scrum groups. The teams are headed by the team lead (scrum master. Each group is cross-disciplinary (usually including developers, document personnel, quality control personnel or user representatives), usually 3 ~ 7 members for full communication within the group. The division of groups is preferably functional-oriented (based on the Assigned Problem package or backlog), but also system-level-oriented (based on the hierarchy in the architecture )..
When the number of project teams increases, you can create another Management Group (Scrum of scrum) on top of the Management Group to apply the scrum method to large projects.
3. Control During the sprint
During the sprint, scrum teams should try to avoid external interference (new backlog tasks cannot be added, and the backlogs generated in the group can be placed in the backlog list of the entire project, can also be solved in this Sprint), so that the team members concentrate on the current work, so that they work on the edge of chaos.
To prevent the project team from getting into chaos during the sprint, scrum takes two measures:
(1) scrum meeting ). Monitor and stimulate group behaviors. The meeting is held in the same place every day during the sprint and is hosted by the scrum master. At the meeting, the scrum master raised three questions for each group member:
How did yesterday's work go.
Have you encountered any difficulties or obstacles.
Today's work plan.
After the meeting, the scrum master will focus on removing obstacles, and the team members will carry out the development on that day.
(2) sprint review meeting. After the review, employees are encouraged based on their work scores.
Practical Effects and development directions of scrum Methods
Scrum has greatly increased productivity in practice (six times higher, according to capers Jones of the software productivity Organization) and there is a "Intermittent balance" in implementation (punctuated equilibrium) phenomenon (similar to the evolution of things in nature, mutates at the Interchange after a relatively balanced period of independent and parallel development), that is, after intense and parallel sprint development, during the sprint review, software products were greatly changed. The recent trend of the scrum method is to learn from the XP method.
1