作者 | Allen Holub

译者 | 马超

出品 | CSDN(ID:CSDNnews)

今天笔者在外文的技术博客上看到了一个非常亮眼的建议合集,整理一下姑且起名叫有效软件开发的25条军规,下面和大家共同来赏析一下。

总则:不建立尊重和信任的团队氛围,就不可能有一支有战斗力的队伍。

1.团队的存在意见在于为程序员服务,团队负责人要将以人为本永远排在第一位。

2.最好的工作方式是协作,但吵架不是协作。单打独斗的孤胆英雄就算技术水平再高,也永远无法达到团体作战的水平。当客户、业务人员和程序员精诚合作时,我们会获得最佳结果。

3.僵化和敏捷是互斥的,团队负责人需要有随时欢迎更改组织、流程、产品、计划的胸怀与魄力。

4.结果比过程更重要,必须随时有人关注低于预期的结果,并在过程中努力加以改进。

5.敏捷协作工具有独特的关注点,有时与项目开发的关注点并不关联,高水平的团队领导必须在敏捷与开发可能产生的矛盾之间找到平衡点。

6.团队的工作、组织方式都是团队互联系统的一部分。如果没有改变一切的决心,你就无法改变任何事情。不能妄想通过修修补补来提升整个系统的效率。

7.最有效的组织是学习型组织。注意学习不仅仅是一项闲暇时用来打发时间的手段,它是工作的一部分,一个没有学习能力的团队最终都会走向灭亡。

8.改进是一项持续而运动整风式的工作。当出现问题时,我们会停下来想办法改进我们的流程,以保证问题就不会再次发生。注意做改进时要关注整个体系,而不是个人。有时,停下手头的工作来进行反思、改进,反而磨刀不误砍柴工。

9.简洁非常重要,从组织结构、流程到编写代码全部适用于简洁的原则。

10.一切都是迭代。我们期望改变甚至丢弃我们构建的一切,从产品到组织和流程,记住软件行业推倒重来的成本远远低于传统制造业,没有什么是不能失败的,也没有什么是能试错的。

11.团队必须要有宏大的目标与理想,比如致力于让客户的生活更美好,让客户的工作更轻松。不要想着一口吃个胖子,直接向客户提供一个完美的产品,要通过持续的交付来做到完美。

12.要从整体上思考,团队的目标是完整的产品,而不是项目。如果没有项目,也就不需要项目管理。

13.有效软件开发的工作核心是持续快速反馈。我们做一个小改动,将结果交付给客户,获得反馈,然后根据客户反馈调整我们的工作。这个周期尽可能短——几分钟、几小时,偶尔几天——而不是几周。这种检查和调整循环适用于过程改进和产品开发。

14.质量和速度的权衡中,永远都要以质量为先,不容商量。与提供一个满是缺陷的产品相比,延期交付的损失微不足道。

15.最好的计划是基于整体视角的战略性计划,而不是临时抱佛脚的战术性计划。

16.预测是不靠谱的。记住程序员估计的工期不是承诺。

17.我们衡量产品优劣的唯一标准是有没有将价值高的东西交付给客户。

18.如果团队中有纯粹的管理层,那么请管理层一定要管住自己的嘴,不要随便指手划脚,仅提供战略指导、支持并描述清楚需求就行了,具体技术团队的工作分派不要参与。

19.为程序员提供他们需要的环境和支持,然后躲得远远的。团队负责人要相信自治团队能够控制他们的工作方式和工作环境。优秀的团队都是自我组织和自我管理的,负责人要做的就是让优秀的人,能在一起共事。

20.团队自治并不意味着团队成员不相互协调,也不与更上层的组织进行协调。围绕战略目标到实施细节将所有方面信息都对齐,至关重要。

21.最好的团队是稳定的。新组成团队无法完成什么挑战性很大的工作。

22.强依赖于其他团队工作成果的组织根本无法做到敏捷,所以团队负责人要特别警惕那些没有其它人的支持我们无法完全工作的言论。

23.程序员的每一天都必须精神焕发,并且能够做好自己的工作。

24.奖励和惩罚是团队运营过程中必不可少的驱动因素。

25.沟通是达成有效结果的核心。沟通效率随着距离的接近程度和通信工具的提升而提高。当然面对面交流总是最好的,所以我们有时会尽可能拉近团队成员之间的物理距离。

译者简介:马超,CSDN博客专家,阿里云MVP、华为云MVP,华为2020年技术社区开发者之星。

原文链接: https://holub.com/heuristics-for-effective-software-development-a-continuously-evolving-list/

声明:本文由CSDN翻译,转载请注明来源。

有效软件开发的25条军规相关推荐

  1. MySQL数据库开发的 36 条军规

    转载自  MySQL数据库开发的 36 条军规 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务, ...

  2. 高性能网页开发的14条军规

    高性能网页开发的14条军规 作者:Yahoo! 来源:西风坊 酷勤网收集 2008-05-13 摘要 酷勤网 1. 尽可能的减少 HTTP 的请求数 2. 使用 CDN(Content Deliver ...

  3. 自从掌握了软件开发的 5 条核心原则,我每天工作时至少可以多摸鱼 4 个小时

    作为一名程序员,小伙伴们有没有想过这个简单的问题,"软件是什么?"可以闭上眼睛让自己想一会,如果觉得有点抽象不太好回答的话,来看看我的答案. 软件 = 程序 + 数据 + 文档 + ...

  4. 软件开发的22条黄金法则

    编程本质上是一门手艺活,既然是手艺,里面就会有很多个人技巧和经验. "破窗理论",DRY(Don't repeat yourself),曳光弹,正交性,这些词的意思是什么你还记得么 ...

  5. mysql 数据库军规_MySQL 数据库开发的 36 条军规

    写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...

  6. mysql 数据库军规_MySQL 数据库开发的33 条军规-阿里云开发者社区

    写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...

  7. 「Mysql数据库」MySQL数据库开发的 36 条军规!

    2019独角兽企业重金招聘Python工程师标准>>> 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 ...

  8. mysql数据库开发的36条军规

    前言 一般的小项目,比如几百人左右访问的项目,访问量几万的项目,如果想用缓存,单机实例完全够用.小黄图就是用的阿里云256MB配置的Redis缓存,日几千的访问量是妥妥够用的了.Redis号称可以支撑 ...

  9. 想要成为一名软件开发人员?这个职业道路指南可以了解下

    有无数种方法可以进入软件开发.有些人在中学或大学中发现了他们对编码的热情:其他人在职业生涯的中途偶然发现了发展. 但无论你对软件开发的介绍如何通过,所有有抱负的程序员最终都需要问自己同样的问题:我怎样 ...

最新文章

  1. 超出网络bios会话限制_?老旧BIOS说再见,拯救者系列设置超简单
  2. 2019年总结:把能努力的都努力好,最终等待命运垂青
  3. Scala之部分应用函数
  4. java 日历工具_java中强大的时间处理工具:Calendar类(日历类)
  5. 团队-爬取豆瓣电影TOP250-简单团队一阶段互评
  6. SAP License:SAP顾问的可持续性发展
  7. python 学习之路开始了
  8. linux 多线程(一)条件变量
  9. 支持html签名的邮箱app,在iPhone和iPad上创建使用丰富的HTML电子邮件签名 | MOS86
  10. Idea编译提示Java找不到符号解决方式
  11. Unity 3D中实现敌人追踪
  12. 到了这个点不建议“割肉”
  13. js如何获取当天日期的前几天
  14. 期货居间人一年能赚多少?期货居间人开户手续费有什么优势?
  15. 【计科快速入门】一、计算机早期历史
  16. matlab:实现“必应”的图片搜索功能并将图片保存
  17. PS使用钢笔工具抠图
  18. Linuxftp服务
  19. Android ViewGroup介绍+实例,大厂架构师经验分享
  20. Android 获取SIM卡信号

热门文章

  1. 小技巧 ----- 通过二进制串的位运算进行一维指数型枚举
  2. 【自考总结】烟火里的尘埃
  3. 面试—每日一题(5)
  4. C++ 动态开辟二维数组的的方法
  5. int main(int argc,char* argv[])的作用
  6. C# 程序实现功能目录
  7. Java读带有BOM的UTF-8文件乱码原因及解决方法(转)
  8. Ural 1001 Reverse Root 解题报告
  9. mysql 存储过程如何声明多个变量赋值_mysql存储过程:定义变量,赋值,判断,输出...
  10. 因式分解题目及过程_【数学.天问】为什么有些题目一看就会,一做就废?是不是你的手有自己的想法?...