当前位置:网站首页>Ten wastes of software research and development: the other side of research and development efficiency
Ten wastes of software research and development: the other side of research and development efficiency
2022-07-01 04:22:00 【KerryZhu】

“ Two dozen programmers ,3 Year time ,4732 individual bugs, And the relentless pursuit of extraordinary software ”
《 Dreambreak code 》 This book , I saw it ten years ago , Read it in one breath . I was still Cisco( Cisco ) Work , I feel that the R & D team has made mistakes , In this book, you can basically see .
That year Lotus 1-2-3 Designer Mitchell Kapor, Leave Lotus After that, the open source application foundation was established (OSAF), Recruited a group of great programmers , Develop the so-called revolutionary next generation personal information management system --Chandler. This team seems to have no shortage of money 、 There is no lack of technology 、 No lack of experience , But we can't release a seemingly simple software .6 Years have passed ,Chandler Reluctantly struggled to release 0.7 edition , Spend millions of dollars , But it failed in the end , Dreambreak code .
In a 6 In the marathon of , Made a series of mistakes , As a result, the promising project was half dead . for example ,Chandler The project members decided to use P2P Architecture to share calendars , But no effort has been made to design relevant algorithms or protocols , Instead, spend a lot of time discussing Chandler The interface of , This drag is a few months , Last P2P Architecture is completely abandoned , It's a great waste . Do something like this , Then it was overthrown , It is also common in software development .
The last one discussed Negative list of software R & D Efficiency : Which is the number one enemy ? today , Discuss the other side of software development effectiveness , The opposite of software effectiveness , Causing low software efficiency “ waste ”. Waste can be divided into :
Direct waste : Unnecessary development costs or directly perceived waste , Such as ( Code that nobody uses ; Commented out code , Functions that have never been used 、 Over testing, etc ;
Indirect waste : Not directly visible development costs , Such as inferior quality 、 Code complexity 、 The extra cost of inefficient communication .
It doesn't matter if it's a direct cost , Or indirect costs , Don't look at the cause of it , But to see the results it produces , I summarize it as ten wastes .
The first 10 A great waste : The work done did not bring benefits into play in time
for example , The finished code is not submitted to the code base in time to build , In the developer's local machine ; The tested functions have not been delivered to users yet , Equivalent to in the company's inventory , There is no benefit .
The first 9 A great waste : Switching between different roles or tasks
for example , One person participates in multiple projects , Need to switch between different tasks , Familiar with too much business and project background , Often switch thinking 、 Switch virtual workspaces , It will cause more time waste .
The first 8 A great waste : Unnecessary handover in software
Handover of tasks in software , Naturally, it will increase the learning cost , Increases the cost of communication , Although there is inevitable handover in daily software development , But unnecessary or excessive handover , Will bring waste , for example :
The personnel turnover rate is relatively large ( If higher than 20%), Work handover between the old and the new
The transition between developers and testers , Such as development 、 Testing is two relatively independent teams ;
Handover of software from development to deployment ( If effective DevOps, This kind of cost is very low )
The first 7 A great waste : Overwork ( Out of range )
Because of the lack of an effective process 、 Documentation and consistency requirements, etc , The scope of the project or task is not accurately understood in the work , Did work beyond the scope , Or can't do just the right thing , Including over management 、 Over testing 、 Write too many documents 、 Over communication ( Too many meetings ) etc. .
The first 6 A great waste : wait for
Many people wait for others to work , For example, the communication and cooperation of the team are not active , Wait for others to come to the door ; There is no tacit cooperation between development and testing , The test waits for the development to submit a new version ; The links are not well connected , There will be waiting in the middle . Even in a team or a job, there is waiting , For example, continuous testing is not achieved , There will be waiting . Sometimes the test environment is not ready , Can't test , There will also be waiting .
The first 5 A great waste : Make mistakes again and again
No root cause analysis , Headache doctor 、 Foot pain cures the foot . Some people in the team don't make mistakes , But others do it again ; Some teams don't make mistakes , But other teams do it again ; Mistakes can be all kinds of , Including bad planning 、 Wrong document version, etc .
The first 4 A great waste : Repeat the wheel
There are open source tools or mature commercial tools on the market , It is not used directly , Or buy tools directly , Instead, you develop it yourself .
The first 3 A great waste : rework
Due to the lack of unified specifications 、 Complex system 、 Weak personnel ability , Lead to inferior quality 、 There are many defects , Cause redesign 、 Rewrite code , It's all rework . Excessive code refactoring 、 Regression testing and so on are all classified as waste caused by rework .
The first 2 A great waste : Useless functions and code
Useless functions and code , similar “ overproduction ”, According to some statistical results , In existing software applications , As many as 2/3 Features are rarely or never used . Including code that nobody uses 、 Commented out code, etc .
The first 1 A great waste : The direction of the whole product is wrong
For user needs 、 Wrong direction of business understanding , The whole product failed after launching , Nobody uses .
Reference resources :
Hit the soul : The first principles of software development and 10 Double efficiency
Negative list of software R & D Efficiency : Which is the number one enemy ?
Who is the number one enemy of software development ?
Welcome to click The questionnaire system Take part in the questionnaire , Thank you very much
边栏推荐
- Account sharing technology enables the farmers' market and reshapes the efficiency of transaction management services
- JMeter learning notes 2 - brief introduction to graphical interface
- [send email with error] 535 error:authentication failed
- [leetcode skimming] February summary (updating)
- 使用scroll-view实现滑块视图可能遇到的问题及其解决方法
- 【深度学习】(4) Transformer 中的 Decoder 机制,附Pytorch完整代码
- 创新界,聚势行 | 2022人大金仓“百城巡展”火热开启
- Class and object finalization
- Go learning --- unit test subtest
- js 图片路径转换base64格式
猜你喜欢

Maixll-Dock 快速上手

Huawei simulator ENSP - hcip - Hybrid Experiment 2

283.移动零

After many job hopping, the monthly salary is equal to the annual salary of old colleagues

MySQL winter vacation self-study 2022 12 (5)

2022年化工自动化控制仪表操作证考试题库及答案

TASK04|数理统计

Class and object finalization

ThreeJS开篇

MySQL advanced -- you will have a new understanding of MySQL
随机推荐
Edge浏览器的小技巧:Enter+Ctrl可以自动将地址栏转换为网址
[leetcode skimming] February summary (updating)
JMeter login failure, extracting login token, and obtaining token problem solving
CF1638E colorful operations
2022年聚合工艺考试题及模拟考试
Internet winter, how to spend three months to make a comeback
[Master / slave] router election in DD message
LeetCode 1399. Count the maximum number of groups
Knowledge supplement: redis' basic data types and corresponding commands
mysql 函数 变量 存储过程
定了!2022京东全球科技探索者大会之京东云峰会7月13日北京见
Chen Yu (Aqua) - Safety - & gt; Cloud Security - & gt; Multicloud security
After many job hopping, the monthly salary is equal to the annual salary of old colleagues
Introduction of Spock unit test framework and its practice in meituan optimization___ Chapter I
JS image path conversion Base64 format
1. Mobile terminal touch screen event
HoloLens2开发环境搭建及部署app
MySQL winter vacation self-study 2022 12 (5)
有效的 @SuppressWarnings 警告名称
Annual inventory review of Alibaba cloud's observable practices in 2021