构建之法--第三章读书笔记(1)个人能力的衡量与发展

个人能力的衡量和发展

这一节主要讲述了初级软件工程师如何成长?衡量个人工作量和质量的指标、以及在团队中如何做一个优秀的队员。


初级软件工程师如何成长?

1、积累软件开发相关知识,提升技术技能(如对具体技术的掌握,动手能力)。如:Java、C/C++、诊断/提高效能的技术,对某一开发平台的掌握等。
2、积累问题领域的知识和经验(例如:对游戏、医疗或金融行业的了解)
3、对通用的软件设计思想和软件工程思想的理解。
4、提升职业技能(区别于技术技能)
职业技能包括:自我管理的能力、表达和交流的能力、与人合作的能力、按质按量完成任务的执行力,这些能力是通用的,IT行业还是其他行业都是一样的。
5、实际成果
参与的产品用户评价如何?市场占有率如何?对用户有多大价值?你在其中起了什么样的作用?


软件开发的工作量和质量如何衡量?

类似职业篮球运动员每场比赛的比赛数据,软件开发也应该有衡量每次开发表现的量化指标。
衡量职业篮球运动员赛季表现的数据

PSP模型人为有以下四种因素:
a. 项目/任务有多大?
说明项目的大小一般用代码行数表示;也可以用功能点表示
b.花了多少时间
可以用小时、天、月、年来表示。一组人所花费的时间可以用(人数 * 时间)来表示。例如某项目花费了10个人 * 月
c.质量如何
交付的代码中有多少缺陷?
交付有两个定义:

  • 在代码完成是,交付给测试人员
  • 在软件最终发布时,交付给顾客

可以用缺陷的数量除以项目的大小。例如 5 Bugs/KLOC(每千行)

d.是否按时交付
不仅要比较平均值,还需要查看方差,以达到稳定一致的交付时间。
软件项目需要创造性,但更多的是常规的、可重复的任务。
对于这些常规的、可重复的任务,我们要降低任务交付时间的标准差,这代表着你能长时间稳定而按时地交付工作的结果。


团队对个人期望是怎样的?

这一小节主要描述了怎样才算是一个合格优秀的队员(在团队中)
1、有效的交流
2、按时交付
3、接受团队赋予的角色并按角色要求工作:是否能接受不同的任务并高质量的完成
4、全力投入到团队的活动:评审会议、代码复审等
5、按照团队流程的要求工作
6、做好准备:在开会讨论之前、开始一个新功能、新项目之前,都要做好准备工作。
7、理性的工作:一个成熟的团队成员必须从事实和数据出发,按照流程,理性的工作。

猜你喜欢

转载自blog.csdn.net/kingmore96/article/details/80147569