小作坊的大道理——读《走出软件作坊》有感

作为Individual project的一部分,每位选修高级软件工程的同学都要选择一本与软件工程多少有点儿关系的书来读。记得当时接到邮件之后,大家从四面八方涌向课代表的座位,想挑一本适合自己的“教材”。等我匆匆赶来的时候,课代表的桌上早已一片狼藉,我隔着千山万水,随便抽了一本《走出软件作坊》,心里想着“作坊”,这书名字有意思!对于编程,咱本身就是野班子出来的,路子从来不正,除了知道点儿什么“冒泡”算法,其他专有名词基本不懂,为了早日走出民间作坊,实现从野路子到正规军进发的梦想,我毫不犹豫选择了这本书。

书的序言中提到“三五个人,十来条枪,如何走出软件作坊”,可见其团队的规模和我们team project的情况很相似。结合在软件工程小组中的一些实例,我谈谈自己的感想。

1.项目经理(PM

文中提到,提拔项目经理,要看全面素质!其实对项目经理最早的认识是,此人不用写代码,但是在rosting小组,由于人手有限,PM还是承担了很重的编程任务的。书中提到了一名新项目经理在“新官上任”时遇到的各种问题,小到每日报告字体的大小和穿衣习惯,大到和客户交流和项目运营的方式,再到如何调节团队的气氛,都是对一名PM的重大考验。一名优秀的PM要做到眼光敏锐,思路清晰,目标明确。除此之外,普通程序员不能当项目经理,因为程序员的世界中没有模棱两可,没有区分不清的界限,只有分明的01,这不符合作为一名PM要遵循的“有原则性的灵活”这一准则。我以为所谓“有原则性的灵活”,就是有张有弛,松紧得当,这也是一名优秀的PM所需具备的最重要的素质。在涉及目标和方向的时候,PM要有能力驾驭和把控全局,同时要坚定立场,但在涉及具体执行方案的时候,要在把握大局的前提下,有放缩的空间。文中提到的“手里有5个球,你要玩好,不能掉下来,让别人看着还姿势漂亮,这才叫调度的好”让人印象深刻。

2.老系统维护

其实在本次的team project中不太涉及什么系统维护的问题,但由于是在IEG组原有架构的基础上,增强功能,所以同样涉及使用和修改大量原始代码的问题。文中提到:其实很多时候,觉得原有程序很烂,是由于与以前程序员排版不一致。其实在于读代码的过程中,有些变量命名方面的区别,并不影响理解代码,也不会造成理解歧义,只不过感觉“不爽”而已。读了这段文字,我果然像作者预测的那样——会心一笑,“不爽”这个词儿用得,简直说到心坎儿里面去了!每个人编程习惯不一致,所以在读别人代码的时候,即使是再简洁高效的代码,读起来也不会像自己写的读来那么流畅,总是感觉磕磕绊绊的,要是赶上没有注释,就更痛苦了。但是换到自己写代码的时候,总觉得每条代码都写的合情合理,再自然不过了,根本没有必要做多余的注释。由此,程序员小分队总在痛苦的“读代码”中开始,在草草的“写代码”收尾中结束。程序员的小心思被作者剖析的非常一针见血!

3.自我时间管理

这是一个老生常谈的问题,我自己在给mentorweekly reports中经常不自觉地流露出time conflicts之类的话题。在本书中,作者提到了四象限法,即把需要处理的事情分为四类:重要且紧急,重要不紧急,紧急不重要,不紧急不重要。作者作为一名CTO,用目标和赚钱来作为导向对需要处理的事物进行分类。这与第一次Advanced Lecture中张磊研究员为我们介绍的时间规划方式不谋而合。在我看来,无论有没有计划,我们都知道自己要首先完成重要且紧急的事物,然后着手紧急不重要的事物,既然紧急,就总会有某些必须迅速达到的目标。然而,如果没有良好的规划,我们很容易忽略那些重要不紧急的事物!比如说在平时注意提高自己的软技能,可谓无比重要,但是这些只会潜移默化的影响着我们,因此往往不容易被重视。

4.未来软件开发模式

书中在讲到相关章节的时候引用了李维先生在《Borland传奇》中的一段文字:所有的读者都可以感觉到,现在系统开发的时程要求的越来越快。信息机构的调查显示,系统和项目的开发时程将持续地缩短,到了2012年居然只有一天的时辰。在这段文字右侧的空白处,本书的上一位借阅者加上了如下的批注:“不靠谱,我等着那一天。”这引发了我的兴趣。文中提到,在互联网时代,网上可以找到合作伙伴,可以找开源学习资源,可以找公共code库,也可以发贴子,搜blog,其实这些办法我自己都亲身体会过,现代的网络的确为我们提供了很多便利。如文中所说,各种强大的管理工具也大大提高了工作效率。我虽然体会到了这些优越性,但同上一位借阅此书的师兄或是师姐一样,我认为一天的时间开发项目有点儿夸张!像我们在开发中使用的Team Foundation Server,个人认为存在着很多冗余的部分,有些过细的条目其实反过来降低了效率。至于未来的开发能否在真的一天内完成,让我们拭目以待吧!

by Minghui Tan

转载于:https://www.cnblogs.com/rosting/archive/2011/10/20/2218980.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介   《IT项目管理那些事儿》采用叙事的风格,通过11篇来自一线项目经理的实际经历的文章,分享项目经理人自身的实践和经验的案例,阐述项目管理的实施过程、项目经理的成长和团队成员的培养历程,从而和者达到共鸣并跟随作者叙事的脉动,以从中得以进一步的思索和升华。   简而言之,通过感受项目经理人的喜怒哀乐、经验教训,达到“它山之石可以攻玉”的目的。   《IT项目管理那些事儿》适合软件工程师、测试工程师、项目经理、IT经理人阅。 第一篇 项目篇 第1章 中小型民营IT企业项目管理手记 1.1 项目管理是什么 1.2 背景介绍 1.2.1 个人背景 1.2.2 公司背景 1.2.3 项目背景 1.3 软件工程 1.3.1 系统概述 1.3.2 系统规划 1.3.3 系统需求 1.3.4 系统设计 1.3.5 系统开发 1.3.6 系统测试 1.3.7 系统部署 1.3.8 系统验收 1.4 之后的事情 1.5 项目经理感悟 1.5.1 大中小型项目管理的区别 1.5.2 系统架构 1.5.3 风险管理 1.5.4 沟通管理 1.5.5 时间、成本、范围和质量的平衡艺术 1.5.6 项目经理自身学习的加强 1.5.7 政治问题 1.6 民营企业IT项目管理之路 1.6.1 完善企业管理基本制度 1.6.2 领导者的学习 1.6.3 建立PMO组织 1.6.4 构建专业的IT项目管理制度 1.7 小结 第2章 电信行业应用软件项目管理案例 2.1 项目背景 2.2 项目阶段定义 2.3 项目第一阶段 2.3.1 软件设计 2.3.2 项目团队 2.4 项目第二阶段 2.4.1 需求工程与需求管理 2.4.2 项目计划与跟踪 2.4.3 项目风险管理 2.4.4 项目流程规范 2.5 项目第三阶段 2.5.1 割接的技术准备 2.5.2 割接的组织与保障 2.6 反思与总结 2.6.1 另一种选择 2.6.2 项目经理的成长 2.6.3 对组织级项目管理的期望 第3章 说说银行项目那些事儿 3.1 引子 3.2 知己知彼,百战不殆 3.2.1 银行的基本背景 3.2.2 银行系统的特点 3.2.3 银行项目的特点 3.3 准备行动 3.3.1 项目的前期调研 3.3.2 前期调研的成果 3.3.3 项目成员的物色 3.3.4 项目成员的安排 …… 第3章 说说银行项目那些事儿 第4章 软件外包项目的项目管理和快速开发 第二篇 组织篇 第5章 IT企业PMO工作实践 第6章 小型软件企业CMMI评估实战 第7章 项目管理体系之形成与演变 第三篇 支持篇 第8章 IT项目经理的修炼 第9章 一家互联网公司的项目管理进化史 第10章 如何带好80后研发团队 第11章 项目管理之兵者诡道

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值