Training Summary of agile software development process and best practices

Source: Internet
Author: User

Sort out the documents and find out the training summary from a long time ago and share the fasiondog

Agility is not a silver bullet"

At present, "agility" is a popular term. When agility is not just a silver bullet that everyone might think of, it is still irreplaceable to master personnel training and methods. Agile development comes from enterprises engaged in Agile development in Europe and the United States, especially large enterprises, whose developers generally have 10 or even 20 years of development experience, therefore, agility does not need to write documents for them, because the knowledge about products and development has been imprinted in their minds. Some documents may be a waste for them. When there are a limited number of experienced developers in China, do not try to use "agility" as a silver bullet to solve all problems. If you are engaged in Agile development, you must pay attention to risks. However, the "Team Development Model" in Agile development is of great help to the growth and cultivation of employees. Chinese people are not good at "team" work, and agility will help everyone in this regard, however, it may also cause some difficulties, such as the summarization, analysis, and sharing of knowledge. The Chinese may not be able to speak out, and they also need to pay attention to the implementation of agility. You can take into account the problem analysis methods such as fish bone chart and Mind Map to facilitate sharing and summarization within the team. There are not many companies that dare to use Pair programming at present, and they need courage. The lecturer asked the companies present that only one company is currently trying to use Pair programming ".

Scope of agile development

The major work experience of this lecturer is from the IBM software development center. The scope of IBM agile development is mainly limited to the "Development" field, excluding the easy-to-change part of the entire software development process, that is, it does not include requirement analysis and architecture design. It is not recommended to confuse major demand development activities with agile development activities, especially in the early stages of the product. The concept of the product is not clear yet, meaning that the demand may be greatly changed, it has a great impact on the arrangement of agile iteration plans. In addition, the architecture design itself is not suitable for iteration. an ever-changing architecture will have an important impact on the product development progress. Restructuring the architecture is also a matter of caution. It is generally not included in Agile development activities, the "refactoring" referred to in Agile development activities usually means a small range of changes in functional components or modules.

Agile development role

In the development process, there are usually several roles that cannot be part-time, because there is a conflict of interests between roles:

  • Requirement analysts and development team members cannot serve as roles-"what to make" conflicts with implementation
  • The Project Manager and development team members cannot be concurrently appointed-the conflict between schedule control and implementation time
Importance of training (methods and processes)

It is not enough to master agile practices. The training of software development methods and processes is indispensable in the Organization. Imagine a team that does not even know what is going on with demand analysis and design, and uses agile development practices. The separation of Process Dimension and time dimension forms a development architecture. It is helpful for agile teams to understand the basic activities and methods in process dimension. It is recommended that you should also learn from the RUP frequently during the development process, which is beneficial to everyone.

Agile discipline, pace and work environment

What does agile "don't write" document mean the workload is reduced? On the contrary, agile practices are more disciplined. a correct and thorough practice requires more discipline and effort from the team. For example, for a sprint in Scrum, the sprint translation should be a "sprint", that is, a full sprint. A team needs to make a full sprint. It can be seen from this that it is very important to grasp the pace of development in the entire agile development process, because a person cannot keep the full sprint, so is team development, to maintain the enthusiasm and ability of the team, you must master the development pace and be relaxed. Another easily overlooked problem is the work environment! Agile Development encourages communication. Therefore, an "open" (non-partitioned and transparent) workspace is required. The workspace similar to the round-table conference is not separated from each other to facilitate timely and effective communication. The "open" space means that individuals in the team do not have a "private space" and must do their best to work. Therefore, it is important to make people feel relaxed when they need to relax, otherwise, the team's enthusiasm and work ability will continue to decrease. Based on the requirements of these environments, an "open" workspace and a space for effective rest (such as coffee rooms) are required. In addition, these rest spaces serve as an important place for "communication, there is a large amount of useful information that often comes from related but unpurposeful communication.

Communication

There are multiple means of communication, such as documents, emails, telephones, videos, etc. But the most effective means of communication is "face-to-face + whiteboard", and the most ineffective means of communication is "document ". Therefore, agility emphasizes the use of face-to-face communication, and thinks that this is the best way to pass and share knowledge. Chinese people have weaknesses in this regard, because our education system has never been involved in this. "communication" is both an "opportunity" and a "risk" in implementing agile teams ", "Opportunities" mean more effective employee training and growth, and "risks" mean that a "zombie" team is still driven by plans rather than spontaneous teams.

Planning in Scrum

In the process of iterative planning in Scrum, one thing that is easily overlooked by the team is the dependency between user stories or tasks. When Scrum uses a team to develop an iteration plan, in addition to the priority sorting of user stories, the team needs to pay attention to the dependency between user stories, which is easily ignored. This is one of the reasons why the demand analysis activity (user or business needs) is not recommended to be mixed with development, because the business needs imply the dependency between user stories.

Team and Performance

Agility needs to change the previous method of personal performance evaluation, instead of team performance. In Agile development, if the team's performance is poor, it is also difficult to continue evaluating individual members. Because agile tasks should be able to drive the entire team to succeed if a person is good or competent. Agility emphasizes a team. The success of the team is personal success. (How should we evaluate the team's performance? After inquiry, the lecturers are also vague, just saying that each company may have its own model)

About tools

In Agile development practices, a large number of notebooks are used. Although convenient, too many notebooks may have an impact on management (such as the team's annual summary and measurement), which is not conducive to storage, you can use management tools. The lecturer demonstrated the VersionOne tool. When the tool is cumbersome to install and has been converted from open source to commercial software, only one Copy from the lecturer.

Others
  • In addition to static methods (Review), demand verification can use dynamic review methods, such as Demo and Demo.
  • Testing and development can be either a team or a team, but developing and testing as a team sitting together will be good for planning and intercommunication between them.
  • An important part of agile teams is the team atmosphere: Sharing
  • The key and difficulty for implementing agile teams lies in "spontaneous" teams
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.