项目管理之编码篇总结
一般来说,关于编码主要的人员是程序员这个角色去承担的,所以关于做项目管理,我们会关注项目的bug,项目的质量。
思考:提升程序质量是谁的责任?
A、程序员
B、项目经理
C、程序员+项目经理
D、程序员、测试、项目经理
E、所有人(选E)
以上的问题,其实所有的人都应该去关注程序的质量,编码需要程序员关注规范、质量、优化,项目质量需要所有人关注。我们做项目管理时,要把控程序的质量,那么就需要去提升程序员的编码质量意识,因为今天主要介绍关于编码的管理。
如何提升程序员的质量意识?
关于这个问题,不同的角色的关注点不一样,对这个答案也会有不一样的见解。
- 领导的关注点: 按期交付、客户满意、通过验收、能按时按量收钱。
- 项目经理的关注点: 能平衡好质量跟进度,能按需交付,质量要过得去。
- 程序员的关注点: 不要加班能完成工作,领导能满意,按时发工资!
- 测试的关注点: 测试时间不要成为开发的缓冲时间,程序不要太烂!
作为项目经理,对整个项目都要进行把控跟跟进的,所以一个好的项目经理,应该全部关注以上这些所有的角色的关注点。
这篇文章主要想整理一下,在编码这个工作事情上,项目经理需要怎么做才能让我们的工作更加有效。
分为以下几个部分说明:
一、编码是高技术含量的活
各种角色对程序员的偏见
- 不懂软件开发的老板
- "流氓式的老板"--不懂技术,直接要求什么功能,不管实现的难度等等。
- "军队式"的管理-- 有奖有罚,需要在规定时间完成。会变的很悲剧,被动
- 工厂化的管理思路(需求、分析、设计、编码、测试),对编码工作不是很看重。
- 没有一线开发经验的项目经理
- 觉得程序员没有管理意识,做的内容比较一般。
- 程序员
- 自嘲自己是码农。
以上是一些现实中存在的一些情况,我是之前属于一线开发技术人员的技术管理,所以其实整理上面的内容是想让一些项目经理或者老板清楚的认知:编码是高技术含量的活。
所以各个角色对项目的关注点进行考虑的时候,不能忽略编码的工作量的影响,慢工出细活。要重视软件开发中,编码这个工作的人员。
二、牺牲质量并不能加快进度
一般来说,大部分项目的工期都是很紧的,所以很多时候需求还没调研清楚,就开始开发了,这样一来,就会使开发的时候出现很多问题,会有很多不确定性。
二、1、项目管理的铁三角
一般认为:
1、不能三个方面都提出高要求。
2、 其中两方面高要求,第三方面就要降低要求。
以上真正实践下来,上面的观点靠谱吗???
根据大多数真正实践的人总结起来,得出的结论是错误的。
实践告诉我们:
- 降低质量只能延长开发进度跟增加成本。
- 良好的质量才能把控才能加快进度跟节省成本。
如果质量太差,会进一步影响开发的最终进度跟成本的,我们应该把控好开发的质量,无论是编码质量、设计质量、需求分析的质量。
三、编码工作的实用法则
1.程序员需要理解需求
- 需求体现了客户的价值,不要马上扎头写代码
- 案例分享: 我的需求文档评审
- 让程序员理解需求的一些最佳实践:
- 评审需求
- 参与需求调研
- 细化他负责部分的需求
- 写demo展示他对需求的理解和实现
- 分享本项目的需求及业务逻辑给其他同事
- 参与估算
- 拒绝需求变更
-
案例分享1: 原定一个月发布的版本不断地推迟。
-
案例分享2:我的客户喜欢在发布前提需求。
-
当前版本(当前迭代)原则上要拒绝需求变更:
- 当前版本不考虑,后面的版本再考虑
- 某些重大需求变更确实需要马上实施,那么就要停止当前的版本工作,重新规划,一定不能“逐步添油”的方式去完成工作。
- 程序员的工作需要有灵魂
为什么说没有灵魂??
1.不知道为什么为客户服务?
2、 不知道项目的一个远景
- 只有项目经理会操心项目,而程序员以打工的心态工作
4.程序员任何意见都听不进去,能写完代码就觉得可以了。。
如何有“灵魂"
-
理解需求
2.让程序员先行估算自己的工作,项目经理给出指导。
3需要尊重程序员的实际水平去帮助他提升,想办法让他提升,而不是靠强压。 -
一开始就要抓代码质量
工期与质量的问题又开始了。
微软
- MSF(微软解决方案框架)中提到的"零缺陷意识"
- 零缺陷意识是程序员的基本素养
- 零缺陷的代码才能把握进度
- 零缺陷的意识和代码不好培养,我们需要避免:
- 性价比很低的代码走查
- 抽样检查及后期的代码走查
- 建议做法:一开始加猛抓代码质量
- 每天都做代码评审及指导,全程程序员都参与
- 100%代码都要检查,全不放过!
- 抓代码质量,更重要的是提升程序员的编程素养。
- 后期程序员编程素养提升后,可减少甚至不需要代码检查了。。。
- 自己做的东西需要自己先尝试一下
-
编码规范不是摆设
-
写代码也是在做软件设计
8、关注程序员的需要
弹性上班、身体状况、其他情况等等。
9、男女搭配效率加倍
对女生的误解:
非常不利
管理成本很高、纪律性很差
10、避免"外包人头"