When a real master tells us a profound theory, it often makes you feel that he is telling you a theory, more like telling a story.
When I was in college, I met a professor who talked about political economics. At that time, when I heard about his courses, I was so fascinated that I had to take a seat.
After work, I read "Deadline", and once again this resonance occurs. A few years ago, after reading the TOC series, I never found such a master.
This happened today.Scrum conversation SeriesThis article introduces a popular project management method in Microsoft software development through dialog. Lucky! Finally, I met another master!
--- Agile genie
Martie: Fight for the ball? You mean you want usDevelopmentDo team members conflict with each other in the corridor?
Meifen; "winning (Scrum) "Is a conformityAgilityAgile Project Management in development mode. Her basic process is to first create a product "order" (backlog), make a "sprint" plan, execute it, hold a meeting every day to discuss it, and regularly demonstrate the work results, review the previous stage of work, and then repeat the aboveProcess.
Mary has been thinking about howAgilityThe development principles are applied to the entire project plan.
Mary: We talked about it last time.AgilityDevelopment, this time I tried to apply her to manage a project. We once talked about using test-driven developmentDevelopmentMode, but the entireProjectWhat should I do? What are the project plans?AgilityMethod?
Mefen: Yes, actually, there is a very famousAgilityProject management method, her name is "competition (Scrum)"
TERRY: "winning (Scrum) "Isn't that a football team? Rugby andSoftwareWhat is the relationship between development?
Mefen: Well, there are no pads, and many people will be hurt.
Mary: Well, meifen also has a sense of humor. I always thought that the only thing you have fun with is your hair style.
Meifen: What's wrong with my hair style ?! It doesn't matter. In any case, scrum isAgilityShe follows the agile principles we talked about last time. In short, short iterations, continuous improvement and feedback, and mutual cooperation. She is a simple, lightweight process that brings many benefits.
Mary: Do you want to take a rugby to the hallway?
Mefen: It's not necessary, but if you feel that this can improve your work efficiency, you should do it well. Slow down. I thought about whether or not to do well. This may be detrimental to the health of everyone. I have a lot of scrum experience and feel like using itManagementVarious types of projects are superb.
MARY:AgilityDevelopment really sounds cool, and it's a bit of a benefit. Okay, so I will ask, I'm curious about how we use it. What is "scrum ".
Meifen: scrum is actually usedAgilityTo manage projects. She is not about how to develop programs. First, let's take a look at how scrum conforms to what we previously mentionedAgilityDevelopment Principles:
- Keep it simple: scrum is simple and lightweight.ProcessShe can simplify our development process.
- Accept changes: scrum encourages the division of work into small pieces. We focus on a short period of time, but we can reschedule the priority of our work during these time periods.
- Continuous iteration: we need to build applications in iterations less than 30 days.
- Continuous feedback and improvement: at the end of each iteration, we always review what we did before, and think about what we can do next time to improveProcess.
- Collaboration: scrum strongly encourages collaboration and communication among team members. Without this, scrum would be useless at all.
- Reduce Waste: scrum helps us identify things that are only valuable to customers or teams.
Mary: Well, I have remembered these principles. You still haven't discussed it in detail. How should I implement scrum?
Meifen: scrum can be divided into several key steps. Before that, I need to talk about several key definitions.
- Product backlog: you can think of a product order as a high-level list of all the things you want to do to build a product. The content in the list can be similar to the user stories used in extreme programming, or a simple line of functional instructions. The important part here is the priority of the work. When you extract a task from this list, you always pick the most important task.
- "Sprint": a sprint is the unit time of a short iteration. The maximum time is 30 days. Each Sprint has a target corresponding to it.
- "Sprint" Order (sprint backlog): A list of sprint tasks. A "sprint" order begins with some tasks of the product order and some more specific tasks subdivided above it. Each task should have a clear definition of "finished.
- Product owner: this person is responsible for maintaining product orders and defining functional priorities. Product owners are usually in a supporting role during the sprint implementation process.
Mary: What you are talking about now is too technical for me. What is the use of so many new terms? Why isn't a simple word like "function list? This will not be more consistentAgility?
Mefen: Well .. I don't know what to say. I guess "product" emphasizes the long-term nature of the list, and "order" is what we have not yet obtained. That makes sense. With the "sprint", we can run a marathon, but there are several sprints (iterations) between the rest point and the rest point ).
Mary: Okay, okay. I will get used to it. ThatProcessWhat is it like?
Meifen: Very simple. That's it.
1. Create a product order (product backlog ).
2. Plan a sprint ).
3. Execute it and hold meetings every day.
4. Demonstrate the completed work.
5. Perform introspection.
6. Take a break and repeat it.
Mary: Is that true? It sounds simple. Obviously, I need more details about these steps.
Mefen: I will do what you want me to do.
Mary: Give me a hamburger.
Mefen: I will not do anything you want me to do! Let's go back to scrum. I will give you a quick introduction to thisProcess. Then, in future discussions, we can discuss in detail some best practices of each step. What do you think?
Mary: It sounds better than enema. Continue.
Meifen: When you build a product order, your team and the product owner determine which features are important to the customer, and create a list of all features sorted by priority. The most important feature appears at the beginning of the list.
Mary: This requires some insightful thinking.Agility?
Meifen: the plan at this time is very high-level. He is just a rough understanding of the functions that the user wants from today. Tomorrow's understanding may change. The next step is to plan a sprint ". We extract the highest priority from the product orderProjectAnd then plan to complete these projects. How much should I smoke? You think that you can do as much as you do in this iteration. We then subdivided the product order into some specific tasks for the sprint order and started to execute them.
Mary: Cool. It sounds quite simple. But how do I know what to do next?
Meifen: everyone is assigned a task during the planning phase, so they should be clear about what they should do. After that, when you complete a task, you can select a task that is not yet assigned and has the highest priority. After we have such a plan, we will execute it and hold meetings every day. We will repeat the sprint task list and estimate how long it will take on a task every day. We should objectively and practically estimate how long each task will take to complete. If they take longer than planned, we will cancel the task from the lowest priority. We have a meeting every day.
Mary: Okay. Now you are crazy. You want to open a meeting every day. Once a week is painful. I think you have been into the glue again.
Meifen: I admit it. It sounds crazy. However, the meeting was short, and it would take 10 minutes for five groups. If you like, I will talk about how to make the meeting as short as possible. After the sprint is completed, we will show the finished work. At this time, the short meeting will let every member celebrate their work and let the owner know the work they have done.
Mary: I guess the customer, or the customer's representative, such as the product owner, will appear there, right? They will be curious about the work they have done.
Mefen: Of course. Each AndProjectPeople with important relationships, including customers, should participate in the demonstration process. A sprint ends with reflection. For the group, this is a good opportunity to examine what we are doing (we should continue) and decide what we should do next time to improve.
Mary: Ha, keep improving. It's really straightforward.Process. I like it.
Meifen: After this sprint is complete, you need to reset the order, and then start to save a scheduled period of time, and then start again to create more value for the customer.
Mary: Okay. Let me go back and try a two-week sprint with my team members. Maybe you and I can have a reflection in a few weeks, and then you can give me some suggestions.
Meifen: Wow, the sun is coming from the west. Do you really need my help ?!?
Mary :......
Meifen's point of view: As stated in the sixth point in the step, it is important to keep a few days of buffering time between "sprint" and "sprint. The team needs to make some adjustments to catch up with some non-Sprint tasks. This period of time is a good opportunity to solve some technical or tool problems. You will find that when you slow down, it will become more efficient. This is one reason why "sprint" is not an endless sprint.