Two concepts about agile development: scrum/XP

Source: Internet
Author: User

Scrum 
Scrum is a framework for agile development. It refers to the role, activities, and outputs that need to be involved in an agile development process.
There are three roles:

  • Team leader: As a customer representative, determines the product direction and vision, defines the content, priority, and delivery time of the product release, and is responsible for the product ROI. Without Ba, you can act as a BA to avoid the waste caused by excessive production and rework due to demand issues.
  • Scrum master: mainly responsible for removing team barriers. I think he can develop public components to solve complicated problems and avoid unnecessary actions. Through the establishment of communication mechanisms, the development process avoids waste caused by improper processes. By coordinating the development plan, we can avoid the waste caused by waiting.
  • Team: a complete software development team should include sales, pre-sales, users, R & D, testing, after-sales and other related personnel, because any role may lead to software development failure. The most important thing for the team is to strengthen communication so that information can be accurately transmitted to everyone in the team.


I think the core of scrum is to continuously improve through agile review to eliminate waste. Because there are a lot of small problems encountered in software development, resulting in a lot of waste, so we must review agile and constantly summarize the habits and problems encountered by the team, solve these problems in the next iteration of development.

XP 
XP is a good practice for agile development.

  • User story: describe business requirements from the user's perspective and application scenarios. The format is as... I can... to facilitate... for example, as a network administrator, I can check the CPU utilization of each device in real time so that I can detect faulty devices in real time.
  • TDD: Test-driven development. By first writing test code and then writing program code, we can clarify coding ideas and write effective code. The reason for effective code is that sometimes the writing method is used, you will find that no other method will call it, such as extra modifiers (getter) and accessors (setter ). I strongly recommend that you use TDD for business service layer code development.
  • Continuous integration: continuous integration of versions through automated build tools (CC) to quickly feedback integration issues.
  • Pair Programming: two programmers use one computer for programming. One person is responsible for coding, the other is responsible for thinking, and the students who need to pair before writing express their own programming ideas, so as to spread the excellent habits of every programmer to the entire team, but unfortunately, Pair programming has a high requirement on programmers. It is better that two programmers have a certain level of ability, and the ability is similar, if a competent programmer and a low-performing programmer pair, the efficiency may be very low.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.