【修炼四】技术预研

标签: 修炼 技术 | 发表时间:2013-05-23 16:55 | 作者:liangjingbo
出处:http://blog.csdn.net
2013.5.19
当从规划中分解到预研项后,我们将进行预研工作。此阶段的工作会对项目中的重大风险或技术方案的不确定性进行攻关,能有效率完成此阶段,是项目经理的一个重要挑战。我见过很多项目经理对项目整体管理把握都很好,但是由于对预研阶段的工作把握度不够,导致项目失控。
按五要素分解预研阶段的工作如下:

1、干系人期望
此阶段的干系人主要是预研人员和产品经理。
1) 预研的方案复杂度在规划预期内
     所有项目都需要在投入产出比做权衡,在预研启动前,我们要知道主管/产品经理的心理预期,如果当预研的方案实现的复杂度会远超过预期时,需要及时提出,并安排讨论,必要时需要停止预研。
2)预研要消除实现风险
     预研阶段的主要目的是消除整个项目的实现风险,预研阶段结束,大家会有个共识,那就是项目可以被实现出来,整个项目计划的工作量估算将也重要参考预研结论。

2、沙盘
技术预研要做好,首先要有两个前提:有明确的目标值,有可操作的验收方法。
1)有明确的目标
     例如:预研一个方案,最后提交的方案需要占用1G内存,而这个内存消耗不能被接受,这时便会带来返工,同时预研人员会新生怨念,为什么不早说呢,害伤神,伤身。
     因此这里通常的办法是预研开始前,下发预研目标书,目标书里包含对此项预研所能消耗的资源进行详细限制,例如:内存,cpu,稳定性等。

2)有可操作的验收方法
      没有可操作的验收方法,目标就会得不到执行,变成空口白话或脱离本意。因此在预研开始前确认好验收方法至关重要。
      例1:目标:新增加的预研方法对原有的系统的性能影响不超过5%
                可验收的方法:加载此模块与不加载此模块,在3个相同的业务流里统计所消耗的cpu周期,来计算是否超过5%

     例2:目标:前端一个复杂页面的响应速度在客户正常使用过程中3S内返回。
               可验收的方法:在2个典型的客户业务流下,非cpu空载情况下测试页面响应速度。

3、计划制定
1)预研项的整体计划
预研阶段的整体计划通常很难定的100%准确,尤其对于风险较大的定制,但是一个整体的计划的参考时间点,会给人一个目标,从而得到方向感。

2)快速跟进
快速跟进是预研阶段最靠谱的跟进计划的方法。因为当方案等没有确认下来时,很难有准确的计划,但是通过快速跟进我们可以及时调整当前的计划--滚动式计划。
快速跟进常见两种方法:阶段性,时间性。
阶段性即:将当前预研分为几个阶段(例如:环境搭建,思路1尝试,思路2尝试等),每个阶段汇报和讨论工作情况。 
时间性即:每2天,每1周等确认预研进展。
简单及思路明确的预研可采用阶段性跟进,复杂疑难的预研需要使用时间性跟进。当然根据所在项目要求可以调整使用两种方式的混合体。

4、风险
典型的三种情况:
1) 预研过度,常见于谨慎型或对技术缺乏自信的项目经理。他们要在预研阶段消除所有的风险,因为预研阶段的代码没有经过设计阶段,所以后续项目编码过程中很难复用,导致工作量浪费,从而导致整个项目周期变紧张。
2) 预研不足,常见于缺乏大局观或技术自信较强的项目经理,他们经常根据自己的判断在项目中选定出几个风险做重要跟进,他们经常不经意间忽略掉自己不擅长或不熟悉的领域的风险,导致项目进入后续阶段后,灾难频发,救火进行的总是如火如荼。
3) 预研思路不正确,导致工作返工较大。

消除这里三种典型情况的方法就是:在项目组中尽早形成良性的技术决策链,这里需要依靠团队管理提供基础

5、团队管理
1)团队组建
此阶段的项目核心人员应该已经或将陆续到位,这时候要开下项目启动会。主要要做两件事:
a、阐述整个项目的目标和意义
      任何人都希望自己做重要的事情,而既然公司或部门决定投入人力去启动这个项目,自然是存在重要意义的,此时要将这个意义传达给项目组员,以便调动大家工作积极性。
     如约翰·科特所说:“如果你想建造一艘船,首先要做的不是去采集木材、加工木板和分派工作,而应该去唤起人们对广阔无垠大海的向往。“ 
b、集中办公-座位搬到一起
      大多数时候项目组的成员来自一个或多个部门,之前的座位不是靠在一起的,项目组成立后,应该要把座位调到一起,集中办公是交流方式最有效率的方法之一,没有其二。

c、 需要给预研人员讲解规划,让其了解此预研项的意义
      这样做的目的,是为了让预研人员能够理解启动该预研的目的,通常当我们深入研究某件事情时,很有可能触发其他解决问题的思路。明确的目的能让有些时候预研人员自主变通。
      例如:项目组安排给小吴预研目标是:验证网卡的MSI多队列能否在linux2.4内核上实现,目的:提高性能
                 小吴最后给出这样预研结论,网卡多队列完整移植到2.4上工作量很大,而且有困难,但是有折中的办法,移植一部分MSI的功能,将触发方式改为定时器实现,如此即完成提高性能的目的,又能节约工作量.

2)形成技术决策方式
      预研阶段的技术方案跟进或其中的疑难问题如何跟进和处理,需要明确。这里明确的好处如下:
      1)项目组员思路受卡时,知道向谁请教问题
      2)如果不是项目经理自己跟技术问题,技术相关决策人能够明确自己的责任
作者:liangjingbo 发表于2013-5-23 16:55:31 原文链接
阅读:97 评论:0 查看评论

相关 [修炼 技术] 推荐:

【修炼四】技术预研

- - CSDN博客研发管理推荐文章
当从规划中分解到预研项后,我们将进行预研工作. 此阶段的工作会对项目中的重大风险或技术方案的不确定性进行攻关,能有效率完成此阶段,是项目经理的一个重要挑战. 我见过很多项目经理对项目整体管理把握都很好,但是由于对预研阶段的工作把握度不够,导致项目失控. 按五要素分解预研阶段的工作如下:. 此阶段的干系人主要是预研人员和产品经理.

MySQL DBA修炼秘籍

- - OurMySQL
本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1、什么是MySQL DBA. 首先,DBA是database administrator(数据库管理员)的简称,在一些招聘网站上,也可能会把职位写成数据库[管理]工程师,MySQL DBA是目前互联网企业中最为炙手可热的岗位需求之一,前(钱)景大好,快到碗里来吧.

如何修炼自己的“气场”

- jackfrage - 左岸读书_blog
气场,是个玄之又玄的东西,不必太理会,个人理解就是类似于“气质影响力”的东西,子曰过的君子三态“望之俨然,即之也温,听其言也厉”就是一种很好的气场表述. 也就是你站在那儿,什么话也不说,所给人的一种感觉. 网上有篇“人的气场是怎么炼成的”的文章,出处不详(谁知道的说一下),其中观点可以作一些参考. 人接受知识,就像吃了肉一样,如果没有消化好就容易变成多余的脂肪,只不过知识没有消化好,变成大脑里多余的脂肪而已,大脑多余的脂肪必然会阻止人获得智慧,甚至毁灭智慧.

软件架构师的沟通修炼

- - 博客 - 伯乐在线
在架构师的角色中,沟通是要求有效果的必备技能与工具. 换句话说,沟通是架构师指示别人或群体完成特定行动唯一真正有效的手段. 架构师通常没有对为其项目工作的他人的直接管理权. 他们的项目往往是跨部门的,也可能会跨好多个行业单位. 由于不能直接管理他人,所以架构师指示别人或群体完成特定行动的能力就受到限制.

Java系统程序员修炼之道

- - 博客 - 伯乐在线
从2002开始接触Java学会HelloWorld这么经典的程序到如今不知不觉已经十年啦,十年中亲耳听到过不少大牛的演讲,见到过项目中的神人在键盘上运指如飞的编程速度,当时就被震撼了. 当编程越来越成体力活,我们还能有自己的思想,还能修炼为Java系统级别的 程序员嘛. 学习与修炼以下知识与技能,帮你早日达成愿望.

读《程序员的思维修炼》

- - 无网不剩
虽然冠以「程序员」的名头,但其实也适用于非程序员. 这本书主要围绕「如何提升元学习能力」展开,所谓「元学习」就是学习如何学习. 掌握了这种能力后在其他领域也可以如鱼得水. 还介绍了L型和R型双CPU模式,阅读的技巧,目标的设定等等. 读起来不累,同时又会有不少收获. 培养幽默感,以建立更强大的隐喻.

为了孩子,家长要修炼自己

- 小杰克 - 罗大伦博士的博客
我有个妹妹,叫罗玲,从小学习就比我好,和我是一个中学的,比我低一个年级,高考的时候她考了学校的文科状元,让我这个做哥哥的非常的惭愧,因为我学习再好也考不过她. 那时候电视热门,她就以高分优势进了北京广播学院,后来她从广播学院毕业了(现在叫中国传媒大学了),做过电视台的编辑和主持人,很多年前,移民澳大利亚了,在那里又读了电影学硕士,用英文给人写电影剧本.

解析码农成长的自我修炼

- - 互联网分析沙龙
 软件开发是个挑战,尤其是对于那些完美主义的程序员. 他们需要制定大量的决策以及许多问题的解决方案,这对于有些人来说会感到很难. 当然,你可以在线搜索到最佳实践方案或在StackOverflow上提问. 但即便你找到了想要的答案,也未必能让你感到满意. 你怀疑这个设计是否完美,事实上,真正完美的设计几乎为零.

交互设计师是怎样炼成的-交互设计师修炼指南!

- - 盒子UI
本文全系列满满干货,是从众多交互设计前辈们分享的宝贵经验里挑选出的最实用的方法,不仅能让你彻底了解交互设计,还能帮有志在这个领域发展,却苦于没有老师的童鞋,从零开始学习成为一名优秀的交互设计师. 在校大学生、想转行的设计师还能在这儿得到前辈的实用建议,想进阶的交互也有职场系列经验分享,文末还有超赞的资源奉献,干货量大,推荐童鞋们收藏 :).

做一个优雅的程序员—《程序员修炼之道》读后感

- - CSDN博客架构设计推荐文章
1.    注重实效的程序员的两个特点.              编程技术就是程序员的手艺,你的程序就是你的艺术品. 时刻关注自己的技艺,保持热情、保持好奇,争取做到富有专长而又多才多艺. 关于程序员这个职业,引用 @左耳朵耗子的一段微博: 没哪个行业能像计算机行业这么活跃、刺激和有趣了. 不仅是新兴工业革命的主力,又渗入到所有的行业中,干一辈子值了.