Recently while cleaning up my photo albums I found some interesting old pictures which were captured while I was leading a Scrum project. These white board pictures illustrate how we incrementally deliver from scratch. Looking at these pictures I really enjoy recollecting the days when I was working together with my team; days we spent suffering, learning and growing together.

Sprint # 0.

At that time the team was just busy like crazy. We got all infrastructure stuff ready in this period of time (we call it Sprint 0). The team also made some smart decisions; one of those was that we use a white board as our User Story completion tracking system, and use different color sticky notes for different types of User Stories.

Sprint # 1.

This picture was taken in the middle of our first Sprint. We got our Product Backlog prioritized and started from some foundational technical tasks. Fortunately, my team was strong enough so that we also delivered some of the highest priority (which also happened to be some of the simplest) User Stories.

Sprint # 2.

This picture was taken on the last day of our second Sprint. Things were just going smoothly. We delivered all the planned User Stories and had a very successfully Sprint Review meeting to our client. The client was happy and we did the Sprint planning for the next Sprint right after the Sprint Review meeting. The team was excited and confident that we can deliver more story points in the next Sprint.

Sprint # 3.

Maybe the team was too excited in Sprint # 2 to realize life never becomes easy. Looking at the picture we took in the middle of Sprint # 3, I can still feel the pain the team was suffering at that time when we had to admit we could not deliver all the planned work.

Sprint # 4.

Things were becoming even worse. This picture was taken the last day of Sprint # 4. That day the team was really frustrated because we were hit by a significant failure: we failed to deliver most of the planned stories. For two consecutive Sprints that the team had missed our commitments. We spent 2 hours having a serious retrospective meeting to decide how we can adjust and catch up with the plan in the next Sprint.

Sprint # 5.

One action the team took was to communicate with our client honestly about the current problems the team was having. The client re-prioritized our Product Backlog so that we got extra time to clean up our technical debts in our Sprint # 5. Thankfully our client understood the team needed more time to learn and grow, although they might not have been that happy. Anyway the team learned from the failure and got extra time to fix the issues.

Sprint # 6.

The team worked extremely hard in Sprint # 5 and 6. Sprint # 5 was a milestone – we not only cleaned up our technical debt but also delivered several additional User Stories. By the end of that Sprint we were finally feeling that we were taking back control.

Sprint # 7.

I lost the picture of that Sprint.

Sprint # 8.

We were getting closer to the end of the project. As we often experience requirement changes started coming into our backlog. All the high priority User Stories on our Product Backlog have been delivered, now the client was adding changes almost every day. Managing those changes became the biggest headache for the Sprint.

Sprint # 9.

The additions in Spring 8 had been implemented. Only a few low priority stories left on our To-do list. The client was planning to throw them away directly and the team started doing regression testing again and again to make sure we deliver fewer bugs. The biggest lesson we learned in Sprint 9 was that we should have written enough automated functional test scripts so that we don’t need to be working over time until mid-night that Sprint.

Sprint # 10.

This was the last Sprint of this project. We’ve done enough tests, and we were very confident about the quality we delivered. The client was also satisfied. They were ready to do the big final Demo to the sponsor. Several key team members started taking vacation. They needed to compensate their families for those crazy days and nights they were staying in the office.

That is the typical life inside Perficient China office, full of happiness of experiencing new things every day, full of pain of dealing with different challenges and issues all the time, full of excitements of continuously learning and growing. I’m feeling lucky that these happen all the time in my life in this office.

Scrum生命周期的更多相关文章

  1. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  2. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  3. C# MVC 5 - 生命周期(应用程序生命周期&请求生命周期)

    本文是根据网上的文章总结的. 1.介绍 本文讨论ASP.Net MVC框架MVC的请求生命周期. MVC有两个生命周期,一为应用程序生命周期,二为请求生命周期. 2.应用程序生命周期 应用程序生命周期 ...

  4. UIViewController生命周期-完整版

    一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load   (NSObje ...

  5. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  6. Spring中Bean的作用域、生命周期

                                   Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...

  7. Autofac - 生命周期

    实例生命周期决定在同一个服务的每个请求的实例是如何共享的. 当请求一个服务的时候,Autofac会返回一个单例 (single instance作用域), 一个新的对象 (per lifetime作用 ...

  8. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

  9. Xamarin.Android活动的生命周期

    一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的, ...

随机推荐

  1. BZOJ3673 & BZOJ3674 可持续化并查集 【可持续化线段树维护可持续化数组】

    题目描述 n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 0 输入格式 输出 ...

  2. BZOJ_day???

    哇哈哈哈哈,这周能不能保持这个呢?

  3. jquery的ajax实现方式

    在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 首先我们看$.get(): .代码如下: $.get("test.jsp", { ...

  4. LVS+Keepalived搭建MyCAT高可用負載均衡集群

    1.前面我们已经搭建好mysql主主,并且用mycat实现双写功能,主要配置文件: [root@mycat2 conf]# cat schema.xml <?xml version=" ...

  5. Windows2008 – Task Scheduler – ‘Action “C:\Windows\SYSTEM32\cmd.exe” with return code 1’

    Remediation Edit Task Let us make the necessary changes, which is to specify the Start folder. Here ...

  6. HDU1099---数学 | 思维

    hdu 1099 Lottery题意:1~n编号的彩票,要买全,等概率条件下平均要买几张.已经买了m张时,买中剩下的概率为1-m/n,则要买的张数为1/(1-m/n)n=2,s=1+1/(1-1/2) ...

  7. java深入解析

    具体内容安排如下: Java Collections Framework概览 对Java Collections Framework,以及Java语言特性做出基本介绍. Java ArrayList源 ...

  8. 洛谷 PT2 First Step (ファーストステップ)

    题目背景 知らないことばかりなにもかもが(どうしたらいいの?) 一切的一切 尽是充满了未知数(该如何是好) それでも期待で足が軽いよ(ジャンプだ!) 但我仍因满怀期待而步伐轻盈(起跳吧!) 温度差なん ...

  9. 【EOJ3652】乘法还原(二分图)

    题意: 思路:Orz Claris 先找出所有平方项,将与有平方项的数有关的数对暂时忽略,剩下的直接连边就是一张二分图,暴力DFS染色 将有平方项的数两边都加一个,再判字典序即可 我不会判字典序……耽 ...

  10. [bzoj3226][Sdoi2008]校门外的区间——线段树

    题目 略 题解 直接套黄学长模板. Orz 代码 #include <bits/stdc++.h> using namespace std; #define ll long long #d ...