当前位置:网站首页>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 ”.

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 .

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

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 
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 .
边栏推荐
- 工作6年,月薪3W,1名PM的奋斗史
- 请问一下2.2.0版本支持动态新增mysql同步表吗
- php OSS文件讀取和寫入文件,workerman生成臨時文件並輸出瀏覽器下載
- Dataworks development ODPs SQL development production environment automatic completion of ProjectName
- 制造业项目MDM主数据项目实施心得
- Internet of things? Come and see Arduino on the cloud
- Landcover100, planned land cover website
- The efficiency of okcc call center data operation
- 我用sql形式的会出现cdc读取乱序吗
- Starring develops httpjson access point + Database
猜你喜欢

How do programmers do we media?

Understanding openstack network
![subject may not be empty [subject-empty]](/img/6b/9b57a7ed3ab086036cb6dfe0b31de4.png)
subject may not be empty [subject-empty]

Why useevent is not good enough

How to use R package ggtreeextra to draw evolution tree

Volcano成Spark默认batch调度器

Interprétation de la thèse (SR - gnn) Shift Robust GNNS: Overcoming the Limits of Localized Graph Training Data

Power efficiency test

优维低代码:构件渲染子构件

Mq-2 smoke concentration sensor (STM32F103)
随机推荐
论文解读(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》
three. Basic framework created by JS
An accident caused by a MySQL misoperation cannot be withstood by High Availability!
UART communication (STM32F103 library function)
LCD1602 string display (STM32F103)
php OSS文件读取和写入文件,workerman生成临时文件并输出浏览器下载
Does version 2.2.0 support dynamic addition of MySQL synchronization tables
Vs2017 setting function Chinese Notes
論文解讀(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》
Preliminary study nuxt3
Geoscience remote sensing data collection online
[computer talk club] Lecture 3: how to raise key issues?
At present, only CDC monitors Mysql to get the data of new columns. Sqlserver can't, can it
What type of datetime in the CDC SQL table should be replaced
《Go题库·11》channel的应用场景
智能合约安全审计入门篇 —— delegatecall (2)
MySQL binlog data source configuration document, please share
NFT质押流动性挖矿系统开发技术
Xiaobai, let me ask you guys, is MySQL binlog extracted by CDC in strict order
How to select the ECS type and what to consider?