`

Process & Scrum

 
阅读更多

依然是一样的话题,依然是我自己的点滴心得,我希望能通过这种方式不断的去认识以及总结。


上次Flow VS Agile中我们谈到了过程和敏捷的初体验,主要针对一开始如何做需求的研发。


转眼3个月过去,我的项目经历立项、市场分析、总计划、需求研发、需求澄清、工作量评估、架构设计这几个阶段。如果按照Process过程来讲,可以说我们到了概要设计这一步。(标准瀑布过程:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、运行维护)


从目前来看那我们岂不是没有敏捷吗?可是上次不是谈到我们是用的敏捷来管理项目吗?对了,到目前为止,我们确实还没有用到敏捷,这都是标准的瀑布模型,标准的开发流程。但对于前面的步骤的原则不太一样,我们不是让每件事情100%完成才启动下一个步骤,这才是关键。比如说我们的需求开发可能只是定一个大的框架,如feature有了,可能就到下一个步骤进行设计了,进行GUI了。这样看来我们有点像是快速开发的模式


那么真正的Iteration迭代是什么时候开始呢?就是在所有开发环境基本准备完毕的时候,如,架构设计完成了,概要设计也有点眉目了,基本开发IDE统一了,code rule有了,一个简单的实作有了,那么我们就可以开始Iteration了。或者说可以开始做release plan meeting了。那么前面所有我姑且称之为Iteration之前的准备吧。


用一句话总结上面所说,就是,我们用快速开发的模式来做Iteration迭代之前的准备工作。可能这个时候很多“观众”会问了,为什么不用纯快速开发或者纯Agile呢?呵呵,我觉得这或许就是我们常说的凡事都有利有弊,关键是我们要找到适合我们自己的平衡点。这或许就是我们的平衡点吧。


这里引入一个我也不知道是谁说的思想,过去的这么多年来,我们的软件开发方法可以分为三大类:第一大类,也就是最初的时候,我们开发基本上只有Coding,没有太多的设计,甚至没有任何市场分析及需求开发,测试和后期维护也很少。因为那个时期编程才刚刚起步,可能编程完全就是为了体现计算机的计算能力,或者使用计算机作为辅助工具。我们姑且叫他Coding类吧。第二大类,软件的兴起,软件给我们带来了全新的生活方式,我们越来越注重用软件来解决问题,软件设计也越来越复杂,编程不再可能是个人英雄了。我们需要团队的力量,这个开发人员越来越看中设计,完美的设计带来的好处不用我说,提高效率,减少返工,扩展方便。我们可以把这个阶段叫做Architecture&Design类;可能很多公司目前都属于这一类。还有一类,也是我们公司现在所推行的,Full类,是什么意思呢,就是我们会适当减少对设计的投入比例,而增加需求、以及后期推广维护的投入比例。让这个研发生命周期是一个比较平均的一个投入比例,既不完全倒向Coding,也不完全倒向Architecture&Design。


回到我们上上一段所说的,这就是我们的平衡点,也正是我们Process & Scrum的艺术之处。


分享到:
评论

相关推荐

    The Scrum Software Development Process for Small Teams

    ### Scrum软件开发流程在小型团队中的应用 #### 背景与引入 在IEEE的一篇文章《Scrum软件开发流程在小型团队中的应用》中,作者Linda Rising和Norman S. Janoff针对当前快速变化的电信市场环境,探讨了Scrum敏捷...

    Scrum Devlopment Process.pdf

    ### Scrum 开发过程详解 #### 一、Scrum 概述 Scrum是一种轻量级的敏捷开发框架,主要用于管理复杂的产品开发项目。它由Ken Schwaber和Jeff Sutherland共同提出,旨在寻找一种能够充分利用面向对象和组件技术的...

    Essential Scrum - A Practical Guide to the Most Popular Agile Process

    ### Scrum 敏捷开发核心知识点解析 #### 一、Scrum 概念与价值 **Scrum** 是一种轻量级的框架,用于管理复杂的产品开发过程。它源自敏捷开发方法论,强调团队协作、迭代开发、适应变化以及持续改进。通过一系列...

    Scrum.Novice.to.Ninja.0994346913

    Understand Scrum's rituals: sprint planning meetings, daily standups, work process, demos, and sprint retrospectives Gain a thorough understanding of the tools used in Scrum: burndown charts, story ...

    《Scrum: Novice to Ninja》- PDF 英文原版

    Whether you’re not sure what scrum is, or you think your scrum process isn’t all that it should be, this book can help. Scrum isn’t magic, but the results it can produce are well worth taking the ...

    Scrum Tools

    ### Scrum Tools:敏捷开发中的关键利器 #### Scrum Tools概览 Scrum是一种轻量级的敏捷项目管理框架,旨在帮助团队有效地管理和交付高质量的产品。随着敏捷开发方法在全球范围内的普及,各种辅助Scrum实践的工具...

    scrum中的缺陷管理方法研究

    缺陷度量是改进和指导软件过程的重要手段,本文采用了PSM模型(Process Specific Measures),旨在建立一个能够反映缺陷预防、项目进度、团队工作状态、工作方法效率、过程敏捷性和产品质量的缺陷度量模型。...

    The Enterprise and Scrum

    From a leader in the agile process movement, learn best practices for moving agile development with Scrum from the skunk works (small team) to the shop floor (the enterprise). Managers get case ...

    Scrum.and.Xp.from.the.Trenches.2nd.Edition.1329224272

    to-earth account of how one Swedish company implemented Scrum and XP with a team of approximately 40 people and how they continuously improved their process over a year's time. Under the leadership of...

    Agile Project Management with Scrum

    Foreword: Why Scrum Works Suppose I’m traveling from Chicago to Boston by airplane. Before and during the flight, the pilot gets instructions from air traffic control. We take off on command and ...

    Scrum敏捷项目管理知识资料.pdf

    Scrum 理论基础是经验性过程控制理论(Empirical Process Control),它主张知识源于经验,以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。Scrum 的三大支柱支撑起每个经验性过程...

    scrum_primer_1_04_cn.pdf

    Scrum的理念基于经验主义过程控制理论(Empirical Process Control Theory),意味着通过检查和调整来管理风险。 #### Scrum与传统瀑布模型的区别 - **传统瀑布模型**的特点在于项目流程按顺序进行,每个阶段必须...

    Rally process

    ### Rally Process与Scrum框架详解 #### 一、Rally Process概述 Rally Process是一种敏捷项目管理工具,它主要用于支持Scrum等敏捷方法论的实施。通过Rally Process,团队可以更好地规划、跟踪和管理软件开发项目...

    scrum introduction

    #### 实证过程控制(Empirical Process Control) **定义过程控制**旨在构建一个可重复、高质量输出的过程。尽管我们倾向于使用定义明确的过程,因为这种方式能够实现自动化生产并降低单位成本,但如果产出的质量...

    scrum 简单介绍

    **过程(Process)** Scrum的过程围绕着短周期的迭代(冲刺)展开,每个冲刺通常为期2-4周,团队在此期间集中精力完成预定义的工作量,以达到迭代目标。 **工具(Tools)** Scrum团队可能会使用各种工具来辅助他们...

Global site tag (gtag.js) - Google Analytics