Day 19 of 100 Know the Power of Teams

Posted by: Alan Shalloway on June 2, 2013

Continuing with the 100 Things You Must Know to Be Effective In Software Development

This blog is also in preparation for a webinar I am doing this Wednesday called: How to Start an Agile Implementation.

I wrote a blog about a year ago called Why Scrum Works and How This Tells Us When It Won’t it was a follow up to a blog now more than 6 years old Challenging why (not if) Scrum works. I have long held that Scrum was an incomplete manifestation of Lean-Thinking and I have to say it is nice to see thought leaders in the Scrum community finally coming around to this thinking as well.

However, Scrum still provides little insights into how to create teams when they are not present and are difficult to form.  The notion that the development group is comprised of generalists is simplistic (see Specialization Exists – Honor It). While the espoused Scrum model is clearly the most efficient, it is not always the most cost-effective, or even an achievable approach in many situations.

This blog will focus on why teams are so important.  In a follow up blog I’ll talk about different ways of achieving them.  Let’s consider the seven wastes of software development:

  • Partially done work
  • Task switching
  • Handoffs
  • Defects
  • Delays
  • Relearning
  • Extra features

It not a coincidence that cross-functional teams can help eliminate each of these when they focus on doing iterative development.  This is best achieved when the teams understand Lean-Flow and that it implies they should work on the fewest number of features they can – this allows for quick completion of the work with few items in play.

Partially done work. With a team focusing on getting work done, this won’t happen much.  Start something, finish it.  Stop starting and start finishing works for Scrum teams as much as it does for those doing Kanban.

Task Switching. If we focus working on one story, completing it before going on to the next, there will be little task switching.  Pull an item, swarm on it, finish it, go to the next one.  No task switching.  Nice.

Handoffs. Part of the way to complete stories quickly is getting all of the folks you need work on it.  This also eliminates handoffs.

Defects. Swarming as described above means coders and testers will be working together (pairing even?).  This will lower the number of defects and enable their quick elimination when they do occur.

Delays.  Delays are the cause of extra work, but, by avoiding the above, there will be few delays and overall waste is eliminated.

Relearning.  This will be reduced by folks working together.

Extra Features. By building stories incrementally and getting feedback on how the system is manifesting value, we can avoid building things we don’t need.  This, of course, requires us to build the most important items first.

Teams are also powerful because they provide for synergy, building camaraderie, creative ideas, higher morale and just plain fun.

Teams are good, work towards having them.

And, of course, if you don’t see how to do that, drop me a line – I’ll be happy to talk to you about how to do that.

Al Shalloway
CEO, Net Objectives

Did you like this? Please tweet by clicking on twitter icon below.

Author: 
Alan Shalloway

About Alan Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas. Al is a SAFe Program Consultant as well as a certified Kanban instructor by the Lean Kanban University. Al has developed training and coaching methods for Lean-Agile that have helped Net Objectives' clients achieve long-term, sustainable productivity gains. He is a popular speaker at prestigious conferences worldwide. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design, Lean-Agile Pocket Guide for Scrum Teams, Lean-Agile Software Development: Achieving Enterprise Agility and Essential Skills for the Agile Developer. Al has worked in literally dozens of industries over his career. He is a co-founder and board member for the Lean Software and Systems Consortium. He has a Masters in Computer Science from M.I.T. as well as a Masters in Mathematics from Emory University.