当前位置:网站首页>The agile way? Is agile development really out of date?

The agile way? Is agile development really out of date?

2022-06-24 19:27:00 LigaAI

Write it at the front 「 The way of agility 」 yes LigaAI New column . ad locum ,Liga I hope to discuss with more friends 「 agile 」 knowledge , Excavate and discover more in work and life “ Agility can ”. The first chapter of the new chapter , Let's talk “ What is agility ”.

 Insert picture description here

Agile development is regarded as “ The good news for developers ”, But it is frequently criticized by domestic teams as “ The great lie of the century ”. Is agile development really not feasible in China ?

in fact , Many teams claim “ agile ” It's not the agility that initially liberated developers , It is One sided understanding of requirements 、 Extreme pursuit of fast delivery 、 Ignoring software quality “ Tianyuan agile ”. Agile development is practiced in China “ wandering ”, From right “ agile ” Lack of deep understanding , Floating applications will “ agile ” Mistake for “ Fast ”. therefore , I hope to discuss the following issues with you “ agile ” The essence of :

  • What is agile development ?
  • Agile development 「 agile 」 What do you mean ?
  • Is agile development better than waterfall development ?
  • What is the first step in building an agile development team ?

One 、 What is agile development ?

Agile development comes from 1990 It has been widely concerned since the s , As a new software development method , It describes the ability to respond quickly to change .

Agile Alliance (agilealliance.org) Agile development is defined as follows : Agile software development is a group based on the agile software development Manifesto and the 12 The framework and practice of the values and principles expressed in the three principles . below , Let's review 「 Agile Manifesto 」, And the values and principles behind it .

1. Agile Manifesto Agile Manifesto

「 Agile Manifesto 」 Born in Snowbird City, Utah , A ski base that has nothing to do with the software revolution or technological innovation .2001 year , Suffer from unreasonable and tedious processes and documents in software development , From many different areas of software development 17 Delegates gathered together ( A holiday ), Discuss the future of software development . Final , They have reached a consensus on values and principles , Jointly signed and issued 「 Agile software development Manifesto Manifesto for Agile Software Development 」, namely 「 Agile Manifesto 」.

「 Agile Manifesto 」 In Extreme Programming (XP)、Scrum、 Dynamic system development (DSDM)、 Crystal development (Crystal Clear)、 Feature Driven Development (FDD) And so on , It also defines four core values and twelve basic principles of agile development .

2. Agile values Agile Values

「 Agile Manifesto 」 It conveys four values different from traditional software development , Agile development pays more attention to

  • Individual and interaction Individuals and interactions
  • Working software Working software
  • Customer cooperation Customer collaboration
  • Response variation Responding to change

「 Agile Manifesto 」 At the end of the values :“ Although the right has its value , We pay more attention to the value of the left ”, And the four values of the left item , Processes and tools 、 Detailed documentation 、 Contract negotiation and plan following are the traditional software development modes —— The core of waterfall software development .

 Insert picture description here

3. Agile development principles Agile Principles

「 Agile Manifesto 」 Further expand the four values , Twelve principles that agile development should follow are added .

 Insert picture description here

4. agile development Agile Development

Agile values and agile development principles together illustrate , Agile development aims at customer satisfaction , Pay attention to the ability and value of individual members , Emphasize the need for close collaboration and efficient communication within and outside the team , It is believed that the individual drives 、 Team trust 、 Pursuing excellence and optimizing progress can drive the project forward .

The original intention of agile development is to return software development to the software itself that customers want , Replace normative documents with value outputs to drive project completion . Compared with non agile traditional software development mode , Agile development eliminates unnecessary processes and documents , Through job simplification and efficient cooperation within and outside the team , Short lead time delivery to continuously realize software value , Customer satisfaction .

Two 、 Agile development 「 agile 」 What do you mean ?

To answer “ What is agility ”, First of all, we should know what is the core of agile development : Why agile development requires short cycle development 、 Continuous delivery 、 Embrace change and write less ?

  • Short lead time development and continuous delivery To get customer feedback and confirm the research and development direction , Avoid that the final product does not meet customer expectations ;
  • Embrace change Because the demand is changeable , To make the final software results conform to the actual use scenarios , Become valuable software ;
  • Write less documentation To deliver information efficiently , Focus on R & D , At the same time, it can avoid the waste of time caused by invalid documents due to requirements changes .

It can be seen that , Agile development is essentially a process of gradually defining and enriching requirements , and The core of agile development is to respond to changes in requirements . let me put it another way , Agile development reduces trial and error costs ( For example, shorten the R & D cycle 、 Discard unnecessary documents, etc ), Reduce the impact of demand change on project promotion .

If agile development is an experimental , Constantly implement “ plan - practice - feedback - Optimize ” Circular software development pattern , Then agile is a kind of advocate to simplify the complexity and benign feedback , Emphasize the values of regular optimization and continuous progress .

Why? 「 agile development 」 Domestic practice will deviate from the original track , At last it evolved into 「 The agile development of Chinese countryside 」? Because people put 「 agile 」 A mistake .

Agile emphasizes to adjust and optimize according to changes in time , To reduce the negative impact , It reflects the ability to quickly respond to changes , Not the ability to develop quickly . Even out of the realm of software development , Agile is still a way to implement “ life - Work - Study ” Problem solving thinking . Just as Baidu entry defines : Agile is the ability to succeed in uncertain and chaotic environments by creating and responding to change .

3、 ... and 、 Is agile development better than waterfall development ?

If you pay careful attention 「 Agile Manifesto 」 You will find that , The early Agile Alliance never denied the value of waterfall development , Nor does it mean “ Agile values are more valuable than traditional software development values ”. actually , Agile development and waterfall development , As two different software development modes , There is no absolute distinction between good and bad , After all, any method or tool should be discussed in specific scenarios , Team composition 、 The nature of the project 、 Time / Cost and other support will affect the final determination of the effectiveness of the method .

A friend may want to refute :“ Master duanshui, you , The waterfall is out of date , Now everyone likes to be agile .” Yeah , Why do more and more teams and organizations give up waterfall development , Choose to adopt various agile development methods instead ?

Because the market is changing rapidly , The needs of users are also changeable . Compared with the standard process of waterfall development , Agile development is more adaptable to changing requirements , Be responsive . After all, there is only rapid response to demand changes , To ensure absolute competitiveness in the current business environment .

「 agile development V.S. Waterfall development 」 It's an old proposition , Each method has its own characteristics , It also applies to different scenarios :

  • Waterfall development is more suitable for The project needs are clear and rarely changed , Or right High requirements for project plan Development projects ;
  • Agile development applies to The demand is changeable Low degree of functional coupling or sustainable superposition of availability , as well as Market feedback is urgently needed Project .

Stamp pictures to learn more 【 agile development V.S. Waterfall development 】 contrast  Insert picture description here

Focus on LigaAI official account And reply to the key words 「 Contrast figure 」 Get the comparison of exclusive Edition

Four 、 What is the first step in building an agile development team

《 New product development games 》 The author found that , The most outstanding team of the world's outstanding companies has the following three characteristics : Beyond the ordinary 、 Autonomy and versatility . If you want to build an excellent agile development team , Where to start ?

First, define what a great agile development team is like .「 Agile Manifesto 」 Description of the “ Ideal team ” It has the following characteristics :

  • Business people and developers work together
  • Communicate effectively ( It is better to communicate face to face )
  • Individual morale , Members are the core of the project
  • Persistent pursuit of technical excellence and good design
  • The team should reflect regularly , Optimization and adjustment
  • Those responsible 、 Developers and users work together to maintain a steady pace

If the ideal agile development team is Efficient cooperation 、 Good communication 、 One's fighting spirit soars aloft 、 The rhythm is consistent Of , So the first step to building an agile development team , Is to have one 「 Small, fine and flat 」 Software R & D team .

  • Brooks' law states that , Due to the increase of communication cost within the group, etc , Putting more people into developing an urgent project will only make progress slower . therefore , In Agile Development , The smaller the team, the better , and The optimal agile team size should be maintained at 4-9 Between people , Less is better than more .
  • The development team must master all the skills required to complete a project , To smoothly promote the completion of the project . Agile development teams need skilled and versatile members , let me put it another way , Deep professional and cross functional 「T Type talent T-shaped Person」 It is the best choice for agile development .
  • The human nature assumption implied in the flat organizational structure is , In addition to social needs , There is also a desire to fully express one's abilities 、 The desire to fulfill one's potential . therefore , In flat tissue , Members can achieve their goals through independent exploration and continuous improvement , Drive project progress .

In addition to being small and refined , There is also a content in agile development principles that depicts a specific team portrait :

Best architecture 、 Requirements and design come from Self organizing teams .

The best architectures, requirements, and designs emerge from self-organizing teams.

What is? “ Self organizing teams ”? How managers should build a qualified self-organizing team ? Can an ordinary development team grow into a self-organizing team ?

In the next article, we will continue to discuss with you 「 Self organizing 」. Want to get more agile development information at the first time , Stay tuned [email protected]

Click on LigaAI - A new generation of intelligent R & D cooperation platform , Apply online to experience our products .

原网站

版权声明
本文为[LigaAI]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/175/202206241718373986.html