official google support

CPMP 2020年8月16日 CStudy 总结 – 善用敏捷方法开发IT项目

CPMP 2020年8月16日 CStudy 总结 – 善用敏捷方法开发IT项目

agile

      IT产业目前仍然在快速发展,即使在新冠疫情期间的社交隔离和在家工作,仍然对IT提出了新的要求。 大量项目的涌现对项目经理而言是一个新的挑战。为了更好的管理项目,加华项目管理协会(CPMP) 在8月16日举办了的CStudy案例分析  – 善用敏捷方法开发IT项目讲座。

QingZhangDP

Zhang Qing

 

  主讲人张清,PMP, Certified Scrum Master (CSM), 长期从事IT行业工作,包括项目设计开发,运行维护和项目管理各个方面,成功的项目涉及能源,通讯,分销和政府等多个领域。作为CPMP的创建者之一,在15年的时间中组织和协助举办了大量的公益讲座和各种社交活动,实现推广项目管理,全力服务社区的协会宗旨。

     与以往的CStudy不同的是,这次分析的案例事先就在讲座的广告中公布出来。这样参加讲座的听众就可以事先思考。这个案例如下,

    负责IT应用开发的郑经理最近收到客户的一个应用的10项改进要求,而且客户的需求看起来都不是很清晰,并且客户的时间要求还很急。这让郑经理心里很有些不安,在客户需求不是很清晰的情况下,怎样高效完成客户的要求,这让郑经理陷入了一个困局。

  讲座如期举行。针对这个案例,项目开发方式与需求分析的结果密切相关。

方式一:  如果这些要求都是基于全新的技术,现有应用平台没有提供,业务变化还牵涉到多个部门,而且用户是在对开发过程要求非常严格的行业,项目经理有比较多的资源,那么采用传统的Waterfall 方式来作就比较适。     

                    

    Waterfall 方法包括了按顺序的6个步骤,Planning, Defining, Design, Building,Testing, 和 Deployment. 流程控制比较简单清晰。缺点是在开发后期发现大的设计问题时,修改的成本比较高;同时开发周期比较长。

方式二, 经过分析,如果这些要求在现有的应用平台上就能解决,用户对开发过程虽有要求但更看重结果,项目经理的开发团队资源有限,那么作为开发团队的队长考虑采用 Agile敏捷的方式就比较适合。

                      

Agile宣言中,更加重视左边的价值,特别是工作软件和响应变化。在Agile12条原则中,最重要的是第一条,即我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。

 Agile的开发中,首先要确定的是最基本的功能要求,优先开发,这样其它功能就能够逐步开发,不断实现。对开发团队来讲, 常见的是采用SCRUM的方法。

                     

    Scrum的团队包括product owner,Scrum master, 和 development team. 开发团队中的成员没有明确的分工,可以根据任务担当不同的角色。Scrum的核心是在一个短的开发周期Sprint中,一般2到4周完成一次可以安装到生产环境的软件开发。通过不断的迭代来满足用户的要求。在每个Sprint中,包括一次sprint planning, 每日15分钟的Daily Scrum, 一次Sprint Review, 和一次自身回顾Sprint Retrospective。

    采用这种方法可以有效的应对不明确的用户需求,尽早的交付一部分软件,控制风险,缩短开发时间。虽然有常用的估计任务的时间方法,如斐波那契Fibonacci 数列,但最有效估计任务的时间的方法是实践,第二次作就会准确许多。其实每个Sprint就是一个轻量级的Waterfall。采用Scrum有一个前提是产品功能能够分解并逐步交付,如果产品功能不能分解,或只能最终一次交付比如火箭发射, Scrum就不合适。 

方式三,如果经过分析,这些要求在现有的应用平台上就能解决,用户只管结果,这时项目经理只有一个开发人员,那么采用 Agile敏捷方法的第二代Kanban就是最佳方式。

           

看板Kanban 方式具有以下特点:图形化工作流程,限制正在进行的工作量,评估和管理流程,公开处理原则,改进生产率,可以复合其它管理流程。它可以一个人使用,也可以多人使用。

                

   这种方法可以一个人使用,也可以多人使用。它通过不断和用户交流确定最新的优先级来满足用户的要求,而且保证开发团队有时间不断提高自身的能力,不断改善产品质量。这个方法适合各个行业,大家都可以在工作中使用灵活运用。

 通过对这个案例的分析和三种不同的解答,大家可以看到三种不同方式的特点。

                    

从目前来看,结合使用是一种趋势。随着IT技术的发展,特别是基于AI, Bigdata, Cloud (ABC)的发展,更多应用是基于云计算的Service调用。 这样软件开发方式也会发生变化,更加侧重在开发人员的自我组织,更少的流程管理。

   在讲座过程中,大家积极发言,讨论热烈,一个小时的时间很快就过去了。在讲座的最后,主讲人提到了Frederick Brooks1986年发表的 ”No Silver Bullet”一文 。他是著名的IBM OS/360系统的项目经理,获得过1999年美国计算机界的图灵奖。基于当时的情况,他提出了没有可能把软件的生产率提高10倍,34年后来看这篇文章的结论也是对的。他同时希望培养出杰出的软件设计人员。CPMP也希望参加本次讲座的IT人士不断努力,成为杰出的设计者,为软件的发展做出较大贡献!

通过这个案例分析,针对不同的情况,采用不同的解决方式,这就是案例分析的精华所在。

 

 

Comments are closed.