170104 - Waterfall and Agile Development

Waterfall development:

Strictly divide software project development into multiple stages: requirements analysis, element definition, basic design, detailed design, coding, unit testing, combination testing, system testing, etc.

Emphasis on documentation, the appearance of the software can only be seen in the later stage of development

The waterfall method defines all developers as workers on the assembly line. Everyone can only touch things within their own scope of work, so they have different understandings of customer requirements. In this case, coders are more likely to change requirements than designers. great resistance

Strict phasing leads to the difficulty of reverse engineering, that is, going back and revising earlier mistakes will cost a lot, and it will have a greater impact

 

Agile development:

The core is iterative

 

Software that works is better than well-designed software

Customer cooperation trumps contract negotiation

Responding to change is better than following a plan

 

Simple design, repeated iterations

The functions that customers care about the most are completed first

Carry out the next iteration based on the customer's comments on the outcome of each iteration

 

The development team has two teams, the business team and the technical team. All developers should have the same understanding of project activities, so communication is very important, and the balance of communication is also very important. If the business side is too strong, it will continue to ask for features and delivery dates in project meetings, and ignore it. The developer's likelihood of completion and understanding of requirements; if developers control communication, technical terms will replace business language in project meetings, and it will be difficult for developers to really understand the real needs of customers. Therefore, the adjustment ability of the project manager is very important.

 

Waterfall project management is top-down imperative management, and agile management is a combination of team self-management and project manager service management

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326117436&siteId=291194637