`
zhangdaiping
  • 浏览: 129509 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何有效的评估工程师的时间进度

阅读更多

今天我在知乎上回答了一个问题《怎么跟工程师沟通时间进度问题?》,回答完之后又思考了很多,觉得有必要总结下如何有效的评估工程师的时间进度?这个问题。

 

1、任务拆解

 

我在这里不论述计划如何制定,只是讨论任务拆解对一个工程师评估工期的重要性。通常情况下,大部分工程师不做任务拆解,也不知道怎么进行拆解。当你问一个工程师这个项目开发要多久时间时,他会告诉你要10天,但是,你并不明白为啥要10天,可能他自己都不清楚为啥要10天,只是凭着以往的经验评估出来的。还有10天不等于10个工作日,这是一个陷阱,一定不要被10天所迷惑到,如果是10个工作日那就代表2周,就是14天了。

 

任务拆解最重要的一步是系统设计,无论你使用何种方式,书面的、口头的、黑板上画,还是很NB的使用UML,你都必须要完成这一步,根据项目需求、应用场景等因素设计系统,将一个大的功能拆解成一个个小的功能。通常我喜欢面向接口的方式来设计系统,这样所有参与项目开发的人员(前端、后端)都是面向接口开发,大家在讨论、沟通时,只需要针对接口的输入、输出以及合理性进行论证,不必关心各自的接口内部实现。当一个大的功能拆解到足够小的粒度时,只针对单个的接口实现进行时间评估,这样会容易很多,得出的时间也会相对的合理。

 

2、沟通

 

在项目开始开发之前,项目人员必须充分的沟通,必须要做到无障碍的沟通,沟通的过程要主动,特别是开发人员。我以往的经历,很多开发人员不会主动的寻求产品、需求、交互人员的帮助,在遇到不合理的需求问题时,不会主动的提出来,等到快开发完成甚至是开发完成才发现这个问题,到那时候可能问题就会严重很多。将项目的信息与参与人员共享,并且做到大家的理解都一致,对于开发人员来说十分重要,不清晰的、错误的需求会直接影响到系统设计的过程,从而导致开发的功能偏差。

 

需求变更一定要慎重,任何一点需求的变更,都可能导致工期变化。通常一个接口定义好并开始开发之后,这时变更需求是存在很大风险的,一个需求的变足以严重得让整个系统回滚到设计阶段。在变更之前,必须充分的与工程师沟通,然后再酌情变更需求。

 

3、合理评估时间

 

想做大合理评估工程师的时间,要充分的了解工程师的作息规律,知道每个工程师每天都在做什么是否重要。通常工程师每天会有一段固定时间在处理相同的事,在这段时间内处理的事情可能包括:

  • 处理日常BUG
  • 阅读技术文档
  • 一小部分的休息时间(刷微博、看知乎等)

在评估一个工程师每天能花费多少时间在项目开发上时,应该除去这部分固定时间。比如,完成项目开发总共需要100小时,工程师每天有3小时固定时间,那么,这个项目的开发周期就是100/(8-3)=20工作日。

 

另外,在项目期间,可能还会有突发状况,比如一些紧急事件的插入,或者工程师请个病假什么的,这些是需要考虑到的风险,一般都会在这个基础上增加1/4至1/3的时间作为一个开发的缓冲期。

 

以上3点如果全部做到,应付一些小项目足够了。对于大型的项目就需要更加充分的系统设计,包括可行性分析、设计文档、技术调研、测试用例等等,项目管理也需要更加专业的人去完成(风险控制也是项目管理中的一部分)。

 

PS:第3条对于艰苦的创业团队不适用。

 

For Example:

 

以我的手机搜狐图库2.0项目为例,推荐你先打开《http://m.sohu.com/p/419214/》看一个图库2.0实现的功能。图库2.0是之前图库1.0的改版,这个项目我并没有参与开发,而是交给另外两个开发人员完成的,我参与到了设计的过程,并制定了后续的开发以及上线计划。

 

当时图库项目启动初期,在与产品、交互人员充分沟通需求之后,我抓住了最重要的一个需求,单击新闻正文页中包含的图片时,打开图库展示大图浏览。但是,正文页浏览大图与图库列表浏览组图的最终页是有功能差异的,为了解决这些功能差异,我将组图浏览的主框架设计成一个核心功能,并以插件的方式加载不同功能组件,实现差异化的显示。最后,为了让正文浏览大图与组图核心功能解耦,我为正文页设计了一个组图适配器,让组图与正文页彼此隔离,组图完全不关心正文页如何使用它,正文页也可以根据本身的需求实现一些组图核心功能意外的特殊功能。

 

在完成了前端设计之后,将所涉及到的接口详细的描述出来,包括:输入、输出以及实现的功能。大家在讨论与工作的时候都是面向接口,彼此对接口负责就可以了。图库2.0总共确认了1个核心功能、6个插件以及1个正文页适配器。对于组图核心功能其实还可以再继续拆解,但是,我觉得已经没必要了,因为这个功能花2天时间就能完成开发。两个开发人员都是新人,并没有太多的JS开发经验,所以会相对比较慢一点,最后和开发人员确认,开发这些功能并完成调试总共需要50个工作时,按每天花费5小时开发,那么需要10工作日,就是2人5个工作日,最后与产品沟通时,我为定为7个工作日交付,预留了2天抗风险时间。

 

最后,这个项目完成得非常顺利。明确的项目需求,开发中只做了一些细节调整并不影响工期。实际上只花费了5天就开发完成,与预估的时间完全一样,按照7天交付,我们还提前2天完成了项目。

 

小结

 

以往经历了很多大大小小的项目,写过正规的设计文档,画过详细的UML,编过完善的测试用例,我觉得这些都不是保证工程师开发进度的必要条件。应当在日常工作中多了解工程师,多沟通,熟悉每个工程师的能力,将项目需求分析完之后做到信息共享,将任务拆解得足够细,并让大家达成一致的项目目标,合理的安排开发时间,最后保证开发进度能按照项目计划进行。

 

最后,和大家分享一篇有意思的文章《几种华丽无比开发方式》

 

原创文章,转载请注明出处http://zhangdaiping.iteye.com

分享到:
评论

相关推荐

    项目管理工程师进度管理--计算案例

    项目管理工程师在执行项目时,进度管理是核心组成部分之一。进度管理涉及定义和规划项目中的活动,安排活动的顺序和时间,估算活动资源与历时,制定和控制项目进度计划等多个方面。具体来讲,进度管理包含了六个关键...

    2021监理工程师考试进度控制每日一练(2.14).doc

    例如,编制初步施工总进度计划,这是一个粗略的计划,用于初步评估工程的大致时间框架;然后,基于更详尽的信息和分析,编制正式的施工总进度计划,这个计划会包含更精确的开始和结束日期,以及具体的里程碑。 最后...

    软件测试工程师绩效评估表.doc

    软件测试工程师的绩效评估是衡量其工作质量和效率...附:软件测试工程师的业绩评估通常包括多个维度,如有效问题提交数量、测试用例执行情况、文档质量、问题价值、综合能力等,这些都应作为全面评估其工作表现的依据。

    软件测试工程师绩效评估表优质资料.doc

    这份资料详尽地阐述了软件测试工程师的职责、测试的不确定性和挑战、最低成功标准、考核内容以及评估误区,旨在为有效地衡量和提升测试工程师的工作表现提供指导。 首先,软件测试工程师的主要职责包括与产品部合作...

    软件测试工程师绩效评估表85000.doc

    附:软件测试工程师业绩评估模板包括提交的有效问题数、问题解决效率、测试用例覆盖率、测试文档质量、团队合作等多个维度,全面评价工程师的工作表现。在评估时,应综合考虑以上因素,避免单纯依赖数量指标,而是要...

    项目进度管控方案.pdf

    通过上述步骤,监理工程师在项目实施阶段扮演着关键角色,他们通过严格的监控和协调,确保项目的进度、成本和质量得到有效的平衡和控制,最终实现预定的工期、质量和造价目标。在项目管理中,良好的进度管控不仅能...

    软件开发工程师绩效考核.docx

    2. 工作量饱和度与生产率:评估工程师的工作效率,通常通过代码量和完成时间的比例来衡量。杰出的工程师不仅效率高,还能提前完成任务,良好的工程师能按期完成,正常的工程师效率一般,需改进的工程师则常无法满足...

    软件测试工程师绩效评估表2优质资料.doc

    【软件测试工程师绩效评估表详解】 软件测试工程师的职责涵盖了多个方面,包括需求分析、测试方案制定、测试用例编写、测试环境建立、缺陷管理、文档规范化、测试执行与报告等多个环节。以下是对这些职责的详细说明...

    广西注册监理工程师合同管理:进度管理考试试卷.pdf

    6. 部分内容中出现的数字如“50”、“30”、“100”等,可能与时间、成本或其他量化指标有关,这些往往是进度管理中要考量的关键因素。 7. 部分内容中的“AEF2d”、“DFF2d”、“CEF2d”、“BEF1d8d24”可能是与...

    系统集成项目管理工程师学习讲座项目进度管理PPT学习教案.pptx

    6. **计划评审技术(PERT)**:PERT提供了一种估算活动持续时间的统计方法,利用乐观、悲观和正常估计值来计算平均时间并评估风险。通过这种方式,可以计算出项目完成概率。 7. **进度表示方式**:甘特图和时标网络...

    系统集成项目管理工程师 模拟试题 时间部分

    通过系统集成项目管理工程师的模拟试题,考生可以检验自己在时间管理方面的知识和技能,包括是否能有效地进行进度规划、任务分配、资源调度、进度控制和风险管理。这些能力的提升对于成功完成系统集成项目至关重要。...

    建设监理进度控制的方法和程序.doc

    通过网络方案,监理工程师可以检查每个工程的实际施工时间,对比计划,及时调整关键线路上的工程进度,确保整体进度不受影响。 4. 工程曲线控制:工程曲线法提供了一个全面的视角,比较实际进度与计划进度的差异。...

    中级信息系统监理师-进度控制(精选试题).doc

    通过对实际数据的深入分析,监理工程师可以准确评估项目的进度状态,及时发现并纠正偏差。 2. 工程进度控制的目标:监理工程师进行进度控制的最终目标是确保项目能够按照预定的时间投入使用或提前交付使用。这意味...

    工程形象进度报审表.pdf

    这里要求施工单位详细描述完成情况,包括未完成部分的原因、解决方案以及预期完成时间,以便于监理单位和建设单位评估。 7. **施工单位意见**: 施工单位的项目负责人需要对此进行签字确认,并由总承包项目负责人...

    软件工程师考评表.doc

    - **新技术使用情况**(10%):评估工程师对新技术的学习和应用能力,包括是否能快速掌握新工具、新技术,并在项目中有效运用。 - **管理责任**(10%):考察工程师在团队协作中的领导能力和项目管理能力,如任务...

    设计进度管理办法.docx

    - 主管工程师评估设计进度,滞后时要求设计院采取措施追赶进度。 - 设计进度较大偏差时,要求设计院提交加快进度的措施方案。 - 依据合同条款监督设计进度,对未能按时完成的,可拒付进度款或执行奖惩措施。 - ...

Global site tag (gtag.js) - Google Analytics