Compare agile project management framework: Scrum method Kanban method vs vs vs Lean Development Extreme Programming

In this article, we'll explain the four most popular method to achieve agile development framework, and to enumerate their advantages and disadvantages.

If you just stepped into the world of agile development may be just beginning to engage in the halo off method that method. That's because the agile development are just some concise summary of the guidelines, there is no need to explain clearly how to fall one hundred twenty-three step to achieve.

Therefore, people have come up real knowledge from practice, it is derived from a variety of methods to achieve agility. Among them, undoubtedly the most well-known method Scrum, Kanban method, lean development and extreme programming.

Although the purpose of this paper is to compare four methods described above, but if seriously to analyze their differences, the actual feeling like different than what you want to compare apples and oranges. Some of that is because they are derived from another method or another method is to add nothing (especially when these methods are applied in the development of different aspects of the cycle, the more difficult to compare the differences between them)

A, Scrum method

Scrum method can be called agile software development in the implementation of the framework. Not long ago, I met would tell them when their own colleagues for a job I'm doing my new job agile development. The first reaction will ask my colleagues, "Yeah, it is not that you will stand will be open every day, every day there is not the outcome of it was delivered it?" In the eyes of most people, Scrum method of agile development is synonymous.

First, of course, Scrum method is a theoretical framework on the management. It deals with a software developer who did not knock when the code should all do for you. Scrum method explicitly provides for a model, according to this model, software developers can arrange their development plans, and continue to update this iteration plan, review what happened before and the timing of the analysis of the development process.

It contains a called Scrum Master role, as the character of people want to focus on the progress of the project control and do everything possible to assist programmers to develop work in this framework.

Practical operation method

Scrum product, each stage of transmission of information used are:

  • 1, User Story (user stories). User story is set forth in a small function point, team members work to complete the development of this function in a specific period of time, but this particular period of time, known as a sprint plan. The format is usually user stories as a .... (User roles), I want to ... .. (this kind of software should realize the function), so I can ...... (how to, and ultimately a real business in effect). Each user story should have ended the outcome of a matter to be delivered, this will be the outcome was first used to determine whether the user story is complete and accurate expression of the actual needs of customers.
  • 2, Task (task). Tasks can be linked with the user story, of course, can not associate. For example, to take on a new set of computer development environment, or to study the machine's memory, cpu matters, these tasks are not necessary something to do with the user story.
  • 3, Backlog (list). Better a list of plans for future sprint user stories and tasks is Backlog.
  • 4, Sprint backlog (sprint list). Backlog drawn from several user stories and tasks for this sprint program (or called-do) set list synthesis.
  • 5, Product increment (iteration outcomes). The results may be delivered after each sprint plan formation.
  • 6, Extensions (document table). FIG burn like a flowchart or the like for the team to control the flow of documents.

What role

  • 1, Development Team. (Members of the development group) is included in this group test, front-end development, requirements analyst, and so all staff iterative development process needs. Members of Scrum basically controlled at 3-9. If you say that people limit expansion more than 9 people, we need to team into two.
  • 2, Scrum Master (Agile expert), SM need to be hosted daily station, as well as planning meetings before development, the development process of combing the meeting, the meeting reviewed the development, there is a heavy responsibility is to help team members we address all matters related to communication. SM is not a member of the development team, so teams can share a more agile Scrum Master at the same time.
  • 3, Product Owner (Product Manager), the customer's position, with the customer's perspective (this perspective may be closer to reality to write user stories) to help agile teams develop, PO work also includes assessing user priorities story after each impact and plans to complete the assessment of deliverables were to meet the requirements.

Point value:

  • 1, specifically targeted (complete each sprint plan)
  • 2, courage (dare we agreed to do the right decision)
  • 3, attentiveness (each iteration only a matter of focus)
  • 4, open (to face a variety of challenges)
  • 5, mutual trust (trust each have exhausted their best efforts to do things)

Second, the Kanban method

Kanban method is called by a Toyota engineer Taiichi Ohno created the (Translator's Note: the father of modern software Kanban is David J. Anderson). In the late 1940s, Toyota dealers have witnessed how to arrange a large supermarket warehouse inventory based on the proportion of goods supply and marketing data store. This makes Toyota began efforts to build a supply chain system to store and supply arrangements to assess the life cycle according to automobile parts in losses.

A method of inhibiting the gist kanban excess supply. Kanban method by means of Kanban cards Kanban these visual and physical, will showcase the relationship between the flow of goods out of the product cycle. Such visual management to maximize help people see the operation of the entire process, assist the management to develop timely and accurate supply plans.

Kanban method also introduces a "pull" concept, compared to the traditional "push" concept, so that the workers on the assembly line holding a fixed salary to employees Forced labor or to complete a series of to-do, "pull" can be reflected in the who the more you work, hard work.

In software development. Kanban method means that many agency matters, while there is only a matter of a process. In other words, on a Kanban team of "progress" in this column, the number of Kanban cards posted are capped. This will increase the focus of the team, while also reducing the barriers we communicate with each other.

Another Kanban method is the essence of strong user demand-oriented, and to continuously communicate with customers. Until the true sense of the benefits for the end customers, it is considered in the development cycle.

Criterion

  • 1, focus: reduce at the same time involved in processing a number of things.
  • 2, reduce waste.
  • 3, customer needs first. (In other words, to ensure that the user's return on investment income)

practice

  • 1, visualized
  • 2, in the process to control work
  • 3. Process Management (mainly management issues in the workflow or workflow)
  • 4, to ensure that standards of clarity
  • 5, the use of user feedback mechanism
  • 6, experimental optimization iteration

The main difference between Kanban and Scrum method model is

  • Kanban process is continuous and uninterrupted Scrum is a process to achieve repeated iterations
  • Kanban method is more suitable for those who need to deal with a lot of uncertainty in the development cycle work team (after-sales support, deal with emergencies, sudden important requests, etc.)

Thus, unlike ** Scrum have to wait for the end of an iteration **, Kanban method support issues appeared to begin to work, and even arrange the priority task of this step are dispensed with.

Third, Lean Software Development

To better help you understand the gist of this paragraph, the best way is to introduce the story of Lean development of founder Mary Poppendieck. In the 1980s, he Marry found himself faced a dilemma.

She was in a production of large factories videotape of office IT department heads, then this factory travel schedule or use that time to make the popular MRP. Factory living environment in a very dangerous situation, because of their Japanese competitors are producing higher quality video, this video shows more smoothly and the price is cheaper.

This forces Marry consider their competitors 'JIT' strategy. So she have read was translated into English in a very bad Toyota executive to write a book, we begin to put into action. As a result, it has brought almost immediate changes in the plant weekly production plan to increase from 60% to 95%.

The great success of this plant along with her benefit, but also laid the foundation for her future with her husband Tom Poppendieck written Lean software development process. Lean development from many places borrowed Kanban method, you find a lot of similarities between the two from.

Just the same way as Kanban, Lean attention to reducing waste and the pursuit of maximizing the interests of customers. Waste may be reflected in the creation of the wrong role, the project appears gap period, multi-task at the same time, constantly switching matters, a waste of time to do those things that will never be adopted to enable or never again.

Lean Development also inherited the "pull" concept from billboards there is to trust your colleagues exhausted their best to complete the work (mutual respect with Scrum is a reason).

As for differences, different from the Kanban method, there are some requirements lean development engineer specific action guidelines (such as TDD guidelines) behavior. At the same time, lean development is not so strictly control the delivery time, the team can deliver the product at any time in case everything ready.

When the minimum deliverable product is delivered as quickly as possible your product, this point in time is usually in the form of any document is not: There are other concepts with lean development are closely related, such as. For example, the concept of fast and also failed to reach a binding agreement as late as possible (such as deciding the main business and the like)

Four, XP Extreme Programming

Extreme Programming is an experimental evolution initiated by Kent Beck to come, when the Kent Beck worked at Chrysler. The original intention of this experiment is to explore the use of extreme programming strategies what will happen in extreme cases. For example, to replace a conventional pair programming code review, code review of technical aspects of course is not omitted. Gradually, as more and more companies are adopting extreme programming, some of cured rigid rules also began to be ignored omitted, such as the daily integration testing.

Today, Extreme Programming agile frameworks are those by other teams in their respective kneading and framework to maximize the development potential team members to explore.

There is also a need to correct misconceptions, not just XP pair programming. It's just extreme programming a wide variety of practical operation of the process one only, while Extreme Programming also provides a system for the inference process management.

Also it should be noted that, in theory, all the practical operation of Extreme Programming should also be used in combination, or all in vain. But also because of this, critics are so comment Extreme Programming, "like two poisonous snakes around in a circle devouring each other's tail" or "is a house of cards," as long as any of the details of the error will affect global success or failure.

Extreme Programming in business managers also been criticized. For example, limit the time required to compile communicate with customers, but in practice, customers often visit will always make people feel is a series of pressure. At the same time, do not pay attention to the formation and development documentation requirements document but rather sometimes inefficient.

Point value: Extreme Programming and Scrum have a lot of relevance, as follows:

 

And Kanban methods as lean development, extreme programming are pursuing to reduce waste, now focused on the development of the code rather than considering the plans for tomorrow or next month arrangements and so on. This mechanism is called "YAGNI" method (you did not need the stuff). Of course, they have more in common is emphasized with the customer to come together together to complete.

Practical operation method

  • 1, the game plan
  • 2, the test-driven development (the first to write unit tests)
  • 3, pair programming
  • 4, to form a team (to use real people's opinions of customers and software feedback)
  • 5, Continuous Integration
  • 6, reconfigurable systems-level improvements
  • 7, the minimum deliverables
  • 8, coding standards
  • 9, the code for safekeeping
  • 10, streamlined design
  • 11, using the system alias (with all the rules of mutual understanding to developers, customers, and the rest of the personnel named)
  • 12, pay attention step by step (do not encourage overtime)

Summarize this article, I try to elaborate four agile frame (Scrum, Kanban, Lean, and XP) differences. Speaking as the article begins, the actual work can not only use a particular framework, the team will have mixed with the practical operation of the frame means four kinds of applications to the respective work processes.

Guess you like

Origin blog.csdn.net/belalds/article/details/93472674