Quickly share the most suitable solution

Agile development management
catalog
Agile development management
1. Background
2. Origin of agile development management
2.1 Documents can be saved, and then
2.2 The original intention of
agile 3. Agile principles
4. Waterfall development and agile development similarities and differences
5. Agile methods
5.1 DevOps
5.1.1 Back-end webApi CI/DI workflow
5.1.2 Front-end CI/DI workflow
5.2 Scrum
6 Agile process implemented by our company
6.1 Features: Iterative development
6.2 Task management
6.2.1 Demand management
6.2.1.1 One-time specific Requirement management
6.2.2 Defect management
6.3 Unified management tools
6.4 Role
6.5 Process
6.6 Final definition of agile development
6.7 Purpose
6.8 Training video
1. Background
In modern software development, a software project is divided into multiple sub-projects in the early stage of construction, each sub-project The results of the project have been tested and have the characteristics of visualization, integration and operational use. In other words, it is to divide a large project into multiple small projects that are interconnected, but can also be run independently, and completed separately. During this process, the software is always in a usable state. The concept of agile development management came into being.

2. The origin of agile development management
In 2001, a group of masters gathered in Utah, USA, brainstorming, and came up with an agile manifesto that stated 5 values, as shown in the figure below.

2.1 The documentation can save the
description of class attribute documents and interface description documents (automatically generated by swagger). And some valuable documents, such as design plan documents, architecture system documents, etc. are still necessary.

2.2 The original intention of
Agile The original intention of Agile is to suggest that we adopt a series of methods to make our R&D work more efficient, flexible and orderly. Therefore, it emphasizes the initiative of team members and mutual cooperation, and pays more attention to responding to changes.

3. The principle of agile
Our top priority is to satisfy customers by delivering valuable software as early as possible and continuously.
Even in the later stages of development, changes in requirements are welcome. Agile processes use change to create a competitive advantage for customers.
Deliver working software regularly. The delivery interval can range from a few weeks to several months. The shorter the delivery interval, the better.
During the entire project development period, business personnel and developers must work together every day.
Build projects around motivated individuals. Provide them with the environment and support they need, and trust them to get the job done.
Within the team, the most effective and efficient way to convey information is face-to-face conversation.
The working software is the primary progress metric.
Agile processes promote sustainable development speed. Responsible persons, developers and users should be able to maintain a long-term, constant development speed.
Constant attention to excellent skills and good design will enhance agility.
Simplicity-the art of maximizing unfinished work-is fundamental.
The best architecture, requirements, and design come from self-organizing teams.
At regular intervals, the team will reflect on how to work more effectively, and then adjust its behavior accordingly.
As the times change, some of the content inside will change. For example, the social division of labor in point 4 is getting more and more detailed. The requirement is to update the teambition platform through tools through the pre-sales with customers (our company uses the TeamBition platform, Tencent’s TPAD is also an excellent platform tool).
The fifth point is not very understandable.
Point 6 is also achieved through the teambition platform. Our company mainly communicates with developers and testers in Wuhan and Hangzhou. Because the Internet allows us to interact remotely, thank you for this best era.
Other points should be kept in mind and practice continuously.
4. The similarities and differences between waterfall development and agile development

Agile development, segmentation of requirements, focusing on the life cycle management of each requirement. Demands are raised at any time, withdrawn at any time, and changed at any time. Each demand has, analysis, design coding, testing, defect management. Product managers can review online (combined with DevOps: CI/DI), open new requirements and end requirements at any time. Waterfall development can only wait until the function is fully developed for review, for example, there are fewer iterations.

5. An agile method
can be called an agile method as long as it is a methodology that conforms to agile values ​​and principles.

5.1 DevOps
Our company adopts the DevOps method. The developers at the front and back end through continuous iterative code, CI/DI continuous integration deployment through gitlab, testers continue to test feedback, and through teambton's full cycle management of requirements and defects to achieve rapid completion of demand changes And development and defect repair, etc.

5.1.1 CI/DI workflow of the background webApi

5.1.2 Front-end CI/DI workflow

In summary, continuous integration through DevOps CI/DI to improve the efficiency of agile development. It can be said that DevOps CI/DI is the method of the Fajia, and the agile thinking is the Fajia's method (rules, abstraction of thought or Taoism).

5.2 Scrum
Scrum is not all agile, it is just one of agile methods.

Scrum is 3355.

What is 3355?

The first 3 represents 3 roles, namely Product Owner (Product Owner), Scrum Master and Team;

The second 3 represents 3 artifacts, namely Product Backlog (product to-do list), Sprint Backlog (iteration to-do list) and Product Increment (product increment);

The third 5 represents 5 events, which is what everyone feels most deeply, namely Sprint Planning (iteration planning meeting), Daily Scrum (daily standing meeting), Sprint Review (iteration review meeting), Sprint Retrospective (iteration review meeting) , Backlog Refinement (product Backlog sorting meeting);

The fourth 5 represents 5 values, namely commitment, focus, openness, respect and courage;

Our company does not implement this method.

6 Agile process implemented by our company
6.1 Features:
Each iteration of iterative development must complete the following five steps in sequence.

Requirements analysis (requirements analysis)
design (design)
coding (coding)
testing (testing)
deployment and evaluation (deployment / evaluation)

6.2 Task management
6.2.1 Demand management
PO (Product Owner): Product owner, the core is the product, the demander can be product manager, project manager, tester (for our company), end user, integrator, agent;

Modernization requirements: The requirements change faster. They are raised in the morning and changed in the afternoon. Agile is to change requirements more conveniently. Our company is very suitable for agile development.

Demand management: The key is to write it down and write it in the unified product teambition. The process of writing will be comprehensive and traceable. The requirements document, like the developed code, must have a complete history record, which can be traced back to when and who made any changes, so that every requirement change can be accounted for.

6.2.1.1 When does a specific demand management start?
When will it end?
Who is in charge?
Who will be delivered to after completion? @Requirement
life cycle, full cycle coverage, status management of requirements

What is the full cycle? That is, the circulation of all states of demand and the stop of circulation.

Definition of state added

6.2.2 Defect management
Defects are bugs, which are established by testers after passing through test cases and assigned to the corresponding developers who completed the tasks before. Developers are busy with their work, feedback the actual situation to the team leader, and then assign them to others by the software team leader Developer.

The assignment process is very important @tester
is critical.
Feedback is very important. The
software team leader needs to plan the
task according to the priority.
A defect repair becomes an iteration.
6.3 A unified management tool
Our company adopts the TeamBition platform

Full cycle
requirements, development, testing, defect repair, iteration full coverage,
efficient
task burndown chart, project status, division of responsibilities of members at a glance, reduce communication costs,
accumulation of
relevant documents are archived with the project, not easy to lose, suitable for new colleagues to cut into the
task board to
enable company leaders Layers, products, and teams visualize the entire task status and cycle.
DevOps
combined with CI/DI, product managers and project managers can view web pages at any time, modify requirements at any time, increase the number of iterations, and reduce communication costs. Given the access url
code
, the gitlab url
is set by the tester. And all notification information can be notified by teambition mobile app.

6.4 Role
-The Product Owner is
mainly responsible for determining the function of the product and meeting the required standards, and has the power to accept or reject the work results of the development team.

– The process manager (Scrum Master)
makes the needs at every moment clear, manages every change in demand, the reason for the change, and implements the change.

-The development team (Scrum Team)
arranges tasks according to task priority

-After the tester's
requirements are clear, the acceptance documents can be written for the requirements. Test process, write test cases.

6.5 Process
product requirements list, which is the responsibility of the PO;
hold review meetings to remove unnecessary requirements and determine the requirements that need to be developed;
simple requirements distribution tasks, complex requirements drawing prototypes;
assignment tasks;
test
delivery can generate 20% of 80% benefits Function;
continuous iteration (iterative development), continuous delivery (incremental delivery);
6.6 the final definition of
agile development. Agile development takes the evolution of user needs as the core and adopts an iterative and gradual approach to software development.

6.7 Purpose
Manage requirements well and improve development efficiency

6.8 Training video
training recording video

Guess you like

Origin blog.51cto.com/15070157/2576294