前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PMBOK是枪,软件工程是弹,弹枪结合才是完美的!

PMBOK是枪,软件工程是弹,弹枪结合才是完美的!

作者头像
博文视点Broadview
发布2020-06-12 11:28:35
4710
发布2020-06-12 11:28:35
举报

让没有任何经验的人去开枪,确实是件提心吊胆的事!但是枪不管能不能打响,你必须去尝试,而且要一千次、一万次地去尝试,只有这样才能成为神枪手!

1学会微观管理

这里假设你是计算机专业的学生,正在参加软件编程培训:

第一步,先想一想PMBOK的十大知识领域是什么?如果想不起来了,去仔细看看图6-1。

第二步,按个儿尝试十大知识领域内容。

1.试试时间管理

当天吃完晚饭后,想一想什么时候预习编程课内容?明天早上几点准备出发去上编程课?几点上编程课?课后什么时间巩固编程内容?很简单,大家都会说这些问题很容易回答。好,想好了,然后请把它们的答案依次写下来,而且要求是准确的时间安排:

①当天晚上8:00—9:00,先预习明天上午要进机房调试的编程内容;

②第二天,早上8:30—8:50,准备一个U盘(保存程序用),准备好编程书本,出发去学校机房;

③早上9:00—9:45,到学校第N机房,进行上机编程;

④晚上6:00—7:00,在寝室内巩固当天的编程知识。

如果你能准确地把上述内容写下来,则恭喜你,你已经会做简单的进度计划安排了。

2.试试范围管理

你能准确地描述第二天上机编程的内容吗?假如你想编一个计算器(见下图)。这是我毕业那年一家软件公司给我出的题,我弄了两个小时,愣是没有弄出来。

先罗列一下这个软件的功能范围:

①能计算加法;

②能计算减法;

③能计算乘法;

④能计算除法;

⑤能在输入框中输入内容,并能删除内容;

⑥能做浮点运算;

⑦实现混合运算功能;

⑧实现MC、MR、MS、M+功能;

⑨实现开根号、百分比、分数功能;

⑩实现出错提示功能。

如果能把该计算器的上述基本功能罗列完整,则说明你学会了软件项目范围的简单管理(项目范围分解和确定)。

3.试试质量管理

假如你确实能把图6-2所示的计算器用代码编写出来,最终效果就是如图所示那样。那么你做过以下几件事情吗?

①检查过代码的语法及逻辑吗?检查过了,这就是白盒测试;

②用计算器界面上的按钮做过所有算法吗?这里的所有算法包括了单一的加法、减法、乘法、除法等,还包括了混合运算。做过了,则说明你做过了黑盒测试;

③你试过一次最多能输入多少数字吗?如10位、12位、15位,最后有没有报错?或者不能再输入了?试过了,而且能得到报错或不能再输入的结果,则说明你做过边界值测试了;

④在计算出错的情况下,如除数输入0的情况下,计算器给出友好的提示了吗?有而且是很准确的提示,则说明你已经做过人机交互友好性测试了;

⑤假设你在机房刚刚编写完该计算器,那么在开发环境下请老师试用了吗?若回答是,则说明你经历了α测试;

⑥假设你已经通过了α测试,然后请几位同学在他们的个人电脑里试用你的计算器。试用结果他们很满意,则说明你已经做完了β测试,该计算器合格,可以正式对外出售了。

一个计算器,若你能经历上述测试内容,则说明你的软件质量意识已经很强了!做出来的东西,已经相当不错了!

4.试试成本管理

假设老师是你的老板,他明确问你,“编写一个商业级的计算器软件需要花多少钱的成本?”请你准确估算一下。

①人工开发成本:5天×200元/天=1000元;

②电费、水费、房租费、饭费、路费、电话费:5天×100元/天=500元;

③老师的管理费:5天×10元/天=50元;

④软件推销费:1天×450元/天=450元;(假设运气不错,一天就卖出去了,而且只卖一套)

⑤维护费:总成本5天×200元/天=1000元;(假设一年维护5天次)

⑥ 税金:按照普通服务类税费5%收取。假设销售一套该软件最终价格是5000元,则税金为5000元×5%=250元。

把①~⑥的成本进行累加:1000元+500元+50元+450元+1000元+250元=3250元。这就是该计算器从开发到变成商品,最后销售获利的所有成本。哇,要是你能把上述内容想全,则说明你可以成为公司级财务决策人员了!要是你能把前三类想到,那么你可以做项目经理了。

5.试试沟通管理

还是做计算器,在开发这个软件的过程中你做过如下类似的工作吗?

①你询问过周围的人,特别是你认为的潜在使用该计算器的客户,希望能有什么功能吗?如果没有咨询过,就直接开发该软件了,那么问题就大了!很可能没有人愿意使用你开发的东西。(事实上微软公司已经给我们开发了)

②在开发过程中你跟你的老师沟通过设计方案吗?或者请老师评审过该软件?如果没有,将会很糟糕!

③开发完成后,你跟潜在用户,假设是你的同学讨论过该软件是否好使吗?如果没有,把该软件直接卖给用户,很可能不是你的老板要倒霉了,就是你要被炒鱿鱼了!

假如在开发该软件过程中,上述三个问题,你的回答都是“是”,那么说明你有比较强的沟通意识!

6.试试风险管理

还是做计算器,别小看计算器,也是需要风险管理的!

①在做计算器前,想过卖得出去吗?假设老师要求你必须把所编写的计算器卖出去一套,不然你就要饿肚子了。做出来的计算器卖不出去就是风险,因为你要饿肚子了,你将拿不到一分钱的工资,还白忙了一场!也许,能不能卖得出去这个问题,应该是你的老师或者是雇用你的公司想的事,但确实是跟你紧密相关的一个风险,而且你也应该想到!除非编写这个软件纯粹是为了练习。

②计算器在规定的时间内能编写完成吗?完不成,就是风险!想当年我在两个小时内没有编写完成这个无聊的计算器,就没有被那个公司录取!有风险,就有代价!

③计算器的需求你搞清楚了吗?也许你开发出来的是图6-2所示那样的计算器,你还觉得不错!但是,客户要的却是这样的计算器。

简直要发疯,怎么会这样?说好了,不是做计算器吗?怎么变成了科学型计算器了?是的,这样的事情将会在很多的软件项目中出现——因需求模糊而导致的开发风险!

还有很多关于计算器的开发风险,你能想到一些吗?如果你能想到三种以上(包括刚才举例的),则说明你对风险管理意识是很强的!

7.试试人力资源管理

人力资源管理更多的是团队管理,所以,把你的老师以及你的同学看作一个软件项目团队吧。

老师准备找人做计算器软件。他首先想到的是:用谁呢?在一个班级里,高手也就两三个人。很幸运你被选中了,并对你提出了明确的任务要求,同时告诉你干好了有奖,干坏了要罚。于是,你先去图书馆对有关计算器方面的编程知识进行了充电学习,然后开始设计,并敲代码。当你碰到困难时,老师能在第一时间出现,并鼓励你。你的两个同学是你的软件测试人员,当你的软件编写完成后,请他们帮忙测试。最后,你很顺利地提交了计算器软件,并得到了老师的奖励。

上面的过程,就是人力资源管理的主要内容。

8.试试采购管理

要编写计算器软件,得买一台电脑、一套VS.Net 2015,还得买一套桌椅,采购清单如下:

序号

名称

数量

单价(元)

1

电脑

1

6000

2

VS.Net 2015企业版

1

50000

3

桌子

1

200

4

椅子

1

80

合计

56280元

然后,制订采购计划,必须在两天内把所有的设备采购到位,以保证计算器软件按时完成。接着,就按照清单和采购计划,获取资金,实施采购任务。

一个典型的采购管理案例完成了,看来跟平时在家买菜、买米的过程有点类似。

9.试试干系人管理

这个计算器软件的项目干系人包括你自己、你的老师、你的同学,还有最后买你软件的那个客户,这些是主要的相关人。当然,还可以包括设备供应商,但是在这个软件项目里是次要的相关人。

明白了吧?所谓的项目干系人,就是指跟软件项目有关系的一帮人,而且你不但能识别他们,还要学会区分主次。

10.试试整合管理

如果上面9部分知识你都试会了,而且能试得不错,那么做最后一个整合管理过程也不会太难。所谓的整合管理就是把上面的9部分知识进行综合应用,整体考虑,统一安排,实现软件项目的有序执行。如你要实施这个计算器软件项目,必须制订整体实施计划,在制订计划过程中,必须借助实施范围管理内容确定工时;同时,根据实施任务确定的工时,确定软件人工开发成本;在估计整体进度时间安排上,还要考虑质量管理所带来的时间要求,考虑采购时间安排;这些采购设备成本是否需要纳入软件开发成本之中,也需要统一考虑。风险的发生,会影响开发成本、进度计划、开发质量等。所以,如果你能对上述问题进行综合考虑,并按照计划实现软件项目开发,那么你就初步掌握了整合管理知识的运用。

用计算器软件项目来考验初学者,是小试牛刀。别看计算器软件项目很小,但是在软件项目管理过程中,却麻雀虽小,五脏俱全!能不能成为软件项目管理高手,更重要的是要有主动管理意识,能时刻去主动实践,主动提高,那才是王道!千万不要小看了!

2驾驭宏观管理

当彻底领悟了PMBOK的方方面面,并能灵活应用;或者面对上亿甚至几十亿级别的软件项目,能轻车熟路、游刃有余时,那么你将成为真正的战神!显然,我们需要这样的宏观管理者。

1.要把无意识的管理行为转化为有意识的管理行为

虽然从无到有只是一字之差,但是却实实在在代表着软件项目管理水平的差距!我们平时上学、工作都按部就班,到点了该起床时就起床、该吃饭时就吃饭、该出发时就出发、该上课时就上课、该下班时就下班、该回家时就回家,一天到晚,看来也井井有条。这是在条件约束下的习惯性、被动的自我管理。哪天老板一高兴,突然给你放几个礼拜的长假,你很有可能早上睡到太阳照屁股了,还不愿意起床!甚至黑白颠倒,白天睡觉,晚上兴奋地过夜生活。这个现象我觉得从人的本性来说,也情有可原。平时都被约束着,一旦自由了肯定想放纵一下的。但是,总有一部分人,不管日常工作还是节假日放假,都保持着良好的生活节奏,不会大起大落,也不会黑白颠倒。这些人相对前者,有着很强的自我约束力,也有着很强的时间观念!他们在没有受约束的情况下,也能保持正常的生活规律!这就是差距,这就是主动和被动的区别。

作为高难度的软件项目管理,我们自然希望有主动管理意识的人才。当软件项目需要计划时,能及时有效地安排;当碰到风险时,能灵活应对;当质量出现问题时,能用火眼金睛及时发现,并加以解决;当成本、需求失控时,能力挽狂澜……尤其是当软件项目还没有启动时,甚至能预测未来的发展趋势,并做足对策。战无不胜的神人,是我们在软件项目管理中追求的极致目标。

然而,要从无主动意识转为主动意识很强的高水平的管理者,是需要经历很长时间的实践才能磨炼出来的。这要求我们有足够的耐心,去学习、去尝试、去挑战。

2.站在巨人的肩上

“如果说我比别人看得更远些,那是因为我站在了巨人的肩上。”——牛顿

大科学家牛顿告诉我们,要善于利用技巧,使自己的成功来得更容易些。如果你是一位正在从事软件项目管理的人员,你可以把日常的管理工作跟本书的方方面面进行对照,在这里你将得到很多迷人的“贝壳”。

3.反复回顾

我记得自己在2010年考取高级信息系统项目管理师后,又对相关教材至少进行了三次通读,每读一次,都有新的收获。同时,跟自己的实际工作进行对照,使自己的信息化管理水平突飞猛进(主要是意识领域变化最快,能清楚地知道想要做什么、应该做什么、在做什么)。

4.学会应变

学管理类的知识千万不可死记硬背、生搬硬套,而要灵活应用。原因有二:

其一,软件项目管理经验是受现实条件约束的。如20世纪六七十年代,硬件设备的功能极其有限,如果在那时采用面向对象的管理方法去要求软件项目开发,则会让人崩溃的。又如同样的软件项目进度计划,计算器软件项目的进度计划可能需要简单罗列几条即可;而大型软件项目的进度计划不但要求有整体概要计划、分项计划,还要有详细的阶段性进度计划,甚至个人计划。

其二,软件项目管理经验是人总结出来的,存在某些方面偏差的可能性。所以,学习软件项目管理知识,要带着有色眼镜去看,而不能照搬照抄。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1学会微观管理
  • 2驾驭宏观管理
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档