Agile Software Development Model scrum Handouts

Source: Internet
Author: User
ArticleDirectory
    • Preface
    • 1. What is agile development?
    • Ii. Scrum
Preface

I have heard more or less about agile development models, including books or training related to them. Since the company is now using a scrum development process-agile development, so I want to learn and research, I also strive to make the text easy to understand, it does not make everyone tired of attending meetings.

1. What is agile development?

Agile Software DevelopmentAgile development, also known as agile development, is a new type of software development method that has aroused widespread attention since the 1990 s. It is also a software development capability that responds to rapidly changing needs. Their specific names, concepts, processes, and terms are different.ProgramClose collaboration and face-to-face communication between team members and business experts (considered more effective than written documents) frequent delivery of new software versions, compact and self-organized teams, able to well adapt to changing needsCodeWriting and team-based organization methods also focus on the role of human in software development.

Apart from the uniqueness of agile methodsHe has many commonalities with other methods, such as iterative development, focusing on interactive communication, and reducing unnecessary resource consumption in the intermediary process. In general, the applicability of agile methods can be measured in the following aspects: From the product perspective, agile methods are suitable for situations where demand is surging and changing rapidly, if the system has high key, reliability, and security requirements, it may not be fully suitable. From the perspective of organizational structure, the culture, personnel, and communication of organizational structures determine whether agile methods are applicable. Key success factors associated with these factors include:

    • The organizational culture must support negotiation
    • Personnel trust each other
    • Few people but excellent
    • The decisions made by developers are accepted
    • Environmental facilities meet the needs of fast communication between members

The most important factor is probably the scale of the project. As the scale grows, face-to-face communication becomes increasingly difficult. Therefore, agile methods are more suitable for smaller teams, with 20, 40, or fewer people. Large-scale agile software development is still under active research.

The other problem is that a large number of assumptions or rapid collection requirements at the initial stage of the project may lead to project misunderstandings, especially when the customer has no idea about its own needs. Similarly, human nature can easily lead to a situation where an individual leads and leads the project goals and designs in the wrong direction. Developers can often assign inappropriate solutions to customers and obtain customer approval until they finally discover problems. Although theoretically fast interaction can limit the occurrence of these errors, the premise is effective and timely feedback, otherwise the error will expand rapidly.

Currently, the agile methods are included.:

    • Software development cycle, software development rhythms
    • Agile database technology, AD/agile database techniques
    • Agile modeling, am/agile Modeling
    • Adaptive software development, ASD/adaptive Software Development
    • Crystal method, Crystal
    • Feature-driven development, FDD/feature Driven Development
    • Dynamic System Development Method, DSDM/Dynamic Systems Development Method
    • Lean Software Development
    • AUP (agile uniied process)
    • Scrum(The main character of this article)
    • Xbreed
    • Extreme Programming, XP eXtreme Programming
    • Exploratory Test

Then, allow me to reference two agile pictures in a blog by Mr. Yan Xin, as shown below:

Q: What is agile? It seems that there are many nouns, abbreviations and legends...

A: agile is a trend of thought. It includes several methods of software development ); these methodologies are built on many proven best practices in the industry. As shown in:

OK. At the beginning, since the company currently uses the scrum development process, it is also my job to learn and understand scrum. So next, let's analyze the scrum Development Method in the above agile method.

Ii. Scrum

2.1 What is scrum

Scrum is a lightweight software development method. It is an agile development framework and an incremental and iterative development process. In this framework, the entire development cycle includes several small down generation cycles. Each small down generation cycle is called a sprint. The recommended length of each sprint is 2 to 4 weeks. In layman's terms, we have now developed the entire product development cycle, which is composed of various small iteration cycles. We call each small iteration cycle a sprint, for example, sprint1, sprint2, and sprint3 (the projects on hand that I am currently working on are divided into sprint1 ~ Sprint5), and then solve each sprint2 to 4 weeks,Divide and conquer.

In scrum, product backlog is used to manage product or project requirements. product backlog is a list of requirements sorted by business value. The list items are usually user stories. The SCRUM development team always develops high value requirements for customers first. In each sprint, the scrum Development Team selects the most valuable requirements from the product backlog for development. The selected requirements in the sprint are analyzed, discussed, and estimated at the sprint planning meeting to obtain a sprint task list, which we call a sprint backlog.
At the end of each iteration, the scrum team will deliver potentially deliverable product increments.

As shown in, the scrum development process generally takes 30 days (or a shorter period of time) as a stage, starting with the requirement specifications of new products provided by the customer, the development team and the customer select the completed specification at the beginning of each stage. The development team must try its best to deliver the results 30 days later, and the Team will hold a meeting every 15 minutes (daily meeting) check the progress and plan of each member, understand the difficulties encountered, and try to eliminate them.

2.2 advantages of scrum over traditional development models

A notable feature of the scrum model is its ability to respond to changes as quickly as possible. The following figure uses a traditional software development model (waterfall model, spiral model, or iterative model ). As the complexity of system factors (internal and external factors) increases, the possibility of project success rapidly decreases.


It is a comparison between the scrum model and the traditional model (basically every introduction to the diagram referenced by scrum ):


 2.3 scrum Model

1) several terms about scrum

Backlog: all tasks that can be predicted, including functional and non-functional tasks.

Sprint: The time cycle of a down generation development. Generally, a maximum of 30 days is used as a cycle. during this period, the development team needs to complete a developed backlog, and the final result is an incremental and deliverable product.

Sprint backlog: the task to be completed within a sprint cycle.

Scrummaster: A team member responsible for supervising the entire scrum process and revising the plan.

Time-box: A meeting time period. For example, the time-box of each daily scrum meeting is 15 minutes.

Sprint Planning Meeting: This is done before each sprint is started. Generally, it is a day (8 hours ). The task required for this meeting is: the product owner and team members break down the backlog into small functional modules and decide how many small functional modules need to be completed in the upcoming sprint, determine the task priority of this product backlog. In addition, the Meeting also needs to discuss in detail how to complete these small functional modules as needed. The workload of these modules is calculated by hour.

Daily scrum meeting: a member of the development team, usually 15 minutes. Each developer must report three projects to scrummaster:What have you done today or yesterday? Have you encountered any obstacles? What to do soon? (This is what we do every morning) through this meeting, the team members can understand each other's project progress.

Sprint Review Meeting: after each sprint ends, this team will present the Sprint's work results to the product owner and other related personnel. Generally, this meeting is 4 hours.

Sprint detail spective meeting: Summarize the final sprint. Participants of the meeting are internal personnel developed by the team. Generally, this meeting is three hours.

2)Implementation of scrum

    1. The product's backlog is divided into sprint backlog, which can be completed according to the current human and material resources.
    2. Hold sprint planning meeting, divide, determine the tasks to be completed in the sprint, mark the task priority and assign it to each member. Note thatThe task is calculated on an hourly basis.Is not calculated by man-day.
    3. In the sprint development cycle, daily scrum meeting needs to be held every day.
    4. At the end of the entire sprint cycle, a sprint review meeting will be held to present the results to the product owner.
    5. The team members finally held sprint shortspective meeting to summarize the problems and experiences.
    6. In this way, the next sprint is carried out following the same steps.

Shows the entire process.

 

Reference: 1. Wikipedia; 2. Yan Xin's Software Engineering Teaching blog; 3. coqin. .

Related Article

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.