Agile software development is to prevent process expansion in project development. To this end, an agile software alliance has been established and the "Agile Software Development Declaration" has been created.
I have the following feelings of agile development:
One. The role of emphasizing people and people during the development process. Not only requires development teams to have a positive atmosphere while emphasizing cooperation and communication between members and members. For example: Each two members form a pair, jointly develop a function, and this is to replace at least once a day. This guarantees the circulation within the project group, and the knowledge is also easier to spread.
two. Reduce the role of the tool. The author emphasizes the use of simple tools in the development process until these simple tools are no longer applicable. In the appendix after the book, a development team delayed a lot of time due to the introduction of a code management tool in the middle of the project, and delayed a lot of time on the tool configuration, training, and modification errors.
three. In each iteration, you should give priority to the identified material, followed by the next iterative material. In each iteration, it is necessary to achieve the current material. "The team's starting work is to achieve the first user material in the simplest possible way. Only when a user material is urgently needed to change the infrastructure, they will introduce this infrastructure." At this point, I have some doubts: if the first material and the second material are not uniform on the design of the database, then the database needs to be changed when carrying the second batch of materials. If similar things appear in the middle and late period of the project, will it have a bad impact?
four. It is recommended to write unit testing and acceptance test before writing code. Then write code for the purpose of testing. Such "written code", can effectively reduce the redundancy of the code. At the same time, the unit test can reduce the coupling between the code.
Fives. Refactoring and metaphor is important. I think this doesn't just apply to agile development.
Because there is no agile development in the project, most of the knowledge is limited to the hard return. I hope to have the opportunity to practice.