Project management knowledge that programmers must learn - Agile project management

The purpose of agile development

The purpose of agile development is to quickly respond to market demand. For example, if the development cycle of a product is one year, if you wait until it is perfect before launching it, the time cycle will be very long. In the process, user needs will also change a lot. , causing the online products to fail to meet customer needs. In addition, in today's era, response speed has become a core competitiveness that cannot be ignored by enterprises. The agile development method precisely meets these two points. It divides the entire product requirements into several iterative versions that can be run independently. First, a part of the core functions are developed and delivered to users for use. Then the next iterative development is carried out, and the previous one is collected while developing. Feedback on user needs from the iteration is incorporated into the next iteration. This loops until the last iteration is complete.

Problems solved by agile development

  1. Users can use the system as early as possible. Customers can feel your rapid response to their needs, so customer satisfaction will increase.

  2. Since users are not really clear about their needs at the beginning, the user's needs are gradually raised during the use process, and the degree of demand change is small. In this way, we can complete the change at a small cost, which also reduces the larger demand. The risk of change reduces the development cost increased due to changes in requirements.

  3. Agile development focuses on people-oriented, reducing unnecessary documents and processes, improving the efficiency of team development, and achieving the purpose of reducing costs and improving efficiency.

Team requirements

However, agile development requires high comprehensive qualities of project managers, product managers and team members, especially planning abilities. Behind the functions, the test is often people's understanding ability, cognitive level, independent thinking ability, critical thinking and other comprehensive abilities. .

divergent thinking

Agile development expresses a progressive state in information system project development. In fact, "agile" thinking can be used to solve problems not only in project development and management, but also in all aspects of life and work. This kind of thinking can Improve efficiency and eliminate unnecessary time-wasting thinking.

Typical examples

In the process of making work plans, many technical managers tend to like that all development work must first have a big plan, and then split the big plan into multiple small plans, and then evaluate the time nodes of each small plan, even in A lot of time was spent on planning the work, but in the end it was found that it was completely inconsistent with the actual time. In fact, I think there is no need to plan detailed time nodes for some work that cannot clearly define the development cycle, because the probability of change is high and there are many unknowns. This is a typical waterfall thinking mode, which means that when formulating plans, Waterfall thinking is used at work.

Another example: the performance optimization work of multiple modules of a certain product. This kind of work itself cannot evaluate the specific time. Then you can use "agile" thinking to manage progress and manage from the process rather than from the results. Use the agile development model to split a large work into multiple small iterative versions, and then manage the progress of each small iteration from the process. When a version is completed, a version will be launched online, without caring about how much it takes to complete the overall work. Time, first of all, it is impossible to judge the correct time, and secondly, it takes a lot of time and energy to evaluate all cycles at once. In fact, we manage each small version well in the process, and the final result is the most efficient and relatively best result. Such performance optimization is a process of gradually improving the system.

Guess you like

Origin blog.csdn.net/wcblog/article/details/127890141