拜腾科技项目管理团队采用敏捷项目管理方式。具体操作:
1)先要弄清楚CMMI(该公司使用CMMI)和敏捷项目管理的主要区别。CMMI面向的是活动,敏捷项目管理面向的是特性(功能);CMMI是按照活动和阶段进行,一次交付,增加新功能再做新的开发。敏捷是按照sprint进行多次迭代开发,可以先做最小可用软件(MVP),进行成果展示后,再根据特性优先级进行持续的迭代开发。
2)MVP怎么设计呢?使用快捷的方式,现有产品已经定制开发完成,那么可以快速识别特性点,提取几个典型的用户,提炼几个典型的流程,使用用户故事地图的方式进行优先级排序,定义出MVP及后续的特性迭代计划,即多个sprint冲刺计划。
3)讨论出交付计划后,对特性进行小的任务项的分解,以一个工作日为单位进行,在醒目的地方设计看板的位置,将特性图和任务项分别贴上去,进行每日站会,确保每天都有交付,在短时间内可以快速实现第一个sprint的交付。
4) 持续sprint……
敏捷成熟度金字塔分别从理念、组织风格、改进性、目标、适应性、实践对敏捷项目进行说明。
在软件开发过程当中,首先配置管理要解决的是版本控制,即要保证每个版本是完整可用的、可追溯的;二是变更管理,也就是说增加或修改一个功能,是属于变更,变更是配置管理的子集。变更会改变原来的配置,需要更新配置表;第三个是过程管理,在开发过程中,不仅要求结果要正确,也需要动作规范、合规标准。第四个是文档管理,比如开发过程中代码的注释说明、变更日志等,都要规范的按照配置管理的要求记载,并且存档。软件开发的配置管理,包含以上四个部分的内容。
在软件开发中软件其实有三种状态,第一种状态叫草稿状态(Draft),草稿状态的特点就是可以随时改的;第二个状态是正式发布状态(Released),如果觉得开发已经完成,需要在发布之前,必须要经过评审的过程,如果评审通过了,那就可以发布了。如果有问题则需要打回去进行修改,直至满足评审的要求。还有一个状态叫做正在修改状态(Changing),即在软件发布之后,又发现了缺陷,或者让客户找出了bug,这时候得给客户修改完成。并且修改完成还需要经过评审,才能再次发布。
只要是发布了的版本,如果发现有缺陷,那这个缺陷的修改必须在变更控制之下,即这个变更能不能变、会带来多大的影响,会给我们造成哪些损失,必须要事先评估,走我们的整体变更控制程序,才允许去修改这个bug。在软件开发的过程中,必须遵循这样的一个过程,才能够保证我们的软件是实时可用,每个版本都是可追溯的。这就是软件的配置管理,
像腾讯、阿里、百度等这样的大厂在开发很多软件的时候,不是一个很小的团队,可能有几百个程序员同事在开发一个功能。比如过年春节的时候全民看春晚直播抢红包的这样的程序,可能几百个程序员都分散在不同的研发中心,他们都在写代码都需要去上传,如何保证写的代码不会相互覆盖或者影响呢?
这涉及汇流管理。团队成员都需要按照一个严格、统一的规则和标准。比如代码如何写、如何上传等。必须得按照这套汇流管理方案执行,最终才能产生最终的一个多人合作的产品。
软件配置管理系统
为了把这个配置管理管好,我们经常会用到一些专业的配置管理的软件。比如入门级的有SVN、CVS、Microsoft VSS,这都是用于我们版本控制的常用的软件。除了管理我们软件的版本,还有管理bug的追踪、重构等项目级的软件,如Clear Case、Clear Quest及PVCS等。还有更高级别的企业级的配置管理的工具,如Harvest等。这些工具可以帮助我们把配置管理的更加专业和到位。
欢迎关注我们的公众号