zoukankan      html  css  js  c++  java
  • 认识Agile,Scrum和DevOps

    If everything's under control you are going too slow.

    当今的开发,要求faster and faster。所以我们要Agile,become Agile,be Agile

    Agile

    近年公司一直在推Agile。终于我们这个SDLC长期主导的Department也推行Agile了。在上了一些Training后将所学和理解归纳一下。

    首先什么是Agile?大家一般的认识是增量(Incremental),迭代(Iterative)。但我觉得更加要认识到的是将Agile看作一种价值观。对Software Development的价值观。

    所以Agile有所谓的敏捷宣言Agile Manifesto

    Individuals and interaction over process and tools

    Working software over comprehensive documnetation

    Customer Collaboration over contract negotiation

    Responding to change over following a plan

    这里要认识的是,over的左右并不是对立的,而是说如果你认为右边的事情有价值,那么你就应该承认左边的价值更大。

    从一些部门的实践,他们得出了一个心得,Be Agile,Don't do。即Agile是一种状态,关键是这个团队有一样的一种共识,价值观,然后一起去实践Agile。而不是强行推进一些Agile的工具,开发流程。

    Agile在组织形式上讲究的是self-organizing,cross-function。用球队的例子可以较好的理解这一点。开发的小组应该像球队一样,当比赛开始时,个人就在自己的位置上发挥自己的作用无需监管,流程,汇报去控制。足球:前锋,后卫,中场,龙门...。篮球:中锋,篮板,后卫,三分手...。开发团队:用户,开发,测试,DBA...

    强调Business或者用户一定要在Team内,这样需求才能明确,反馈才能及时。办公地点必须在一起。像打球一样,难道通过VC一起打篮球,踢足球?

    一般小组6至8个人组成。小组要达到自治的状态。(Autonomy)也就是小组可以自己回答以下的问题:

    What to build, How to build and how to work together.

    最后,我们应该理性看待Agile。Agile并不是什么秘籍,也不是所有Project都应该使用Agile。Agile只是对现在商业模式急速变化,商机稍纵即逝,软件开发相对应用于降低风险,快速体现价值的方法。附图:

    Scrum


    Scrum 是使用最为广泛的一种Agile方法论,Methodology。如果Agile是价值观,Scrum就是方法论。

    Scrum通常用三三五五归纳

    三个角色:Product Owner,Development Team,Scrum Master。Scrum Master是一个船长,机长的角色,保证开发按照Scrum的方法进行。

    三个产出:Product Backlog,Sprint Backlog,Work Dliverable Software

    五个活动:Sprint Planing Meeting,Sprint, Daily Stand up Meeting, Sprint Review, Sprint Retrospective

    五个价值观:Courage,Commitment,Focus,Respect,Openness

    http://www.cnblogs.com/speeding/archive/2012/10/30/2746532.html

    https://book.douban.com/review/7467832/

    DevOps

    DevOps 关注的是Development与Operation的协作。强调加强两者的沟通协调。通过一系列的自动化保证交付质量,快速的Production更新。做到continuous delivery。

  • 相关阅读:
    <数据结构基础学习>(四)链表 Part 1
    <Android基础>(四) Fragment Part 1
    <Android基础>(三) UI开发 Part 3 RecyclerView
    <数据结构基础学习>(三)Part 2 队列
    <数据结构基础学习>(三)Part 1 栈
    <数据结构基础学习>(二)简单的时间复杂度分析
    <Android基础>(三) UI开发 Part 2 ListView
    <Android基础>(三) UI开发 Part 1
    <数据结构基础学习>(一)数组
    <Android基础>(二) Activity Part 2
  • 原文地址:https://www.cnblogs.com/JackMa/p/5267553.html
Copyright © 2011-2022 走看看