当前位置:网站首页>On agile development concept and iterative development scheme

On agile development concept and iterative development scheme

2020-11-10 13:57:15 InfoQ

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Since agile development, this probability has come into our view , In just a few years , Software development has entered the era of high-speed development . It seems that practitioners are talking about speed , On iteration , Whether or not you feel the benefits of allergy development , Follow the wind first , Just get close to this new technology , It's like walking in the forefront of the industry ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Some people in the field use agile development for projects , Every iteration of it can see the product that is constantly improving , Relevant personnel expressed a great sense of achievement , Customer satisfaction is also high ; Other developers use iterative development , Develop software completely according to customer requirements , According to the priority to the iteration cycle . Sometimes I think about , Agile development seems to be divided into iteration cycles , Can these two be the same thing ?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" What is iterative development ? Iterative development process :"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In iterative development , The whole job is divided into a series of pocket 、 Fixed time small projects , This is called a series iteration , It's iterative development . Each iteration includes a definition 、 Demand analysis 、 Design 、 Implementation and testing . Agile development is based on the needs of users , Use iterations 、 Develop software step by step ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" The former is the software development cycle model , It's a development process ; The latter is a collection of various software development project management methods , This is the fundamental difference between the two . Corresponding to iterative development is the waterfall model 、 Spiral model , And the corresponding to agile development is Scrum,XP( Extreme programming (xp) ),Crystal( Crystal programming ), So the two should not be confused , But there is a certain connection ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In the definition of agile development , It uses an iterative approach . Why should agile development adopt iterative development ?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" The core principle of agile development is to focus on changes in the project . Iterative development is suitable for projects with unclear requirements , If there is a sudden change in requirements during development , The impact is smaller than other models . And now in many projects , It's common for requirements to change during development , So iterative development is more advantageous , This is in line with the change focused nature of agile development ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Iterative development does not require that every phase be perfect , Knowing that there are still deficiencies, but not perfect , It's about building the main function in the shortest time , Finish one at the lowest cost “ Main semi-finished products ” Until submission , And then through the feedback from customers or users , In this “ Main semi-finished products ” Gradually improve it , This is in line with the incremental changes in Agile Development ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Agile development is the overall concept , Iterative development is a means to practice the concept of agile development . Agile development in addition to iterative development , It also includes many other management and engineering practices , Such as evolutionary architecture design 、 Agile modeling 、 restructure 、 Automatic regression testing (ART). Sum up , Agile development and iterative development are the relationship between the whole and the part , The former is a family , The latter are family members ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" The development history of agile development concept "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/10/103e5af3249f6c4d2474d5b393ed397e.png","alt":null,"title":"","style":[{"key":"width","value":"100%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Although agile is not the same as iteration , But they are also inseparable , The organic combination of the two , It can not only ensure the product quality, but also maintain the advantages in the process of continuous improvement of the project . Absorb the essence , Break the dross , That's the only way , The project will be perfect ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" So the agile and iterative approach must be perfect ? It doesn't have to be , But it is undeniable that agile development has great advantages over traditional development ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In recent years , Because of some specific needs , More and more software teams begin to adopt agile development mode , But in the process of development, the understanding of its core idea is not enough , Some agile development teams don't even have managers , There is only one name Scrum Master Report to the product manager , The division of responsibilities is also ambiguous ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Except for software companies , In many regular Enterprises , Agile development has become a kind of development process without responsibility . So called product manager and sales 、CEO Add functions at will 、 Changing demand , And then give it to the development team “ agile ” Development . In the development process , Demand survey 、 Design 、 feedback 、 Code review 、 test 、 Not at all . To put it mildly, it's called agile development , It's hard to say , It's a hodgepodge of technology , What can be done is what step , Completely ignored the essence of agile development ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" But in fact , Agile development is not like this , The core of iteration lies in the advanced planning of software . Without the guidance of a professional planner , The software system will be unqualified  -- Time overrun 、 Budgetary overspending 、 It's full of all kinds of unscientific ideas 、 It doesn't matter whether the requirements are logical or not . therefore , Whatever you use to develop your thinking , No matter what kind of development method , We should work out a reasonable and scientific development plan , Only in this way can we get twice the result with half the effort ."}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" For more details on agile development, see :"},{"type":"link","attrs":{"href":"https://www.learun.cn","title":null},"content":[{"type":"text","marks":[{"type":"underline"}],"text":"https://www.learun.cn"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢