IT职涯

一个多年的IT人的博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Agile敏捷开发

Posted on 2013-06-08 14:27  IT职涯  阅读(4132)  评论(1编辑  收藏  举报

以前做一个大项目动辄需要几年才能完成初期的成果,近年开始流行敏捷开发,我当前的项目也应用了Agile敏捷开发。之前曾经接受了敏捷开发的培训,今天查看hybris的文档,发现它也对如何在hybris进行敏捷开发进行了说明,概括为一句话就是:Hybris的Agile开发方法是基于Scrum,XP(Extreme Programming)和最佳实践的结合。
我们当前的项目在客户现场开发,人员有客户各部门的人、咨询的人、我们开发人员、给客户做广告设计和页面设计的公司,以及一批客户高薪聘请的专家。
对于Scrum,在维基百科中给的定义:一种迭代式增量软件开发过程,通常用于敏捷软件开发。
Scrum的主要角色:
Scrum Master:是Scrum教练和团队带头人,确保团队合理的运作Scrum,并帮助团队移除实施中的障碍。
Product Owner: 产品负责人确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品ROI负责。
Team:一个跨职能的小团队,人数5-9人,团队拥有交付可用软件需要的各种技能。

在我们的团队中,负责整个项目的是2个项目经理,一个来自客户,她主要担当Product Owner的角色,另一个来自咨询,负责整个项目的大事小情。另外还有两个项目经理,一个来自咨询,负责需求,另一个来自我们开发团队,是我们开发人员的直接领导。

Scrum Master是一个女生,她每天督促我们开例会,写白板等,同时她也担当着oracle那面的职责,及其他各种各样的琐事,在我们项目中她不是项目的负责人也不是团队带头人,但她是团队中最久,也最了解配置的人。

而我们则是Team的开发人员,主要的开发人员三人:我负责前台,其他两人一个负责后台,一个负责服务器。前台主要有我们开发人员,设计公司的设计开发人员,客户培训部门及负责各种页面及配置的人员,有时候还有一些专家或者其他人也会参加前台的功能,我进入项目负责前台时,项目经理告诉我我要和各方沟通保证前台功能的实现,保证schedule,反正所有和前台有关的都要我保证。

Scrum会议一共包含四种:Sprint Planning Meeting,Daily Meeting,Review Meeting和Retrospective Meeting.

我们每两周一个Sprint,每次Sprint开始之前都会有Planning Meeting,每个Sprint结束都会有Review Meeting,初时我们的计划会议并不是很顺利,计划会议时我们每个人都用扑克来估算任务的时间,但是那时很多任务并不是很清晰,还有些需求则不知所云,然后老外们经常一讨论一天,而我们这些外语不够利索的小兵在听到一半时就开始各行其事了,然后会议结束后没有任何结果出来,直到我们真正确定一个release的日期,开始真正整理需要发布的内容开始,才稍有所改观。也许有人说任务应该Product Owner列出来并清晰告诉我们,但是实际上,有时候需求只是一个想法,这个想法的实际流程,详细的需求都没有,它是否需要实现及是否能实现,Product Owner也不能肯定,而且由于中国和国外国情不同,那种在我们眼里很不可思议的需求也经常会出现。

当我正式进入webshop的项目组,负责前台开始,Scrum Master告诉我我们每天都有一个简短的Daily Meeting,我们每天都要说自己昨天做了什么、今天做了什么以及完成任务是否有什么问题。在会议之前,我们需要在内部Scrum管理网站上填我们昨天做了什么,今天计划做什么。进入项目后,项目经理们和客户确定了初次release日期,但是release的范围没有确定,我们要开始做所有页面的样式了,问负责需求的项目经理release范围,最终终于和客户确定了初次release的范围,于是我们开始截图,发给负责样式设计的另一家公司,和他们沟通我们当前的功能,便于他们进行样式设计。设计初步确定部分后就是沟通给出前台的解决方案,因为需要我们合作共同开发,他们的每个结果都影响我们是否能开始一个任务,自然就影响着我们的schedule,于是沟通,督促他们的成果及确保完成我们这里需要的任务,成了我每天必做的事。

...