如何有效地控制项目进度

ycyk_168 ycyk_168     2022-12-06     582

关键词:

      软件开发的项目周期大体分为3个阶段:获取需求和定义产品、开发和测试、部署和运维。

     在获取需求和定义产品阶段,需要防止的不是进度太慢而是过快、过草率。特别是对于创业公司的产品经理来说,很可能因为看到开发人员无事可做而感到压力,所以尽快完成产品定义,而没有充分了解市场和竞争对手信息,没有与合作伙伴充分沟通,没有做深入的思考。这些因仓促而隐藏的问题,发现得早则导致开发阶段大量返工,发现得晚则导致产品上线后不受欢迎。常听一些人说现在互联网开发,讲究快速迭代和敏捷,边做边想,返工也正常。这是一个误解。快速迭代指的是将不同版本之间的周期缩短,小步快跑,而不是在一个版本的周期内来回折腾。

     在开发和测试阶段,项目管理重在跟踪进度和保持沟通—用集成和演示跟踪进度,基于Bug沟通问题。要做到各个模块外部接口相对清晰稳定,并尽早完成各个模块间的集成,最晚不超过开发周期的1/4时间。第一次集成之后,就应该开始每日集成和每周演示。每日集成使得测试团队每天能同步测试最新的代码,帮助开发团队尽早发现问题并及时了解技术细节上的进度;每周演示使产品经理、项目经理和管理层能从用户的角度感受产品,使他们对产品有信心。集成和演示是项目管理的心跳,合理利用它们,有助于及时把握项目的健康程度。无论开发流程多敏捷,工程师能力多强,记录和跟踪Bug都是必不可少的。开发团队和测试团队的沟通都应该基于Bug,才能言之有物。开发工程师每次提交代码都应该记录是针对哪个Bug的,每日工作简报都应该写今天关/开了哪些Bug。要在每日晨会(站着开,一般15分钟内)时说好,今天打算解决哪些Bug,其中有哪些点不清楚,需要和谁沟通。

       在后期部署和维护阶段,要快速响应。考验的是团队成员的责任心和抗压能力。系统运维工程师要深夜工作,因为部署可能要在流量低的时候进行;项目经理要保持能随时沟通,做出快速而准确的决定,鼓励团队并做出表率;一旦出现高危害Bug,开发团队要在24小时内准备好补丁。Amazon的做法比较有趣:在产品刚上线一段时间内,开发工程师要保持24小时开机。如果自己负责的模块中出现高危害Bug,那么很可能会在深夜被系统运维工程师叫醒。这样不仅能保证快速响应,还能让工程师意识到:前期代码不好好写,后期就别指望能好好睡觉了。

每个项目经理都希望能有效地控制项目进度。但这件看似简单的事情,实际操作起来却常常不尽如人意。即使在成熟的大公司里,有着完善的项目管理流程,配备着一流的团队,项目延期事件还是频频发生。这里分析主要的三个原因。

常见的原因之计划不清

很多项目经理,项目完成得很好,计划也做得很漂亮,却总是计划赶不上变化。原因在于,有些时候,按工作量预估的发布日期却得不到领导的同意,领导有时会说我们现在就是和时间赛跑,这个项目必须在某某时间发布。这将致使计划推倒重来,一切都要赶进度。而对于其他团队成员来说,这份计划没有同他们商量,无异于强压任务。项目还没开始,抱怨声就不绝于耳。因此,项目工具选得好、任务划分细致清楚只是做好技术的基础,更重要的是项目计划要得领导和团队成员的认同,并愿意为之全力以赴。总之,想做好项目计划,要做好以下三点。项目计划前,先和产品经理、上级领导沟通好,确定这个项目的轻重缓急。团队成员要达成一致意见,项目经理不可独断专行。项目计划要细化到天、功能点要责任到人、确定里程碑点。

常见的原因之需求问题

需求中的功能点要在PRD(产品需求文档)中罗列清楚,业务流程要写得完整清晰,交互细节要体现在视觉稿中。要组织项目组所有成员参加PRD评审,评审时要针对具体的问题,给出明确的处理意见。暂时不能确认的问题,问题跟进人要在限定时间内给出反馈,项目经理可以制定问题跟进表格。项目进行中的需求变更,尽量在前期提出。在项目管理的过程中,当前期的需求和计划都确
定后,项目经理不能只顾着跟进开发和测试的进度,也要阶段性地和需求方多沟通,让他们及时反馈意见。不要等到临发布时,产品经理跑过来说“我要的不是这样的,这里要改一下”。永远不要把问题留到最后一分钟,要超前一步,留有余地。下面是一个真实的案例。案例情景:该项目的整个周期为2个月,有3轮功能测试。当第3轮功能测试结束时,也就是即将进入预发布阶段时,产品经理才给出用户反馈并要求按用户的反馈修改。改动的地方涉及到页面的样式、文案、SQL语句和校验逻辑等,总共可能有20多个文件要被改动。项目经理建议只改页面的样式和文案,其他部
分先不要改,等下次升级维护时再改,否则可能会影响发布。而在多次交涉无果的情况下,开发人员只能硬着头皮修改,测试人员只能再重新测一轮。虽然大家努力地按需求方的要求做了,但项目延期已不可避免了。

常见的原因之沟通不畅

为某项目临时组建的团队往往来自不同部门,团队成员之间不熟悉,此时,要为团队建立一个沟通通道,确保沟通顺畅。常用方式为:建立一个内部网络空间,所有文档资源统一存放,供团队成员共享;利用即时聊天工具,建立一个项目群,每天通报项目进度;建立项目邮件组,所有变更达成一致后,发送邮件确认;每天要开15分钟晨会,每周一次周会,每周发送项目周报;跨团队项目,最好申请独立的项目室,所有项目组成员坐在一起工作,降低沟通成本。

重视细节

项目管理的目的是能够按照预定的成本、进度和质量要求顺利地对人员、产品、过程和项目进行分析和管理。在项目管理中,有些细节需要引起项目经理的重视。

根据经验规划

即先做少量的规划,再根据实践过程中得到的信息来做进一步的规划,这样可提高项目的可行性。试图预测未来的规划很难奏效,除非你是个预言家,否则应该尽量在项目中根据经验做规划和日程安排。

安排项目日程


首先,要按可交付物安排日程,而不是按功能;其次,要以迭代的方式安排日程;再次,要使用难度较低的工具安排项目日程。过度追求完美的项目时间表可能意味着在实际项目中浪费更多的时间。

足够的时间规划

日程安排是由整个项目团队共同制定的,因此,每个人都要对日程有信心。不过,天有不测风云,总会发生点儿意外,所以我们要做足够的时间规划,而且要使用波浪式规划,这样才可以随着环境的变化灵活地更新日程安排。

管理会议

在组织项目时,项目经理要尽量避免浪费时间的会议。要让团队将注意力集中在项目上,这是最简单、最有效的方式。在帮助团队朝着合理的交付截止日期前进时,要保证团队不受外界干扰和影响。如果会议对于任何人都毫无价值,那就取消掉;同时准许团队成员不参与无法贡献和收获价值的会议。也许有些团队成员会不高兴,认为你觉得他们不够重要从而不能参加会议。要跟他们解释清楚,你不让他们参会是因为他们太重要了。

速度图

如果只能绘制一个图表,那就选择速度图。速度图集三种度量方式为一身:需求、已完成工作和时间。虽然无法从中看到自己希望了解的缺陷率或成本,却能从该图中对项目的整体进度有所掌握。使用速度图可以使你在一张图中同时度量多个趋势:整体需求数量和已完成工作,其中包括所有的测试、文档以及项目需要等其他内容。这是最有用的图表,是项目经理的好朋友。但要注意,速度图只是获取数据的工具,不是目的。

测试

从项目开始就要坚持“减少技术债务”的原则,让测试与开发同步进行。测试会将项目的风险展现在众人面前,大家越早看到这些风险越好。在采纳顺序式生命周期的项目中,要让测试人员参与到需求分析阶段,询问他们关于产品需求的反馈;在采用迭代式生命周期的项目中,要请测试人员帮助评估原型;使用增量式生命周期的项目,只要有可供测试的部分,就可以让测试人员尽早开始测试功能;在实施敏捷的项目中,要确保测试人员与开发人员一起工作,以开展技术层面的测试。同时,还要让测试人员与产品负责人一起,编写面向客户层面的测试。

如何有效地调试 Anylogic 项目?

】如何有效地调试Anylogic项目?【英文标题】:HowcanIeffectivelydebugAnylogicproject?【发布时间】:2021-12-3117:32:08【问题描述】:我是Anylogic仿真软件工具的新手,正在尝试进行基于代理的仿真。我从Excel表中读取变量并计划将它们用于... 查看详情

多项目同时进行如何做好进度管理

多项目同时进行如何做好进度管理  工作中有朋友说他最多的时候要同时进行八个项目,忙得焦头烂额,虽然八个项目一个人担,听着就知道老板很扯淡,但是也提醒我们多个项目同时进行的情况其实并不少,那么如何进行多... 查看详情

如何有效地为 100 多个视图控制器使用多个 Storyboard?

】如何有效地为100多个视图控制器使用多个Storyboard?【英文标题】:HowdoIeffectivelyusemultipleStoryboardsfor100+viewcontrollers?【发布时间】:2017-04-1715:29:21【问题描述】:所以我有一个应用程序,它完成后将在Storyboard中包含100多个视图... 查看详情

如何有效地查找 QAbstractTableModel::data 中的项目?

】如何有效地查找QAbstractTableModel::data中的项目?【英文标题】:HowtoefficientlylookupitemsinQAbstractTableModel::data?【发布时间】:2021-11-0119:43:51【问题描述】:据我所见,Qt文档和大多数在线示例假定我们对data()中基于(列、行)的查... 查看详情

如何有效地查找包含列表中项目的数据框行?

】如何有效地查找包含列表中项目的数据框行?【英文标题】:Howtoefficientlyfinddataframerowthatcontainsitemsfromlist?【发布时间】:2020-10-0615:53:19【问题描述】:假设我有以下示例items=[\'milk\',\'bread\',\'water\']df:nameitem1item2item3items_1milkwater... 查看详情

常用的项目管理都有哪些??

...力资源管理是为了保证所有项目关系人的能力和积极性都有效的发挥和利用,所做的一系列管理措施。参考技术A(1)项目范围计划。阐述进行这个项目的原因或意义,形成项目的基本框架,使项目所有者或项目管理者能够系统... 查看详情

如何使用 EF 和 LINQ 更有效地实现相关项目

】如何使用EF和LINQ更有效地实现相关项目【英文标题】:HowtomoreefficientlymaterializerelateditemsusingEFandLINQ【发布时间】:2022-01-0812:54:24【问题描述】:一个新手问...第1部分假设我有3个类(以及它们等效的SQL表):ProductintId;List<Keyw... 查看详情

如何有效地将子域名传递给 Laravel 中的控制器和视图

】如何有效地将子域名传递给Laravel中的控制器和视图【英文标题】:HowtopasssubdomainnameintocontrollersandviewsinLaravelefficiently【发布时间】:2017-09-1016:28:21【问题描述】:我正在Laravel5.5中构建一个新应用程序,它将严重依赖其子域名... 查看详情

如何有效地对 SQL 数据库中的记录进行版本控制

】如何有效地对SQL数据库中的记录进行版本控制【英文标题】:HowtoefficientlyversionrecordsinanSQLdatabase【发布时间】:2014-01-2714:41:34【问题描述】:在至少一个应用程序中,我需要将旧版本的记录保存在关系数据库中。当应该更新某... 查看详情

如何有效地将用户添加到 GitLab 中的所有项目(以编程方式或其他方式)

】如何有效地将用户添加到GitLab中的所有项目(以编程方式或其他方式)【英文标题】:HowtoefficientlyaddausertoallprojectsinGitLab(programmaticallyorotherwise)【发布时间】:2019-11-2607:38:45【问题描述】:我有一个包含许多项目的GitLabCE服务... 查看详情

如何有效利用点晴项目管理模块提高工作效率

如何有效利用点晴项目管理模块提高工作效率一款好的项目管理工具,是产品研发进度把控、团队协作的贤内助。用好了,将达到事半功倍的效果;用不好,不但无法提高效率、带来帮助,反而成为工作中的负担。项目管理的作... 查看详情

项目实施中如何进行有效的沟通?

在项目实施中,有效的沟通是非常关键的。在项目中,涉及到的各个方面需要相互合作和沟通,包括团队成员、客户、管理层等。如果沟通不畅,可能会导致项目进度延误、误解、冲突等问题。因此,以下是... 查看详情

项目管理18|项目进度管理-规划进度管理

...,并形成文档化的项目进度管理计划的过程。其作用是:如何在整个项目过程中管理、执行和控制项目进度提供指南和方向。 规划进度管理的ITO详解:①  项目进度管理计划:是项目管理计划的组成部分,为编制、监... 查看详情

pm是啥意思?

...用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。PM的职责:1、项目范围管理为了实现项目的目标... 查看详情

论项目进度管理

...,信息流和资金流信息共享平台。并使三方面的信息受到有效的组织,计划,协调和受控制的系统。系统包括:“采购业务子系统 查看详情

如何让 C 函数有效地等待 Qthread 完成工作?

】如何让C函数有效地等待Qthread完成工作?【英文标题】:HowtomakeCfunctionwaitefficientlyforQthreadtofinishwork?【发布时间】:2012-04-1318:06:32【问题描述】:我有一个有趣的问题。使用Qt处理C++项目。跨平台项目,但在Win上开发。我有一个... 查看详情

pmpbok进度管理

   项目进度计划提供详尽的计划,说明项目如何以及何时交付项目范围中定义的产品、服务和成功,是一种用于沟通和管理相关方期望的工具,为绩效报告提供了依据。进度计划方法:关键路径发或敏捷方法。创建项... 查看详情

项目没有进度管理,都是瞎忙!

...努力去争取更大的成功率,靠的便是精心设计、并且行之有效的流程管理。本文重点介绍项目管理的十大流程,让你项目控制的更得心应手,为你的项目全程保驾护航。其实,只要项目的流程搞清晰了,项目进度管理就不再是难... 查看详情