Blog : May 2006

Tuesday, May 09, 2006

The Loosely Coupled Highly Cohesive Business Unit

I wanted to post some collected thoughts on organizational structure for larger scale agile organizations. So here goes…

What do I mean by larger scale? Well typically most agile writing only addresses single teams, who are free to work on their own without interference and who single-task on a single project until completed. The main exception in the literature is Feature Driven Development where the method was created and designed for use on medium to large size projects or programs.

Optimal large agile organizations consist of small highly cohesive teams that are loosely coupled!

Ever find yourself in one meeting after another with a different set of people - where each time you are trying to agree who will work on what and how to avoid treading on each other’s turf? Often these meetings seem to drag on for days, weeks or months and very little work gets done. It can degenerate in to turf wars or managerial squabbles about who owns what. A lack of cohesion across teams leads to a lack of momentum because people don’t know what to do or who to work with or even if they do, the colleague is often on a different team and assigned to different work with a different priority. A lack of cohesion in the definition of roles and responsibilities produces a very large amount of waste.

We might define this type of waste as the amount of time we spend talking about working as opposed to the amount of time spent collaborating on real work. A good ratio might be 1:10, a typical one can be 1:1 and in some organizations it can be more like 10:1 in favor of waste.

All of this leads me to my main point. Architecture is important. A well defined loosely coupled, highly cohesive architecture enables an organizational structure that significantly reduces waste. It is precisely this idea that is enabled in FDD Feature Teams with the Chief Programmer acting as the interface between loosely coupled teams.

Although coupling and cohesion predate object-oriented, aspect-oriented and service-oriented architectures, they ideas still hold. The idea of a cohesive class, component, aspect or service still holds. What is encapsulated inside the class, component, aspect, or service ought to be cohesive and through its interface (its method signature) it ought to be loosely coupled. The same is true for organizations. Encapsulation, the idea that an org can work on stuff without outside interference is amazingly liberating and powerful. We have a word for it - Empowerment.

Architecture and analysis are vital to scaling Agile/Lean concepts across larger organizations. Without a loosely coupled, highly cohesive architecture on which to map the organizational structure, it is impossible to minimize the waste from communication overhead. You can’t refactor organizations in the way you can refactor code. Emotional intelligence is involved and there is a lot of emerging evidence to suggest that the older emotional part of our brain doesn’t process and re-wire as quickly as our logical processing centers. How often have you seen an employee complain about organizational change? As a member of my staff once told me, “You’re the fifth manager I’ve had in 15 months and I can’t stand it!”

We live with these challenges every day in Visual Studio Team System. Around 450 people work on the product. There are six product units with up to 150 people in each one - some are significantly smaller. The Team Foundation Server product unit is split across two geographic locations and organizing the groups in Redmond and Raleigh as cohesive, loosely coupled units has taken some time and effort on the part of the management. Much of the talking we do is about who owns what, how the architecture maps to the organizational structure and as our picture of the product and its function clarifies where each piece of work should land - determining who is responsible for the work and what are the dependencies between teams. Minimizing dependencies and coupling between teams and product units and creating clear lines of communication through loosely coupled interfaces - known as Program Managers at Microsoft - is part of daily life on a large scale software project. Watch for part 2 tomorrow… Technorati tag: Agile, David+Anderson, Lean, FDD

Posted by David on 05/09 at 12:42 AM LeanShiftAltCtrl • (0) TrackbacksPermalink

Monday, May 08, 2006

Effective Leadership from Pujan Roka

I had a really great team when I worked at Sprint. It’s amazing for me to realize that it is 4 years ago since I left. While many of the team have gone on to advance their careers in new jobs and hold down lead developer or architect spots in companies all over America, one or two of the old team are particular stand outs. Martin Geddes has gone on to become quite a personality in the blogosphere with his communication innovation blog - Telepocalypse. He is now a sought after consultant and key note speaker in new wave telecom circles. Daniel Vacanti has worked with me since and published some new material on color modeling and is currently working on a book manuscript to take the color modeling ideas to a new level. And now Pujan Roka has eclipsed his success as a cartoonist and joined me in the ranks of published authors with really quite a stunning and original work in management science, Bhagavad Gita on Effective Leadership.

I read part of a draft of this book some time ago and I’m delighted to see it published. I’ll be reviewing it when I’ve had time to read it thoroughly. I’d like to congratulate Pujan on his achievement. A major career step. I’d also like to congratulate him on the major personal achievement he just shared with me this morning [?sorry private]. Thanks Pujan it was a pleasure working with you and I wish you every success and happiness with your family. Technorati tag: Agile, David+Anderson, Pujan+Roka, Management+Books, Management+Science

Posted by David on 05/08 at 02:59 AM Permalink

More Software TOC Thinking

Recently, I asked the question, is TOC thinking becoming mainstream? I certainly seem to have started something. In the collective psyche of the software engineering industry people seem to be thinking a lot more about constraints and bottlenecks. Here is some more evidence. A new blog post from Steve Hebert. Steve wants to nit pick a bit with a few sentences in my book. He takes specific examples used to elaborate the discussion and draws some rather hard conclusions. Actually anyone who reads this site regularly will know that I don’t tend to treat individual developers as constraints nor do I measure individuals at all. In fact, it does tend to be the team or group that acts as a bottleneck. I’ve shown this time and again often with real example case studies that I’ve published over the last two years. Whether Steve fully understood my book, or whether I managed to fully articulate the material three years ago, isn’t nearly so important to me as the fact that Theory of Constraints thinking in software engineering process and methodology truly is becoming mainstream and I had a lot to do with that. Technorati tag: Agile, David+Anderson, TOC, Theory+Constraints

Posted by David on 05/08 at 02:38 AM Permalink

Friday, May 05, 2006

Seeing the Power in Color

A few weeks ago I spent a couple of hours early one morning helping my friend Jim Benson to model a problem with Together and Pete Coad’s color modeling technique. Regular readers will know this is a pet topic of mine. Jim was so impressed he read the book and reviewed it on his site. Go take a look, scroll down and look for Java Modeling in Color in the left hand sidebar. Technorati tag: Agile, David+Anderson, Coad, Color+Modeling, UML

Posted by David on 05/05 at 01:45 AM (0) TrackbacksPermalink

Thursday, May 04, 2006

Lean Management Roundtable - Chicago, June 13-14

I’m participating in a boutique conference event called Lean Management Roundtable June 13-14 in Chicago.

Participation is strictly limited to only 75 people. There are 25 slots left and the organizers are making them available to a wider audience.

The event is billed as a much more collaborative, cooperative event compared to a typical knowledge broadcast type conference. Hopefully it will prove useful and I’ll learn some good stuff from the other participants.

Details are available here. I hope to enjoy an opportunity to work with some of you at the event.

Posted by David on 05/04 at 01:20 AM Lean • (0) TrackbacksPermalink
Page 2 of 3 pages  <  1 2 3 >