Recently, the company is focusing on promoting the agile development of the project, although previously contacted, but still went to participate in the next Agile development training, for product managers, if the implementation of agile development, the product manager of the coordination and communication role will be more prominent, after all, there is no document, only the presentation or even drawings of the case, Communication is very important, especially to identify all the requirements of the function point, and to order the priority of the demand function points, to determine the agile development of the iteration cycle, these need to communicate to solve, the regular meeting will be more, the product manager must be involved in it. For the Internet industry, agile development can respond more quickly to changing needs, and for product managers, if you're involved in a project that's a bit more, you'll find that one day, your thoughts will be crossed. So waterfall has the advantage of waterfall, Agile has the advantage of agile, see from which point of view, medium and large projects with agile more appropriate, small project or waterfall more appropriate.
Agile development is the ability to rapidly develop rapidly evolving needs, it has four core ideas: the first is to emphasize face-to-face communication, that is, communication is important, people and people communicate with each other than any process and tools; The second is to focus on the executable program, the products that can be run better than the preparation of comprehensive documents, It emphasizes the importance of prototype, model, demo, etc. the third is teamwork and team motivation, cooperation is better than negotiation, agile development will be the needs, development, testing and other team members into a whole, we are a line of grasshoppers; the fourth is the super adaptability, adapting to change is better than the orderly, Agile development is characterized by speed, which is very important for the internet industry. So why use agile development, there are several points:
The characteristics of the Internet industry
is to eat slowly, examples see micro-letter and rice chat; release cost is very low, is generally iterative release, many examples, there are many products are a week or two weeks to release a small version of the pursuit of innovation, or a modest innovation, regardless of whether the end of the real innovation, but the original intention is certainly to be innovative; Need to respond quickly to user changes, time is everything, the same product first release and post the difference is very large; high demand uncertainty, this is also common in the software industry, focus on user behavior, advocating user-centric product design. It is these characteristics that make agile development a logical choice.
Characteristics of product development
As mentioned above, the uncertainty of product demand is relatively high, often do to do and will find new requirements, or found that the original direction is already wrong, you need to adjust immediately; Moreover, the change of demand is unavoidable, I think many people agree.
Reduce project risk and ensure the right direction
Agile development can shorten the feedback cycle of a project by dividing the project into several iterations, with immediate feedback at the end of each iteration cycle. and through continuous communication, but also reduce the understanding of the deviation, with feedback, reduce misunderstanding, thereby reducing the cost of correcting errors. And each iteration of the end of the cycle can be validated, so that can quickly adapt to changes, timely adaptation to new requirements, to ensure product correctness.
So how to develop agile? The system construction of agile development mainly has the following six aspects:
1, organizational construction, that is, team building, the establishment of product managers as the leading, including products, design, front and rear development and testing team, rapid product iterative development, flat group management, we all have a common goal, more sense of achievement;
2, agile system, to find suitable for their own agile development approach, mainly to develop a comprehensive and efficient design, development, testing, on-line process, the establishment of a fixed iteration cycle, so that users more expect;
3, the Demand collection, this any way needs to have, need to have interactive manuscript, after the review, must determine the functional requirements list, responsible person, workload, responsible person, etc.
4, tool building, refers to the ability to quickly complete a matter of auxiliary tools, such as the development of a key installation of the environment, a variety of low-level log, monitoring and other platforms, publishing, packaging tools, etc.
5, system architecture, slightly ahead of the architectural design: Support good scalability and maintainability; modular basic function modules: Low code coupling, small dependencies between modules; plug-in business module: Reduce the coupling of marketing activities and business, self upgrade, self maintenance, client embedded logic, technical advance research, etc.
6, data operation and grayscale release, click Rate Analysis, user path analysis, channel selection, channel upgrade control and so on.
Experience in agile development
Clear focus and timely adjustment. Prioritize decisions by analyzing the urgency and importance of demand priority levels from 1 to 10 are not duplicated; the iterations are developed in a strict order of precedence, even if the last time is not enough, to ensure that the most needed functional development is completed, to readjust the importance of the requirements before each iteration, and to join important business needs and user requirements in a timely manner , and the need to adjust the importance of not high.
Listen to the user's voice and trust the user's intuition. Fully focus on online version users ' feedback in the iterations, and proactively contact users to learn about the obsession, quickly optimize in an iterative or next iteration;
The courage to innovate, small steps to run. Innovation in iterations, rapid implementation of innovative ideas, and continuous optimization in subsequent iterations.
Continually identify and solve problems. Test the team's commitment to the daily session through a daily release, test and verify the development of the functionality, give feedback on the implementation of the functionality for the first time, and quickly adjust, rather than discovering the implementation problems at the end of the development phase of the waterfall.
Continuously improve the product capability of the whole team. A dedicated team is oriented toward a product area, continually optimizes the user experience and product flow, maintains the product team's user and market sensitivity through the product iteration heartbeat, enhances the product manager's product sense, enhances the product consciousness of the technical team, and grows with the business and achieves a higher sense of achievement.
Finally, agile is not just a project that is quickly completed, but rather an efficient management of the entire product area's needs; agile is not simply quick, but a short period of continuous improvement, improvement and adjustment; Agile is not only the rapid development of the on-line, but the rapid prototyping, full test feedback changes to improve; Agile is not just a version of a few functions, but focus, decisively give up the current focus, agile is not only to increase demand at any time, but each iteration cycle of the needs of the review and sorting.