笔者在华为云DevCloud工作,秉承吃狗粮的文化,DevCloud团队在践行精益敏捷DevOps的同时,也在使用DevCloud工具进行实践落地。 而我希望讲述老百姓自己的故事,说说DevCloud是怎么做敏捷DevOps的,所以产生了写“我在DevCloud”系列的想法,目前规划的有如下内容:
【我在DevCloud做需求】
【我在DevCloud做估算】
【我在DevCloud做计划】
【我在DevCloud做开发】
【我在DevCloud做测试】
【我在DevCloud做检查】
【我在DevCloud做集成】
【我在DevCloud做交付】
... ...
采用“我在DevCloud”作为系列主题有两重含义:
• 其一,DevCloud是笔者所在的团队,所以我会写写DevCloud团队是如何做这些活动的;
• 其二,DevCloud是笔者所在团队开发的DevOps工具链平台,所以我会描述如何在DevCloud上进行这些活动。
需要说明的是:
• 这些实践方式,DevCloud团队在践行,所以具有一定的示范性;
• 但不具备普适性,每个团队都应该根据自己团队的业务特性、团队成熟度、流程以及对方法论的解读,来进行落地实现;
·里面有很多优化的空间,并没有最佳的实践,只有适合的实践。
通常而言,软件开发起始于需求收集与分析,所以我们系列第一篇,从需求谈起。
传统的瀑布研发模式基于三个假设:用户准确的知道自己想要什么,开发人员能够完全理解用户在说什么,需求在研发过程中不会发生变化。
但事实上这三个前提假设都不存在,需求沟通之后做出来的产品,往往如同下图的蛋糕(笑而不语)
我们以用户故事来描述需求
维基百科上说,用户故事的目的在于以更快的速度、更少的消耗来应对现实世界需求的快速变化。
在DevCloud,我们以用户故事的形式来记录需求。华为以往也用需求规格说明书以及用例的形式,但这样的方式非常乏味、容易出错、编写耗时,而且说真心话没人愿意去读。
采用用户故事的好处在于:
• 用户故事强调对话而不是书面沟通
• 故事更容易被客户和开发人员理解
• 用户故事大小适中,适合做迭代计划
• 用户故事鼓励重要的事情先做
• 鼓励推迟决策,延迟考虑细节
• 支持随需求而变的开发
用户故事将重点从以往的文档转换到了更实用的对话,面面俱到的文档看上