Scrum Development Blog

Better teams make better products.

Posts Tagged ‘scrum’

Team Fragmentation

Scrum Terms | Posted by The 3Back Team
Feb 27 2010

Team fragmentation occurs when there is a lack of unifying purpose in product development work. For simple groups this is often referred to as task orientation. Since the word task is so heavily loaded in agile project management or an any agile / scrum team our industry commonly uses team fragmentation.

In agile distributed teams can easily become fragmented from lack of task orientation. For a distributed scrum agile teamscrum team fragmentation this can be very challenging. Most organizations are faced with the reality of distributed team work in the form of offshore or nearshore typically done as outsourcing.

  • How do you manage these teams?
  • How do you bring new team up to speed?
  • What tools do we use?
  • How do you juggle time zones?
  • Language barriers?
  • Cultural barriers?
  • How do you form effective team habits and without getting blinded by process fog?

Successfully developing a product with a distributed agile team is a modern day challenge most companies.  For the 3back team this topic is one of our favorite.

Agile Analysis

Scrum Terms | Posted by doug.shimp
Feb 22 2010

What is agile analysis?

Simple put, “finding the stories anyway you can”.

Analysis is classically defined in the dictionary as breaking something downagile analysis into it’s component parts or pieces. We will explore a different definition of analysis so that it supports the notion of agile / scrum product development.

Analysis is finding an opportunity to proceed and agile analysis is finding those opportunities any way you can.  Typically in agile we use stories as the fundamental element in analysis. We use stories as a way to drive the team or channel the teams effort toward desired outcomes.  In scrum, stories are prioritized by the Product Owner who may or may not have found them.

When we do agile analysis we are finding these stories anyway we can. The goal is to cause movement. Movement from the team will reveal issues, realities and impediments faster. The more complex a problem then the more we are looking for ways to move which will allow us to explore the problem from other angels.  The exploration of a problem space is analysis and it often yields more opportunities  to stories. There are many techniques we can use to find stories (i.e. Use Cases, CVA, User Roles, Themes, Epics  etc).

For more on this contact us for our white paper or take our training course on Agile Analysis.

Scrum Methodology

Scrum Terms | Posted by doug.shimp
Feb 18 2010

Scrum methodology belongs to the family of agile methodologies.  Scrum like agile in general marks a dramatic departure from classic methodologies (often called waterfall but, this is not an appropriate name) which have been known for their strong structured upfront approach. The Scrum framework is extremely light and often misunderstood because of its stark simple nature.scrum methodology and cyclesScrum was  inspired by the realization that classic approaches to software development were showing a dismal track record and that almost no process process was getting the job done.

The Scrum methodology yields better communication and collaboration, working software, and the ability to adapt to emerging business realities.

Kanban Vs. Scrum

Agile Pathways | Posted by The 3Back Team
Feb 11 2010

Will Kanban replace Scrum?

Choose

  1. No way, they are opposites: Kanban is for flow / Scrum batchscrum flow kanban flow
  2. Yes, Scrum is old school big planning steps
  3. Yes, Kanban minimal planning / Scrum is heavy planning
  4. No, Scrum can reduce to KanBan

As much as we love scrum, even we would have to admit that it’s not perfect. Nothing is.  In  fact, a  large part of our book describes workarounds  for various deficiencies that scrum presents to us in certain circumstances.

One of the more commonly noted deficiencies in scrum is that it plans its work a whole Sprint at a  time.   This “batch” planning process  is often not agile enough  to cope with the actual rate of change of requirements.    In fact, Chapter 4.4 on PlaceHolder Stories, the  discussion  of  the  mid-Sprint  Re-planning  in  Chapter  4.8,  and  the  discussion  of renegotiating the scope of a Sprint in Chapter 4.3 are all about resolving this deficiency.

There  is  another  agile  process,  called  KanBan,  which  solves  this  problem  and  is becoming popular  for  software development projects.  In our upcoming book we will describe the main strength of KanBan and how to integrate it into scrum.

Are Placeholder Stories Ok?

Planning | Posted by The 3Back Team
Jan 18 2010

Choose:

  1. place-holder-story-scrum-agile-slackA placeholder story is a sign of sloppy planning
  2. All work should be known ahead of time and planned during sprint planning
  3. Yes, this allows the Product Owner to dump things into the sprint as needed.
  4. Sometimes we have a history of unexpected bugs/issues of handle it now. This allows us to track how much of that is showing up and leave some slack for when it does.
  5. We often have work we know we will have to do but, don’t know what it is yet.

Comment: This is a way to track how much unknown work is showing up and manage the amount by triggering a conversation when needed. One of the most common issues for scrum teams is what to do about work that we expect to have to do during a Sprint, but don’t actually know the details about yet, such as bugs we have to fix in existing systems, or expected sales support efforts. Using Place holder stories is a a method to manage these “known unknowns”.

Perfect Planning — Best Practices for Successful Agile Planning

Planning | Posted by The 3Back Team
Mar 03 2009

A successful sprint starts with the planning session. This is where the team reviews the work about to be undertaken, and after a few hours of questions and answers, estimates the work required to complete the user stories reviewed, and then as a team, commits to a prioritized list of stories and tasks that are within the team’s calculated capacity. This light set of procedures is well documented in Scrum and Agile literature [1],[2], but included here are some observable traits and best practices that have been found in well-formed, hyper-productive Agile teams.

A well-formed Agile team establishes an intangible sense of rhythm, and enjoys the transition time between iterations or sprints. This period provides closure for work completed, and anticipation of new work. Ideally, the Agile planning session should follow a demo and retrospective (all in the same day), to give the team a chance to celebrate, reflect and get better. Sprints should be consistent in length to help the Agile team develop this sense of pace. An experienced Agile Leader understands that shorter sprints (10 days is ideal) are much easier to plan & estimate. Longer sprints (> 10 days) tend to allow teams to decrease the sense of urgency during the first several days, and it is more difficult to contain and understand total scope than shorter sprints. In Complex Adaptive Systems [3], rapid feedback is critical to convergence.

The purpose of the Agile planning session is to present a collection of user stories to the team and allow them to be estimated. This is where the team effort gets aligned with business direction, and is the essence of the Agile phrase let the product lead. At the end of the session, the team should feel committed to completing the work required to implement the agreed-upon list of user stories during the next sprint. An information radiator [4] should be loaded and prioritized with the sprint backlog of stories, and the team ready to begin the next day with Daily Scrum for day 1.

A well-formed Agile team has a product owner who is prepared for the planning session, and ready to present sprint goals and a prioritized list of stories for estimation by the team. This prioritization has a rhythm all its own, as the product owner should review the product backlog frequently so that stories are staged and ready-to-go for planning sessions based on the latest business priorities. A best practice that helps make this happen is to visibly display the product backlog close the the product manager’s office, so that he/she can has a constant reminder of the upcoming prioritization [5].

A well-formed Agile team has a product owner who can clearly state the Vision (why the Agile team exists) and can formulate clearly the goals for each Sprint [5]. This clearly stated vision and sprint goals should be used to begin the sprint planning session, so that guiding principles can be applied to each story considered for estimating. New stories are typically unfolded as the team asks questions of the product manager during the planning session.

The Agile Leader calculates the sprint capacity by assuming each team member has no more than 6 hours to commit per day. This buffer prevents the team from being over-committed, and is a responsible approach for accounting for distractions. This helps enforce the Lean Software Development principle “Limit work to capacity” to ensure that the hyper-productive state is sustainable.

The Agile Leader is focused on setting the Agile team up to be successful in creating business value during the sprint being planned. The Agile Leader creates an environment where each day is seen as an opportunity to close stories, and visibly see daily progress in the Agile-V [6], reinforced by a satisfied Product Manager. New Agile teams typically have questions of how to handle time away (vacation, training, etc). A well-formed Agile team is extremely tolerant of team members’ vacation and other time-away needs, as paired programming and role-sharing prevent silos of code territories to build up. When a team member is away, the well-formed Agile team can easily adjust and continue creating business value.

Determining the team’s capacity is critical to a successful planning session. This should be the first activity in the planning meeting. Two best practices for determining the team capacity are:
1) The total capacity of the team should be based on the number of team members times the number of days in the iteration times (no more than) 6 hours.
2) Start the planning session by establishing who has vacation time planned for the upcoming sprint, and capturing that information in a vacation story. The vacation story has tasks for each team members’ time away, which account for some of the team’s capacity when stories are being committed. As the sprint progresses and the vacation days are hit, the burn-down chart reflects these time-away tasks being completed along with any other tasks. This prevents the burn-down from falsely indicating a problem.

For example, a 5-member well-formed Agile team is planning a 10-day sprint. The capacity of the team is quickly established to be 5 members X 10 days X 6 hours per day, which gives a capacity of 300 hours. The ideal daily burn-down becomes 30 hours. If 4 team members attended training during day 1 of the sprint, this can be easily accounted for by creating a time-away story that has 4 tasks, each with a 6 hour estimate. These tasks get completed on the first day, so the burn-down chart correctly shows the time burn-down.

The Perfect Planning session can be summarized in the agenda below. Try variations of it to plan your next sprint:

9:00-9:15 Daily Scrum (last scrum of ending sprint–discuss any unclosed stories and agreement on how to handle)
9:15-10:00 Demo of stories delivered over the course of the last sprint
10:00-10:15 Break
10:15-11:15 Sprint Retrospective (what worked well, what can work better)
11:15-12:15 Lunch
12:15-1:00 Determine Vacation and establish Team Capacity for the planned sprint
1:00-2:00 Visioning (Product Owner presents: Review OBT, Discover Sprint Goals, Discover Roles. Product owner presents each story in priority order)
2:00-4:00 Team reviews stories, creates estimated tasks for each
4:00-5:00 Team commits to chunk of stories to Product Owner, ready to start daily scrum tomorrow

A purely Lean view of the Agile planning session sees planning and estimating a batch of stories as waste. Dave Anderson and Rick Garber (both of Corbis) gave a great presentation at the Lean Product Development Summit [7] where they demonstrated a pure Kanban implementation for software development that had no planning or estimating, and pulled stories in as capacity freed. This approach has the obvious potential of further raising productivity for standard Agile processes. For some situations, the pause between sprints allows teams to celebrate and catch its collective breath while the retrospect provides feedback required for convergence of the complex adaptive system. It would be interesting to take a well-formed Agile team, and migrate it to pure Kanban to see what productivity gains could be realized. I think for new Agile implementations, the light rules of Scrum with Agile/Lean principles provide a proven transition to Lean Software Development, however the beauty of the principles behind Lean and Agile dictate that the best implementation is one that can inspect and adapt. The Corbis implementation of this Kanban approach reinforces the application of situational agility, and I’m grateful for Dave Anderson and Rick Garber for illuminating this so well in their presentation.

References
1. Agile Project Management with Scrum, Ken Schwaber
2. Agile Estimating and Planning & User Stories Applied, both by Mike Cohn
3. Agile Management for Software Engineering (chapter 2), by David J. Anderson
4. see Information Radiator, Alistair Cockburn
5. see Eye on the Prize: Best practices for Aligning Agile efforts with business goals
6. see A Kanban System for Sustaining Engineering on Software Systems, by Dave Anderson & Rick Garber

Wired To Connect

Predictable Core of Enablement | Posted by The 3Back Team
Mar 03 2009

It seems that the more we connect, the more we create gravity around ourselves and the things that we want to do. In my experience this is even more true for team’s that are involved in product development.
The rule at work here seems to be:

“Teams are alive as they can build meaningful connections.”

This is perhaps why I love working in the agile software community. The more I play to my strength of connecting with other folks, especially teams, in meaningful ways and adding value, then the more the universe seems to respond by generating gravity that can then be used to spur on those interests.

Well Formed Teams and the Agile Pathway

Agile Pathways, Well Formed Teams | Posted by The 3Back Team
Mar 03 2009

When people consider what got them to their current market or look closely at how their competitors are succeeding they see smart, sharp, fast hyper-productive teams. They find that some organizations possess a knack for rapidly configuring themselves into a shape and deploying their hyper-productive teams to rapidly build new product capabilities. Some competitive organizations can do this within days or a few months not years. By the time a competitive analysis is completed of what the competition is doing the market is already changing and moving on. What we see is a need for continuous analysis, consumption of that analysis and a rapid deployment of new capabilities.

After peering closely at what got them to their current position of success we see a “well formed team”. It is amazing how quickly people in corporate america can forget the power that was present from these teams and what they are able to produce. One thing is clear. A WFT was at the heart of their success and everytime they try to create that magic without a WFT ideas just don’t seem to flourish.