技术开发中过程跟踪的重要性

  |   1 评论   |   4,744 浏览

    实施一件事情,大致可以分为四个步骤,这是我很早从以前的部门经理那里学来的。

    第一、 Plan:是计划,凡事要有计划,有的放矢,知己知彼,方能百战百胜。

    第二、 Do:  是执行,就是按照第一步骤的计划来执行,把计划变成现实。

    第三、Check:是检查,对第二步骤执行的结果进行检查,保证质量,符合计划的要求,以便发现问题,及时纠正。

    第四、Action:是行动,也可以说是总结,对第三步骤Check的结果做出处理。

    以上四个步骤,在一个事情的推进过程中是不断的循环进行的,掌握了其中的精髓和章法,就能保证事情或任务正常的、按照计划有条不紊的执行下去。


    在实际的技术开发过程中,莫不如此,灵活运用此法既能保障软件的进度,也能保障软件质量。

    其实,在实际当中,对一个事情,由于立场和职位角色的不同,看待事情的做法可能不同,这就涉及到是以结果导向还是以过程导向了。


    从领导的角度来说,他当然更看重的是事情的结果,结果对他来说是最重要的,可能他需要依据这个结果来实施新的战略和方向,这是从职位角色来说的。


    影片中经常有这样的镜头,上级下达命令,必须在1小时内不惜一切代价拿下前面的山头,如果拿不下,就会影响整个战局,事关国运。

    这里拿下山头,就是最终结果,才不管你舍了多少人,打了多少枪呢,当然在残酷的战争年代,这是可以理解的,这里是从具体事情来说的。


    当然,“果”的产生,需要前面一系列过程的迭代和积累才产生出来,过程当中的坎坷曲折、漫漫长路、几多弯路,那是必不可少的,这也直接导致了“果”的质量和效率。

    减少过程的曲折和反复迭代,对过程跟踪,不断的调节,适时修正,这样出来的“果”才是我们期盼的。


    在一个互联网公司中,需求变更,添加产品需求,那都是家常便饭的事。

    产品扔过来一个需求,他想看到是需求变成用户能使用且体验良好的功能,也不要有Bug,也要能抗住用户大流量访问,等等,这些都是产品期盼的结果。

    在任务执行的过程中,可能涉及到 美工人员,前端工程师,架构师,软件工程师,测试工程师,运维工程师,DBA,等多个角色的相互协调配合才能达到产品需要的结果。

    在这个复杂的执行过程中,只有每个角色尽职尽责,以专业化的技术来完成本职工作,每个角色的产出物为一个小结果,合在一起,才能有优良的最终大结果。

    那么每个角色怎么保证自己负责的那部分有优良的小结果呢? 唯有过程跟踪,质量check,才是比较理想的解决问题的方法。

    那具体怎么执行呢? 对每个角色来说,要想做好过程跟踪,前提是角色的参与者,明白自己在整个事情过程中的职责,对产出物负责。

    事情是有序的,前面角色的产出物是后面角色的输入,后续角色对前面角色有个鞭策的作用。

    在执行的过程中,角色自身遵循PDCA的工作方法,同时Leader加以监督和引导,这样绝对比只关心结果,而不注重过程得到的结果,更有质量和效率保证。


    一个能主动汇报自己工作进度和结果的人员,是很难能可贵的,因为在其汇报的过程中,如果发现偏差,及时纠正,就能让产生结果的时间缩短了,这个地方也体现了过程跟踪。

    很多同学可能没有意识到这个重要性,主动汇报和被动的被询问进度,意义不一样的。 汇报的时候,要拿出还未成形的结果,一个有经验的Leader一定知道你的这个结果是否朝着正确的方向发展与否。

    这里其实就想到了,在实际的研发过程中,Code Review 我们都知道是保证软件质量比较重要的一个环节,软件的质量不是测试出来的,测试无法保证软件质量,测试只能保证软件的正确性与否。

    我认为软件的质量保证重点在Coding环节,唯有花费精力进行过程跟踪,借助人力或者一些工具,进行代码审查才是软件质量的重中之重。


    过程跟踪在事情或任务执行过程中,一直存在,就像一个审查员,发现问题,及时沟通,及时协调,及时处理。不要等到项目deadline的时候,才发现结果事与愿违,那就真是太糟糕了。

    重视过程,加强跟踪,不断检查,适时引导,事物才能向着正常的结果导向发展。

    评论

    发表评论

    validate