趣文网 > 作文大全

项目管理:一篇文章读懂项目如何失败的 又要如何挽回

2020-11-30 06:05:01
相关推荐

我是一名项目经理,在过去的四个月里,我带领团队开发了一个是失败的项目(当它开发完上线时,经常出现问题,用户不能按预期正常使用这个项目)。最近几天,我每天都在反思自己,我一直在问自己以下问题:

1.我做错了什么?

2.项目失败,我的因素是多少?

以下我会回答上述问题,并提出我的补救措施,如何去挽回败局。

1 项目和团队背景

首先,我想解释一下这个项目的背景,以便你能更清楚地了解这个项目:

1.该项目是一个二次开发项目,第一个基本版本(打印申报系统)也由我领导开发的。

2.该系统需要与国家体系对接,有三个主要过程。

3.需求变化频繁,由于系统需要与国家系统连接,需求方对需求了解不多。5月份需求发生了8次以上的变化,所有这些变化都是对主要过程的改变。

4.根据初步需要,该项目的规模估计约为100人日。

5.项目的两个主要过程不能在测试环境测试,取决于外部U盾,开发过程中也没有U盾,最终只能到正式环境进行测试。

6.客户现场使用U盾调试和开发时间约为20天左右。

7.我当时同时负责四个大大小小的项目,因此这个项目没有进入开发,只控制项目开发进度。

8.有三名团队成员,其中两名是当时开发基本版本的项目成员,他们对项目很熟悉。

9.在项目过程中,我们需要进行多次现场调试和测试,团队中的两名工程师将一起去。

2 我做错什么了?

除了监测进度外,还必须对质量进行管理。

在项目开发之初,我制定了一份详细的开发计划,以指导整个开发过程。开发计划已经交付给客户,承诺的事情必须完成,所以在整个项目中,我对进度都有严格的控制。我定期检查功能是否完成,并定期向客户汇报,以确保发展顺利进行。但它也掩埋了危险,仅仅关注需求是否完成,而不关注完工的质量。

在项目的质量方面有许多详细的问题。例如:

1.启动后,客户发现其中一个主要进程无法继续。

2.其中,申报功能、系统提示是成功的。但实际上,申报并不是真正成功的,在申报后的国家体系中也找不到。

3.打印功能存在许多问题,打印得到的数据是错误的。

4.无法同步或同步数据功能的数据错误。

5.如果执行一个需要太长时间的函数,数据库将强制断开连接。

等等,等等。

反思:

1.进度和开发速度固然重要,但以质量换速度不可取。

2.如果开发时间和质量冲突,以质量为主,毕竟,你埋了坑,终究是要有人去填,去负责的。

3.无论多么困难,都必须确保进行基本检验。

4.在时间极其不允许的情况下,仍然必须确保主线功能的顺利执行。

我们不仅要给予开发团队成员的信任,还要保持警惕。

该项目的三名成员都是合格的开发人员,他们都熟悉所使用的框架。其中两人也是基本版本开发的成员,对需求也很熟悉。因此,在项目中,我可以放心,整个项目都交给了他们。基于他们的放心,再加上其他项目的复杂性,对这个项目的关注是不够的。

我给了他们很多信任,相信他们会做好每件事。但我没有在正确的时间给他们正确的指导,我也没有帮助他们解决项目中的困难,甚至没有给他们一些开发想法及思路。他们自己做每件事都靠自己独立去处理。我在这个项目中所做的就是向客户汇报项目进度,督促项目开发。没有再做第三件事。

反思:

1.出于任何原因,注意项目成员的地位。

2.信任是正确的,但也要保持适当的警惕,他们或多或少会因为经验而忽视一些问题。

3.给予信任和帮助,不要以时间为理由来驱散你应该给出的建议和帮助。毕竟,现在节省的一分钟,要花上一个小时才能弥补。

如果条件有限,你没有全面控制项目的可能,就指派一个特别的人来全面负责开发。

这是我在这个项目中做的最错误的地方。

由于种种原因,我无法掌握到项目的每个要点和细节。而项目中有三个开发。我没有指定其中一个开发负责整个项目,而是由他们自己来讨论所有问题。从客户对接来的问题,我也是仅告知对应的开发。现场的三个开发人员,没有一个人对项目中的每个要点了如指掌。

反思:

1.手里掌控着管理的权利,却没有做到管理该做的事情。是我在这个项目里最大的问题。

2.授权!授权!授权!重要的事情说三遍。如果你不能投入到项目管理中去,就把管理权下放给团队的一名成员,让他代替你去做管理工作。

3.管理一个人比管理更多人更容易和更有效。

控制需求,也控制过程。

该项目属二次开发,成员对项目非常熟悉,项目工作量不大,时间紧迫。

出于上述原因,我对此掉以轻心,在项目开始时没有设计和规划项目,也没有指定任何开发规范。只要告诉开发人员复用以前的代码,但也只是口头告知,从未检查他们是否真的复用了基础版本的代码。

项目开发需求的变化,客户的反馈,我只是告诉他们,没有对计划进行详细的修改,一切都取决于口口声声,所有的变化都在我的脑海中,他们的头脑中。

对项目的关注程度不够,客户需求的变化也没有得到控制和管理。所有变更都压给了开发的同事。

整个项目及其不规范的运行方式,我没有在其中起到控制作用,项目的发展一团糟。

反思:

1.不做设计,不进开发

2.使用管理工具指导开发,并记录开发过程中的所有更改和反馈。

3.控制要求的改变和拒绝不合理的要求

4.规范需求变更的操作,统一变更,而不是直接将变更推到开发中去。

在任何情况下,开发经理都需要codereview,不要给自己找任何借口。

整个项目已经进行了将近四个月,我只花了两个多小时就简单地看了一下代码,没有指出代码的任何问题。这也导致了问题。后来,我花了两倍的时间处理Codereview的工作,在项目形成后的代码修改也是及其困难的。

在项目开发过程中,开发人员之间没有代码评审,也没有代码评审会议。

实际上,代码中存在很多问题。最后,当您检查代码时,您会发现各种命名都不规范,代码复用不到位,简单的逻辑编写复杂等等。而这些问题,很大一部分都是早期未做规定,未指定人负责项目、未进行早期code review造成的。开发人员各自为战,没有人进行及时约束的情况下,这不可避免地会导致代码问题。。

代码质量的问题在项目中得到了生动的反映。项目中的许多缺陷都是由代码的不规范引起的。甚至连开发人员自己也对他们所写的东西感到有点困惑。

反思:

1.代码质量非常重要,代码越标准化,bug就越少

2.代码相互评估可以使开发人员更多地关注自己代码的质量。

3.codereview是非常必要的,codereview越早,效果越好,可以节省更晚的时间。

3 项目失败,我的因素是多少

100%,这一点不用争议,其他每个开发人员都能努力。确定责任在我后,我能做的就是尽快去挽回这个失败的项目。

4 我是怎么挽回败局的

项目上线后,问题频出,用户及其不满。最终我花了八天时间来处理这些个问题。幸运的是,这个项目并不大,我可以独立搞定它。

目前暂时解决完毕,能够让客户正常使用,我简单说一下我是怎么填坑,挽回项目的:

1.和开发主流程的同事详细熟悉了所有需求要点。

2.基于我对项目要求的熟悉,我花了三天时间分析了所有主要过程的代码,做出了我认为应该做的修改,并实施部署到生产环境测试(这是在给高速公路上的汽车换轮子,因为需要U盾才能测试,仅有生产环境的机器有U盾,别无他法)。

3.每天花超过12个小时来进行code review 和修改,几乎每天code review + 修改到凌晨2点多。

4.每次上班时间的修改让开发同事坐在旁边和我一起进行,我进行修改,开发同事在一旁监督。确保我所编写的代码不会出错。

5.优化功能点,同步我发现的UI交互的提示问题,和优化点都同步修改进代码中,确保用户体验不要太糟,以期能挽回一些用户体验。

我所吸取的教训总结:

1.先做好设计,在进行开发。

2.管理权下放,项目中必须有人全身心负责统筹开发代码。

3.无论什么情况都要进行code review。

4.压缩质量得到的进度保证不可取,开发周期不合理决不答应客户。否则坑了自己坑了同事,更坑了客户。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

关于春节的作文开头 英语作文30词 写可乐鸡翅的作文 什么样的她作文 难忘的小学生活作文 作文打屁股 的那一刻作文600字初中 奇怪的梦作文400字 新学期新计划作文400 乡村作文700字 论网络游戏作文 科技创新作文800字高中 说说我的性格作文 关于秋天的五百字作文 老师不在的时候作文400字 我心雀跃作文600字 有关志愿者的作文 我的同桌作文开头初中 拒绝早恋600字作文 尝试500字作文 零分作文 写一处景物的作文450字 第一次挨打作文500字 我懂得了作文500字 抒情作文评语 我的爱好的作文 考试考砸了的作文 打女朋友的屁股作文 生活需要微笑600字作文 成长的烦恼350字作文