软件产品线工程方法 - BAPO相关周期图
BAPO(Business/Architecture/Process/Organisation)
商业(Business)
业务领先模型
产品生命周期
在产品开发期间该产品销售额为零,公司投资不断增加;在引进期,销售缓慢,初期通常利润偏低或为负数;在成长期销售快速增长,利润也显著增加;在成熟期利润在达到顶点后逐渐走下坡路;在衰退期间产品销售量显著衰退,利润也大幅度滑落。如图所示:
适用范围:该曲线适用于一般产品的生命周期的描述;不适用于风格型、时尚型、热潮型和扇贝型产品的生命周期的描述
市场生命周期
曲线Ⅰ表示细分市场的生命周期;曲线Ⅱ表示生命周期过程中市场投资水平的变化,这里可以理解为促销投资水平;曲线Ⅲ表示生命周期过程中盈利水平的变化。从图中可以看到,生命周期的不同阶段,市场环境及主要营销指标的变化趋势。
技术采用生命周期
架构(Architecture)
构架商业周期《软件构架实践》
Architecting Software Intensive Systems - A Practitioner’s Guide
流程(Process)
规划洋葱
敏捷开发小组至少需要在发布、迭代和每日三个层次上进行规划。
- 发布规划要考虑在产品或系统的新发布中需要开发的用户故事或主题。
- 迭代规划考虑在新的迭代中应该处理的高优先级工作,在迭代规划中是把功能需求转变成经测试的可用软件所需要完成的任务。
- 每日规划一般采用某种形式的每日例会来进行,Scrum方法中采用每日站会进行。
在敏捷开发小组考虑范围之外,是产品规划、资产规划和战略规划。
- 产品规划要求产品所有者超越本次发布以外,为已发布的产品和系统的发展做出规划,确定某种产品V1版本有哪些功能,V2版本有哪些规划。
- 产品组合规划是选择最合适的产品来最好的实现公司的战略规划所确定的愿景,确定公司各条产品线以及之间的关系。
- 战略规划制定组织的长期目标并将其付诸实施,企业经常隔几年就要做一次大的战略规划,每年都会做一个年度规划,IBM的业务领先模型(BLM)是一种战略规划方法。
产品线两阶段生命周期
开发方法流程
Scrum敏捷方法
组织(Organisation)
团队发展阶段
参与式决策菱形模型
这一菱形是不同时间阶段的缩略图,代表着团队为了找到全体满意的解决方案而必须经历的过程。
五个不同阶段阐述如下:
守旧区(Business as usual)
团队拿出显而易见的方案来解决问题,避免承担风险或是过于急进。
推动者应当注意每人参与其中的质量和程度。如果不是每人都支持该提议,推动者可以帮助团队突破守旧区,转而进入分歧区。
分歧区(Divergent Zone)
与守旧区相反,在分歧区内的感觉是不同的。人们可能变得戏谑、好奇、紧张...
推动者必须使用头脑风暴或者轮询(go-arounds)等方法,帮助团队表达他们相异的观点。他必须使用镜像(mirroring)或释义(paraphrasing)来帮助每个人清楚地表达其思想。每个人在表达自己的看法时都应当感到轻松自如。
牢骚区
团队一旦表达了所有的观点,经常会由于互不理解对方而产生冲突,令人感到难受和压抑。人们再也看不到将来的希望。推动者的任务,不是要防止团队进入 牢骚区,而是要支持人们理解对方的努力。他必须令团队确信,经历了这一痛苦的阶段,他们终将作为一个集体解决问题。团队可以开始建立一个共享的理解框架 (framework of understanding),这将把他们带入会聚区。
会聚区(Convergent Zone)
这时每个人都具备了共享的理解框架,讨论更加顺畅了。人人都感到他们又开始取得进展,十分热心而投入。推动者应当让团队充分利用他们重新焕发的活力,不要阻碍他们。不过他应当确保每个提议都涵盖了所有人的利益。
收尾区
最终必须要做出决策了。推动者必须在决策时引导团队。大家都要弄清楚:决策具体包含了什么,以及大家如何支持它。同意程度表(agreement scale)可以帮助调查对一个决策的支持程度。
推荐:你可能需要的在线电子书
敏捷个人sina微刊:http://kan.weibo.com/kan/3483302195814612
欢迎转载,转载请注明:转载自敏捷个人网站