Agile Mindset & Scrum &XP(英文版)
貌似是目前全網最詳細的哦~~~
STS are involved with Internet of Things (IoT) products
目前小型軟體產品更加受人青睞。Waterfall過程模型不適用於他們的許多未來專案。本報告將通過比較敏捷心態和瀑布流程來確定敏捷心態的優勢。軟體的規模越來越小,為了保持競爭優勢和適應市場,本報告調查了敏捷方法的情況,並基於Scrum和XP方法來描述如何根據專案選擇Scrum或者是XP準則。選擇後分析它的流程。
目錄
Agile processes
Executive summary
STS are involved with Internet of Things (IoT) products. However, small software products are currently more popular. The Waterfall process model is not suitable for many of their future projects. This report will determine the advantages of agile mindset by comparing agile mindset and waterfall process. The scale of software is getting smaller and smaller. In order to maintain a competitive advantage and adapt to the market, this report investigates the situation of agile methods. And based on Scrum and XP methods to describe how to choose Scrum or XP criteria according to the project. Analyze its process after selection.
1 Overview of Agile Mindset
Agile mindset is a human-centric and iterative and gradual development method. In agile mindset, the construction of a software project is divided into multiple sub-projects. During this process, the software is always in a usable state. Its core is rapid iteration and embrace change. Therefore, the agile mindset can actively accept changes in requirements, which makes the designed software flexible and expandable.
- Simple design, avoid over design.
- Repeat the iteration.
- Reduce unnecessary documents.
- The functions that customers care about most are completed first.
- Customers are required to have time to confirm the results of each iteration and put forward suggestions for improvement.
- Communication is very important. All developers should have the same understanding of project activities. Strengthen communication between teams and customers.
- Agile mindset cannot give a complete cost plan for the project at the beginning.
- It is not suitable to start iteration when there are technical problems that have not been resolved.
2 Comparison of the Agile mindset and the Waterfall process
WM: Waterfall Model development is an old and outdated method of computer software development. Waterfall development no longer has great demand. Waterfall is no longer suitable for many projects. The main features of waterfall development are as follows:
(1) Strictly define the inputs and outputs of each development stage.
(2) There is very little feedback between the various stages of the project.
(3) Only through documentation to understand the system in the early stage.
(4) Track each project phase through excessive mandatory completion dates and milestones.
(5) The outstanding disadvantage of the waterfall model is that it does not adapt to changes in user needs.
(6) Suitable for large-scale projects with relatively stable demand.
Compared with iterative development, both emphasize submitting software in a shorter development cycle. However, the cycle of agile development may be shorter. Agile methods are more accurate to say that agile methods emphasize adaptability rather than predictability. When the needs of the project change, the team should adapt quickly.
3 Description of Scrum process and XP methodology
Extreme Programming XP: Extreme Programming is a lightweight and smart software development method. XP is a near-spiral development method. It breaks down the complex development process into relatively simple small cycles. In this way, the development process can be adjusted in time according to the actual situation.
Scrum process: Scrum is a process skeleton that includes a series of practices and predefined roles. The main roles in Scrum include the Scrum supervisor role similar to the project manager responsible for maintaining processes and tasks. The product owner represents the interested owner. The development team includes all developers.
Conclusion
1 Guidelines for choosing Scrum or XP according to types of projects
Scrum highlights Self-Orgnization, XP focuses on strong engineering practice constraints
Enable Scrum in management mode, and in practice, create an XP suitable for your own project team (“start with Scrum and then invent your own version of XP.”)
Choose XP or Scrum based on project type
(1)Iteration cycle time requirement
XP’s iterative cycle is shorter, and Scrum’s iterative cycle is slightly longer.
(2) Confirm whether requirements need to be modified in each iteration cycle
In an iteration of XP, if a User Story has not been implemented, it can be replaced with another requirement. And Scrum does not allow any requirement to be added after the iteration meeting.
(3) In the iteration, whether User Story is implemented strictly according to the priority level
XP must comply with priority levels. But Scrum is very flexible at this point, and it can be done regardless of priority. The reason for Scrum to deal with this is: if the solver of the priority problem cannot claim the task due to the delay of other things, then the entire progress will be delayed.
2 XP engineering practice
1.Small Release
Each release version should be as small as possible. This way you can get more feedback. Customers can understand the progress of the project in real time, so that they can put forward more opinions to plan in the next iteration. In order to achieve higher customer satisfaction.
2. The Planning Game/Planning Strategy
The main idea of planning the game is to quickly develop a summary plan and gradually improve it. The scope of the system, the release time of the next iteration, and the priority of user stories should be determined by the customer. The development time required for each user story, the cost of different technologies, how to form the team, the risk of each user story, and the specific development sequence should be determined by the development team.
3. On-site Customer
In order to ensure that the development results are close to the customer’s expectations, XP methodology believes that the most important need is to invite customers to the development site. Therefore, it is very important for the XP project to have customers clarify user stories on site and make corresponding business decisions in the project.
4. Simple Design
The simple design of XP should not be done all at once before coding
5. Pair programming
All the software is completed by two programmers sitting side by side on the same machine.
6. Testing
Writing unit tests is a verification activity. Writing unit tests avoids a considerable number of feedback loops, especially in functional verification.
7.Refractoring
Refactoring is a way to improve the code without affecting the function implementation. XP requires developers to have the courage to refactor the code.
8. Continuous Integration
The meaning of continuous integration is to require the XP team to do code integration as many times as possible every day, each time after the unit test to ensure that the system runs. In this way, errors caused by refactoring and collective code ownership can be exposed and eliminated early. After one commits, everyone else is responsible for code integration.
9. Collective Code Ownership
Any pair of programmers can improve any code at any time.
10. Code Standards
XP methodology believes that having coding standards can prevent teams from arguing over details that are not related to the development schedule.
11. System Metaphor
It is the future image of the system, a global view that links the entire system together; it makes the location and appearance of all individual modules obvious and intuitive. refactoring, etc. to restrict team behavior.
3 Scrum process
- Determine a Product Backlog that is responsible for the Product Owner.
- The Scrum Team estimates and arranges the workload according to the Product Backlog list.
- Through the Sprint Planning Meeting, select a Story as the goal for this iteration. The time period of this goal is 1 to 4 weeks, and then refine the Story to form a Sprint Backlog.
- The Sprint Backlog is completed by the Scrum Team, and each member is refined into smaller tasks according to the Sprint Backlog.
- When the Scrum Team completes the Sprint Backlog selected in the planning meeting, a Daily Scrum Meeting is required.
- Achieve daily integration for testing, and release the version after successful testing.
- When Sprint Backlog is completed, every member of the Scrum Team must demonstrate to them the software product they have completed.
- The last is Sprint Retrospective Meeting. Everyone has to speak, summarize and discuss improvements, and put them into the next round of Sprint product requirements.
Reference
[1]Todd R Weiss. To Create an Agile Company, Find Workers with an Agile Mindset[J]. SQL Server Pro,2018.
[2]Svenja Hofert. Das agile Mindset[M].Springer Gabler, Wiesbaden:2018-01-01.
[3]Mali Senapathi,Meghann L. Drury-Grogan. Refining a model for sustained usage of agile methodologies[J]. The Journal of Systems & Software,2017,132.
[4]Stephen Denning. Agile’s ten implementation challenges[J]. Strategy & Leadership,2016,44(5).
標準報告格式文件詳見
點我點我