解放军的著名战将之一丁盛,曾经回忆过司令部建设在提高部队战斗力方面的重要性:”在东北开了一个参谋长会议,提出我们现在要进行大规模的运动战、攻坚战,就要健全司令部工作,要健全后勤。现在不是小米加步枪,现在有炮了,靠你司令员、师长一个人是不行的,就必须有健全的司令部。”

对稍居规模模的软件开发公司,软件开发管理人员就相当于司令部的参谋长,提高部队的战术水平,协调战役的进行。

外界对软件,印象中就是一个或几个天才程序员,在一起突击一二个月,程序就搞拈了。实际上对于稍许规模的软件,这个原生态方法,更多的归于失败。这个方法相当于独行侠,游击战,对专业软件开发组织,承担具备一定复杂性的软件系统开发,有它极大的局限性。即便某些项目偶然成功,也不可复制。

对于现代软件开发来讲,已经不再是小米加步枪,而是有炮了。这个炮,就是,一整套威力强大的软件开发管理工具。在有炮的前提下,我们当然应该成立我们的司令部,实行有效的软件开发管理,提高我们的战斗力和战术水平,保证战役成功。

一个人程序写的好,充其量只是一个好的武功高强的侠客,一个好的战士。要想带好一支队伍,多打胜仗,就必须是一个好的指挥员。好的指挥员,平时多练兵练好兵,战时会知己知彼,调整部署,果断决定,随机应变,以己方最小的代价获得最大的胜利。

当然对于软件队伍,没有单纯的练兵。练即战,战即练,以战代练。以各种规模的项目,来实战磨练队伍的技战术水平。没有可战的项目,对于软件队伍来说,实际上这并不是一个问题,因为你至少可以重构,再次迭代你以前的软件产品。一来提升产品质量,二来提高队伍水准,很有价值。当然,开发新产品或新功能,那更好。

分享知识,分享心得体会,有助于队伍共同提高,取长补短。比较可行的办法,一个是午餐会(brown bag ),二是在公司内部建立一个知识共享网站,俗称wiki 。还有一个更重要的办法,代码互审(code peer review )。我个人并不赞同结对编程(pair programming ),资源浪费较大。

演习,对验证部队战斗力,是一个重要手段。三日一小练,五日一大练;对软件公司来讲,演习就是测试。最好做到随时测试,自动测试。小练就是单元测试,大练就是集成测试,系统测试。

随时了解队伍的状态,随时了解任务的进度。通过每日例行的晨会了解队伍的状态,通过进程管理工具来有效了解开发的进度。定期的谈心会(one on one )制度性地强化官知兵,兵知官。

招之既来,来之能战,战之能胜。这个就是持续集成。软件随时都可以编译,系统随时都可以构建。一键布署,最高境界。象不象枕戈待旦?

软件开发管理:管开发如治军相关推荐

  1. TuyaOS 开发教程-嵌入式开发套件

    0. 前言 ​ 智能时代的到来,让物与人的关系.物与物的关系更加密切.但是物联网行业种类复杂.接入环节冗长.设备规模以及数据量庞大等,都成为了物联网发展的难点.为此,涂鸦推出了一系列应用于IoT 领域 ...

  2. 软件开发管理规范流程图

    项目管理的根本目的是按时.保质.保量完成预期交付的成果.项目管理要让整个组织能清楚理解项目实施的目的.影响.进度,应做到项目组所有员工都应理解项目实施的原因.意义及客户的要求.在项目管理中还能看到公司 ...

  3. 软件开发管理(产品经理客户和程序员互撕解决方案)

    2019独角兽企业重金招聘Python工程师标准>>> 此图引用CMMI3,清楚地阐述了软件开发管理流程. 重点说明下需求管理这一块, 如遇需求变更,需要有,避免产品经理或客户频繁变 ...

  4. 创业期的软件开发管理(一)

    本文从多个角度分析创业时期软件开发过程中所遇到的问题及给出一些个人的解决方法.这是我的新身经历,这些方法不一定会适合读者,也一定是好的方法.作为一个创业团队的技术带头人,分析问题的角度或深度会有一定的 ...

  5. 创业期的软件开发管理(二)

    接上文创业期的软件开发管理(一) 软件队伍 技术主管 决策者对软件开发可能一知半解,他们会想当然地认为软件开发过程比较"简单":从市场上找一个技术带头人,然后组建一个开发队伍,其余 ...

  6. 软件开发管理规范(制度)

     版 本 页 标   题:China Advanced Construction Materials Group信息技术管理制度 主   题: 软件开发管理制度 文档编号: 版本说明: 版本号 版本日 ...

  7. 安氏图书报刊发行管理软件——图书人自己亲手开发的软件

    安氏图书软件--图书人自己亲手开发的专业发行管理软件 安氏书报刊发行管理软件是作者安保国先生集15年发行.批发.零售.编辑和编程经验,专门针对书刊发行商.代理商和批发零售商而开发的,并充分考虑和兼顾了 ...

  8. 软件开发管理中的博奕论

    软件开发管理中的博奕论 吴旻 泰岩网络工作室 软件开发人员大多懂得算法的威力,但无数失败的项目却向我们展示了一个又一个教科书解决不了的困境.不断前进软件的管理方式在力争避免项目失败,其实就是在不遗余力 ...

  9. 软件团队建设和开发管理及十种需要掌握的关键技术

    软件团队的建设和开发管理 毕业以后一直在从事软件工作,历经了10年坎坷,现在是一家IT企业的软件开发主管.在不断的摸索.失败.成功中,有不少的经验和教训,希望能和一些成长中的软件从业者分享. 软件组织 ...

  10. 幼儿园管理APP开发软件帮助宝宝更健康快乐的成长

    幼儿园管理APP开发软件帮助宝宝更健康快乐的成长. 幼儿园是许多小朋友们启蒙成长的地方,为了能够优化幼儿园内部的各个管理流程.体系的运行,幼儿园管理APP开发可以为其提供多样化的功能服务. 幼儿园的管 ...

最新文章

  1. matlab根据 2 6,#2.6 应用MATLAB进行模型处理
  2. ubuntu14.04无法连接有线连接问题
  3. 基于AES加解密的图像加解密算法
  4. day 64 Django 第五天 多表对多表的对应关系ORM
  5. 据库中事务、会话、线程这几个概念是什么关系
  6. jQuery: 合并表格中相同文本的相邻单元格
  7. 利用Crontab为Linux定时备份Mysql数据库
  8. 每天干攻防,都不会写驱动了
  9. C#编程(六十六)----------表达式树总结
  10. Android 5.1长按电源键添加重启功能
  11. 基于Halcon的螺栓螺丝部分划痕、腐蚀缺陷检测
  12. 地铁路线程序C语言,个人作业-北京地铁出行路线规划命令行程序完成总结
  13. C# 公历日期时间转农历日期方法 注解解读
  14. 2020-10-24 车机UI的SystemUI修改
  15. HDU6148 Valley Numer
  16. 在线K歌又现新模式 音遇APP能否站稳脚跟?
  17. CPU,GPU,NPU的架构差异对比
  18. 【MATLAB航空航天工具箱】学习笔记--时间系统
  19. 管理感悟:如何成为一名合格的管理者
  20. QUIC 协议是如何在蚂蚁集团落地的?

热门文章

  1. Es6 let const var的区别
  2. 【71】力科PCIe 协议分析仪常见操作
  3. 2 --> PCIE 协议栈的框架详解
  4. 如何下载使用期刊 LateX 模板
  5. 学生签到系统c代码_C++实现简单的学生管理系统
  6. # 研究杂感 × VOSviewer(第六辑)
  7. 计算机一级等级软件未来教育 手机版,计算机一级模拟考试软件手机版
  8. 百度之星冠军分享:AI图像赛事入门
  9. 《分布式系统概念与设计》读书笔记(第零章)
  10. Python FastAPI 微信公众号后台服务器验证