-
Agile methodologies originated in the IT software development industry in the 90s of the 20th century. In 2001, 17 leaders of the software development industry met in Utah, USA, and published the "Agile Declaration for Software Development", from which 12 agile principles were derived:
1) Our overarching goal is to delight our customers by delivering valuable software early and continuously.
2) Changes to requirements are welcome, even in the later stages of project development. Agile processes leverage adaptation to change to help customers create a competitive advantage.
3) Deliver usable software on a continuous basis, with cycles ranging from a few weeks to a few months, and the shorter the better.
4) Business people and developers must work together during the project.
5) Be good at motivating project personnel, giving them the environment and support they need, and believing that they can get the job done.
6) The most effective method of communication, both within and between teams, is face-to-face.
7) The software available is the main indicator of progress.
8) The Agile process promotes sustainable, smooth development. Project owners, developers, and users should be able to maintain a constant and stable development speed.
9) Agility will be enhanced by the refinement of technology and the refinement of design.
10) Simplicity – Minimize unnecessary work as much as possible. It's an art, it's fundamental.
11) The best architecture, requirements, and design come from self-organizing teams.
12) The team should regularly reflect on how it can be more effective and adjust the team's behavior accordingly.
These are the 12 principles of agile development, and I hope they can answer your questions.
-
1.Iterate quickly.
Compared with the semi-annual major release, the requirements, development, and testing of minor versions are simpler and faster. Some companies, which only release 2 or 3 versions a year, have a slow release process, still use the waterfall development model, and more seriously, there is a misunderstanding of the agile development model.
2.Involve testers and developers in requirements discussions.
Requirements discussions are most effective in the form of discussion groups. Workshops, which need to include testers and developers, make it easier to define, group, and prioritize testable requirements. At the same time, it can also take advantage of the complementary characteristics of team members.
Such identified needs tend to be more efficient, more active, and more participatory than those of a needs discussion conference.
3.Write testable requirements documents.
Start by using the "user story" approach to writing requirements documents. This approach allows us to focus on the requirements rather than the solutions and implementation techniques. Mentioning the technical implementation too early can reduce the focus on the requirements.
4.Communicate more and minimize documentation.
Communication is a common problem in any project. Good communication is a prerequisite for agile development. The longer you mingle in the circle, the more you emphasize the importance of good and efficient communication.
Teams need to ensure day-to-day communication, and face-to-face communication is much better than email.
5.Do a good job of prototyping.
It is recommended to use sketches and models to clarify the user interface. Not everyone can understand a complex document, but everyone can look at the picture.
6.Think about testing early.
It's important to think about testing early in agile development. In traditional software development, test cases are written very late, which leads to the discovery of problems in the requirements too late, making the improvement cost too high. Start writing test cases early, and when the requirements are completed, the acceptable test cases are basically completed.
-
First, the goal. Goal 1: Faster delivery of value, that is, earlier delivery.
Goal 2: Effective learning and flexible response to change.
2. Values:
1.Individuals and interactions trump processes and tools.
2.Software that can be run trumps comprehensive documentation.
3.Customer cooperation trumps contract negotiation.
4.Responding to change is better than following a plan.
3. 12 principles.
1.Satisfy customers by delivering valuable software early and continuously.
2.Even in the later stages of development, changing requirements are welcome. Agile processes use change to create a competitive advantage for customers.
3.Deliver working software as quickly and continuously as possible, on a cycle of weeks to months.
4.Business people and developers must work together every day throughout the development of a project.
5.Establish a project team with motivated employees at the center, provide them with the environment and support they need, and give them full trust in their work.
6.The most effective and efficient way to deliver information within a team is face-to-face.
7.The first basis for measuring the progress of a project is operational software.
8.The agile process promotes sustainable development, and the responsible person, developer, and user should strive to maintain a long-term, constant development speed.
9.Always focus on technical excellence and good design to enhance agility.
10.Simplicity is fundamental.
11.The best architecture, requirements, and design come from self-organizing teams.
12.Every once in a while, teams reflect on how they can work more effectively and adjust their behavior accordingly.
Fourth, the operating mechanism.
1.A team has its own to-do list, and the to-do list is broken down.
2.Prioritize by customer value, with the product manager responsible for value sorting.
3.Small, stable, cross-functional team.
4.Multiple teams are loosely coupled (with low dependencies) to align iteration times and strategic goals.
5. Team roles.
1.Product Owner.
The sole owner responsible for managing the product backlog.
Represent clients on projects such as responsible persons.
Define all the characteristics of the product.
Responsible for the input and output of products.
Responsible for maximizing the value of the work of the product and development teams.
2.Supervisor (Process Lead).
Serve as a coach and lead the team to implement the practice of Scrum and demonstrate its value.
Eliminate the difficulties encountered by the team, make the team work closely, and make the team individual have the ability to work in multiple functions.
Ensure your team is up to the job and remains productive.
Protect the team from unwarranted influences.
3.Development team.
Daily meetings: 5 minutes per day.
Judging meeting: about 1 hour.
Sprint Retrospective: Maintain a duration of 30-60 minutes.
Including, quantitative and qualitative analysis.
Quantitative analysis: iteration goals, iteration metrics (including velocity, iteration burndown chart, iteration plan stories and actual completion stories, planned release date vs. actual release date, customer satisfaction, team satisfaction, number of bugs in the production environment, production bug resolution time, user stories, etc.).
-
In addition to the unique features of the agile method, it also has a lot in common with other methods, such as iterative development, focusing on interactive communication, and reducing the unnecessary resource consumption of the mediation process. The applicability of agile methods can usually be measured in the following aspects: from a product point of view, agile methods are suitable for situations where requirements are germinating and changing rapidly, such as the system has relatively high requirements for criticality, reliability, and security, it may not be suitable for the whole world; From the perspective of organizational structure, the culture, people, and communication of the organizational structure determine whether agile methods are applicable or not.
The organizational culture must support trust among negotiators, few but lean people, recognition of decisions made by developers, facilities for rapid communication between members, and perhaps most importantly, the size of the project. As you grow in size, face-to-face communication becomes more difficult, so agile methods are more suitable for smaller or fewer teams. Large-scale agile software development is still an area of active research.
Another problem is that a lot of assumptions or a quick collection of requirements at the beginning of a project can lead to a misconception, especially if the client has no idea what they need. Similarly, it's human nature to create situations where one person takes the lead and leads the project goals and design in the wrong direction. Developers are often able to award inappropriate solutions to customers and gain customer buy-in until the problem is finally discovered.
While the process of rapid interaction could theoretically limit the occurrence of these errors, only if there is effective negative feedback, otherwise the errors will explode rapidly.
-
Agile development is a human-centric, iterative, step-by-step approach to development. In the agile development cluster, the construction of a software project is divided into multiple sub-projects, and the results of each sub-project are tested and have the characteristics of integrated and operational.
In other words, a large project is divided into smaller projects that are interconnected but can also run independently, and completed separately, while the software remains in a usable state.
Do you want to avoid Berserker or Agility?
It's very simple to be agile.,Get L9 speed on your shoes.,And then fix the first row in the others.,If you have speed skills.,It's super fast after using it.。 >>>More
High-end heroes, huh? It's none other than the clown! Novice play == lose, master play == win, in fact, the clown can decide the whole game, the early gank, the opposite side does not collapse is strange, gank is not successful means that you are not a master problem! >>>More
Product development refers to the provision of new varieties related to the original product to the original users or the substantial substance of the original product through the existing sales channels. >>>More
The right brain is mainly responsible for controlling sensation and imagination, and developing a child's right brain has a great effect on innovation ability. Here are 3 things you can do to develop your child's right brain: >>>More
The first method: exercise. The more you exercise, the stronger your muscles become, and the more you exercise, the smarter your brain becomes. >>>More