当前位置:网站首页>Let agile return to its original source -- Some Thoughts on reading the way of agile neatness
Let agile return to its original source -- Some Thoughts on reading the way of agile neatness
2022-06-26 23:22:00 【yazi0127】
Read it in two days Robert C. Martin Master's new work (2020 year 7 Published in )《 The way to be agile and tidy 》, The most intuitive feeling is the master's confusion about agility ( Software industry , Maybe it's not just the software industry , A messy interpretation and practice of agile ) I can't see it anymore , I wrote this book , Let agility return to its roots , It clearly explains what agile is , And how we should practice agile .

1. How to understand 《 Agile Manifesto 》
When it comes to agility , Many people think of , Or you can say it , yes “ Agile Manifesto ”.” Agile Manifesto “ It is a concise summary of agile , It's a value . In the first chapter of this book, the master expounds “ Agile Manifesto ” The birth of : That year 17 Masters gather in Snowbirds , They have many years of development experience in the software industry , Experienced the baptism of various successful or failed delivery projects , They precipitate their years of experience , It took two days to discuss , For how to deliver software that meets customer needs faster and with higher quality , The core laws of software development are summarized , In the end, I put forward “ Agile Manifesto ”.

" Agile Manifesto “ Not on paper , If we want to practice agile , You need to understand ” Agile Manifesto “ The deeper content behind it . Master in 1.3.1 Explain the project management ” Iron Cross “,“ Quality 、 Speed 、 cost 、 complete , You can only choose 3 individual , there is no way out 4 All of them , That is, high quality can be required 、 Fast 、 Low cost , In this way, the project will not be completed . Low cost can also be required 、 Get the project done quickly , In that case , The quality must not be good .”
I think , Students who have been in charge of software projects , I will deeply agree with the master's summary , When I finish reading this sentence , I was just saying “ Too right ”. Bring items each time , Or look at other people's projects , All these four aspects are weighed . Because I am not willing to weigh , We place our four major expectations on “ agile ”, I hope agile is a good medicine to realize these four aspects , One dose down , Miracles happen , Projects can be low-cost 、 apace 、 Deliver on time with high quality . The master hit the nail on the head ,“ Agile is a framework , Help developers and managers with practical project management , But this kind of management is not automatic , There is no guarantee that the manager will make the right decision , Even within the agile framework , It is also entirely possible to mistakenly manage the project and push it to failure .”

2. General rules for agile panorama
1) Team speed : The amount of work done by the development team per week , The unit of measure is “ Story points ”.
2) Burnout figure : Shows how many story points are left before the next major milestone .
3) Frozen delivery date : Once the delivery date is selected, it will be frozen , Because the delivery date was chosen for important business reasons .
4) Waterfall development mode : To analyze problems , Design solutions , As designed . This may be right , But it is no longer suitable for the current complex software development .
5) Agile development model : Agile projects begin with analysis , But the analysis will never end . Every iteration of the project from start to finish , Will include analysis 、 Design and implementation .
6) Rate acquisition : After four to five iterations , We will find that “ How many stories can be completed in one iteration ” The data is different in each iteration , But on average, it will be at a relatively stable rate , In this way, we can better judge when the project can be completed .
7) Agile data generation : Agile data generation , Managers use this data to drive the project to the best possible results .
8) Back to managing the Iron Cross : Adjusting the scope is the only thing you can do .

3. At the heart of agile's nature —— The ring of life
Master in this book , Choose extreme programming practices to explain agile , He believes that in all agile processes , Extreme programming is best defined 、 The most complete 、 The least chaotic . The ring of life is Ron 、 Jeffries' picture of extreme programming practices , As shown in the figure below :

1. Business oriented practices : The way of development and business communication and the principle of development management project
- Plan the game : How to decompose a project into features 、 Story and mission
- Small step release : Teams work in small chunks
- The acceptance test : Is a property 、 Stories and quests provide “ complete ” The definition of , Show the team how to set clear completion criteria
- The whole team : The software development team consists of many different functional personnel , Including programmers 、 Testers and managers , They all work together towards the same goal .
2. Team oriented practice : It provides the framework and principles for the development team to communicate and manage within the team
- A sustainable pace : It can prevent the development team from consuming resources and energy too quickly before completing the task
- Code collective ownership : Ensure that the team does not divide the project into a bunch of knowledge islands
- Continuous integration : Keep the team focused on frequent feedback loops , To keep abreast of their current progress
- metaphor : Create and disseminate vocabulary and pronunciation about the system to be developed , So that the team can communicate with the business department
3. Technology practice : Guide and discipline programmers , To ensure the highest technical quality
- Pairing : Enable technical teams to share knowledge 、 Timely review and real-time collaboration , Drive the team to continuously innovate and maintain correctness
- Simple design : Practice of coaching the team to avoid wasting energy
- restructure : Encourage continuous improvement and perfection of all workpieces
- Test-driven development : The technical team is able to maintain the highest quality safety rope while advancing rapidly
Each chapter at the back of this book explains the above practices in detail . Here it is , But a lot of repetition .
4. Agility in large organizations
The master emphasized many points in the book “ Agile is a small code of conduct that helps small teams manage small projects .”, Agile is for small and medium-sized teams , For small and medium-sized teams , Agility is very effective . So what about implementing agile in large organizations ?
There are a lot of A framework for large-scale agile ,SAFe,LeSS, Scrum of Scrum wait , The master said that he had not implemented , There is no way to comment . But he made it clear that the problem with large teams is that all societies 、 Problems common to all civilizations , And from our present civilization , This problem seems to be solved well . The answer to how to organize large teams is to organize developers into small agile teams , Then use standard management and operations research techniques to manage these teams , No special rules are required .
I studied last year SAFe, Also participated in relevant workshop, Yes SAFe Have some understanding . Compared with Scrum,SAFe The framework defines some rules and activities , such as PI planning, SOS, To coordinate Scrum Team activities . in addition ,SAFe The framework draws on lean thinking , It is suggested that enterprises start from the business value stream , By combing the value stream , Determine the agile release train . These are all co-ordinated plans , As the master said , Large scale agile is using agile to solve the problems of small development teams , Use scientific management to solve .
5. Software technology
The book translates into craftsmanship , But I prefer to use the word craft . The Master explained in detail " The ring of life ” The various practices of , Development teams that emphasize agile implementation , In addition to the application spring planning, Will stand , Kanban these practices outside , Need to pay attention to software engineering practice , Such as TDD, restructure , Pair programming , Continuous integration and so on , because “ The ability to deploy software to a production environment multiple times a day , At the same time, it does not affect the overall stability of the system , The team needs to master extremely advanced technology and engineering practice ”.
This book is like a ray of sunshine in the morning , Get rid of the fog of agility , Explain the origin of agile clearly , Return to the essence and purpose of agile —— Deliver working software to customers as soon as possible . To achieve this goal , Software development teams need to know the rules of agile operation ( Split user stories , Estimate , Burnout figure , Will stand , Kanban, etc ), More importantly, developers need to apply engineering practices , Responsible for your code , Responsible for the developed software , This is the real practice of agile .
边栏推荐
- 用户在hander()goroutine,添加定时器功能,超时则强踢出
- leetcode 1143. Longest common subsequence (medium)
- L'outil de nettoyage des données flashtext améliore directement l'efficacité de plusieurs dizaines de fois
- 6.24 learning content
- 代码之外:写作是倒逼成长的最佳方式
- Solid and ambient colors
- 电子协会 C语言 1级 30 、 等差数列末项计算
- Do an online GIF synthesis service at no cost
- Leetcode - the best time to buy or sell stocks
- [kotlin] keyword suspend learning of thread operation and async understanding
猜你喜欢

Wechat applet automatically generates punch in Poster

Raspberry pie preliminary use

Three solutions for improving embedded software development environment

【界面】pyqt5和Swin Transformer对人脸进行识别
![[interface] pyqt5 and swing transformer for face recognition](/img/37/b259627a8ffd82afe8e8f3029bf290.png)
[interface] pyqt5 and swing transformer for face recognition

Open world mecha games phantom Galaxy

CVPR2022-不对称分辨率图像的立体匹配

go语言中的私聊功能处理
![Selenium电脑上怎么下载-Selenium下载和安装图文教程[超详细]](/img/ec/1c324dcf38d07742a139aac2bab02e.png)
Selenium电脑上怎么下载-Selenium下载和安装图文教程[超详细]

Crawler and Middleware of go language
随机推荐
Unity: the referenced script (unknown) on this behavior is missing“
Tensorrt notes (VII) sorting out tensorrt use problems
[mixed programming JNI] Part 12 jnaerator
300题 第三讲 向量组
FPGA -vga display
【强基计划】数学与物理竞赛中的微积分部分视频
主从复制系统设计
开放世界机甲游戏-Phantom Galaxies
Leetcode (452) - detonate the balloon with the minimum number of arrows
Development and learning route of golang language
Color matching and related issues
CVE-2022-30190 Follina Office RCE分析【附自定义word模板POC】
VB. Net class library to obtain the color under the mouse in the screen (Advanced - 3)
【Try to Hack】正向shell和反向shell
6.24 learning content
C language: a simple calculator is implemented by using code many times
300 questions lesson 3 vector group
WP collection plug-in tutorial no thanks for WordPress collection of rules
通过两个stack来实现Queue
不花一分钱做个在线的gif合成服务