What problems will you encounter if you use agile development for software project development?

Agile development in software development is suitable for products, but not suitable for projects, because the pace of product development can be controlled, while projects will be greatly affected by customers.

What problems will you encounter if you use agile development for software project development?
Software development

So, what problems will you encounter when using agile development for software project development?

1. Don’t bring the ultimate goal into agile development

What agile development needs to solve is how to gradually and accurately describe user needs and gradually present products, because users don’t know what the product they want looks like before the final product comes out. Any plan made by the developer is only satisfied with the current iteration. The iteration plan comes from adjustments made based on feedback from the previous iteration and subsequent tasks. Feedback and adjustment are very important. After determining the importance and priority, they should be re-evaluated together with the subsequent tasks. The subsequent tasks are not mandatory in the next iteration.

2. Traditional development methods first determine the goals and then try to imitate agile development

Agile development is a methodology that describes a process, and it has its own scope of application. The essence of agile development is risk control, rather than necessarily completing the product within the planned time limit. It tries to find problems as early as possible to avoid paying excessive costs when major problems occur later. This is because each iteration only solves a few of the most important problems. These problems basically come from the feedback from the previous iteration (customers must participate, which is extremely important), so directional errors can basically be eliminated. Therefore, it may eventually complete the product, which means reaching the final form that satisfies the customer, or it may not be completed. For example, the customer learns through several iterations that his idea is not enough to meet expectations, so the development is stopped.

3. Agile development reflects the interaction between developers and customers

For internal problems of developers, agile development can also be adopted, in which case the technical lead becomes the customer. For actual customers, the real task cycle must always be evaluated. If the cycle is too long, it needs to be divided into subtasks and added to the task list, and the importance and priority should be evaluated together with other tasks. Agile development requires developers to maintain close contact with customers. It is best to discuss application scenarios and design test cases with users. These test cases are very important. Customers may not understand technology, but discussing test cases with them can help Your own technical implementation serves as a reference, and at the same time, test cases are also an integral part of the iteration goals.

4. Clarify the project client (determine the referee)

If it is a commissioned project (outsourcing), then the customer is the principal; if it is a self-research project, then the customer is the boss. If the boss does not have the energy, then a customer group needs to be established (it is best not to have the project manager himself assume the customer role, unless you find that You have to make the money yourself, otherwise if you are both an athlete and a referee, your project will basically be declared obsolete). The customer team can be held by people from the product department. Personally, I believe that software projects should not include products in the development team. The risk of confusion is too high. They theoretically belong to the customer and not to the implementation. The development rhythm is controlled by agile development. The technical director and core R&D analyze product requirements and generate feasible products. Perform tasks.

5. Identify the software project manager

The software project manager produces software that meets customer needs, so he is still positioned as a partial output. However, in China, its positioning is generally vague. You are required to take full responsibility from above, but your responsibilities are unclear internally. Since you are the first to catch up, it is easy for you to get deeply involved in product work. At this time, you are no longer responsible for the customer’s products. Once the project fails, you will be taken advantage of. If you must put yourself in a higher position and have some ideals, please set up a special product group and conduct separate assessments with the program group. How to position a project manager differs from company to company. Domestically, they like to have one-on-one and have the power to mobilize resources. Overseas, there are all types, and there are also those who only coordinate, organize meetings, monitor progress, and do not participate in decision-making. It mainly depends on the company. What culture and processes.

=
Like (0)
adminadmin
Previous 2023-09-24 22:26
Next 2023-09-24

相关文章