Saturday, February 23, 2008

Success in Complexity - Scrum

Most significant software development projects feel more like a ride on a roller-coaster than a managed success. We lay out the track, check that everyone's strapped in, and scream our way through the out-of-control ride. However, unlike the amusement park counterpart, we feel more frustrated than exhilarated when we step back out on the platform.

The Power of SCRUM

Does it have to be this way? Discipline and good engineering are definitely lacking in many contexts, but even where these are rigorously applied, there is ample dissatisfaction from excessive delays, lack of creativity, and the inability to adapt to changing circumstances. Perhaps there is an alternative that gives us the best of both worlds -- discipline for the known challenges and adaptability for the emerging ones?

Enter Scrum, a set of software development practices and roles that use agile principles to empower teams to delivery high value on time. Combining flexible requirements prioritization techniques, intense levels of communication and time-boxed short development iterations (called "sprints"), Scrum has begun to demonstrate significant improvements in software delivery and quality output. It's no wonder more and more organizations are including Scrum practices into their core software development process.

Can Scrum Go Big?

A common critique of Agile methodologies, is that they are optimized for small-scale, often co-located teams. Can the practices be scaled to large, multi-national projects with multiple interdependent teams. thought so. Using Scrum as the basis of their Adaptive Development Methodology, they were able to dramatically improve productivity in just a few months in an environment involving more than 200 R&D staff. The graph below summarizes their current experience.

Others are also documenting their experiences and designs for scaling Scrum. Folks like Colin Bird at Conchango have been thinking hard about these challenges. Read his posts on Scaling Agility to take full advantage of these insights. He has put together a collection of helpful materials in the presentation created for the recent London Scrum Gathering.

Get Moving

If you are not already experimenting with Agile methodologies, it may not yet be too late. However, in the emerging complexity of globalization and disruptive markets, you can't afford not to take full advantage of every opportunity for sustained success and productivity.

Saturday, February 16, 2008

Why CRM is the New Project Management

Well, not quite... but definitely getting closer. I've been having the pleasure of playing with Highrise, an innovative CRM (Customer Relationship Management) offering by 37Signals, the makers of Basecamp and sponsors of Ruby on Rails. As my initial experiment with Highrise turned into serious reliance, I realized something magical was at play.

The Project's Not the Real Challenge

Here is the magic, the people are the project! Of course, defining what we know about the project is still critically important. Goals, milestones, and work breakdown structures are still highly useful for the known elements of the project. However, as any experienced Project Manager will tell you, project success is primarily about managing the people and managing the unknown. This is where some of the core elements of CRM are extremely helpful.

The focus of CRM is the people (traditionally in the form of leads and contacts). Highrise lets you quickly organize your tasks and communications around individuals, making the social dynamics of your project highly visible. Project success is really about managing complexity, a combination of discipline and sensing, of tracking the known and dealing with emergence.

We haven't quite arrived

The folks at HumanEdj get this as well. They organize projects around human interaction. The tools are clunky, but it's great to see things moving in the right direction.

So, what does innovative project management look like?
  1. Highly visible social network. Highly visible interaction management, including how people are collaborating both within and on the fringes of the project.
  2. Prioritized participant views. All communications, activity, and knowledge contribution needs to be grouped for each individual, allowing easy views of consolidation.
  3. Activity metrics. Instead of simply measuring progress to defined schedules and dates, add metrics of emerging contribution and interaction activity.
  4. Empowered project managers. Provide decision support data for the real challenges of project management, behavioural analysis and emerging risks or opportunities.
I'm excited about this fusion of socially aware, task driven capabilities. And even though we're still missing the killer app for large scale, leading edge project management, we're close to having all the ingredients necessary for the recipe. Along with my innovating contemporaries, I'll be fully engaged with pushing these tools towards meeting the challenges we face in the real world every day.

Sunday, February 10, 2008

Managing the Unknown

We've become experts at managing what we know. To achieve our goals, we break down the work and carefully measure our progress. We squeeze out efficient business practices and powerful system architecture through rigorous planning, testing and execution. But it's not good enough. Are we not often blindsided by the unforeseen? And isn't it true that most of the really valuable discoveries seem to be things we inadvertently trip over, almost by happenstance?

Managing Complexity

Rather than relegating these circumstances to luck or fate, complexity science offers us some insights into how to manage the unknown. This is the premise of the recent HBR article published by Dave Snowden and Mary Boone, entitled "A Leader's Framework for Decision Making". The authors suggest that by identifying the context of a business situation, leaders can consciously choose an appropriate management approach:
  • Simple, in which the relationship between cause and effect is obvious to all, the approach is to Sense - Categorise - Respond and we can apply best practice.
  • Complicated, in which the relationship between cause and effect requires analysis or some other form of investigation and/or the application of expert knowledge, the approach is to Sense - Analyze - Respond and we can apply good practice.
  • Complex, in which the relationship between cause and effect can only be perceived in retrospect, but not in advance, the approach is to Probe - Sense - Respond and we can sense emergent practice.
  • Chaotic, in which there is no relationship between cause and effect at systems level, the approach is to Act - Sense - Respond and we can discover novel practice.
graphic and descriptions from the Cynefin article on Wikipedia
Don't have access the HBR article? Read this review by John Caddell or the original white paper published in the IBM Systems Journal.

Bottom Line

Evaluate your business challenges relevant to its complexity. Are you applying the appropriate management disciplines in each situation? We'll take a further look at some emergent practices for handling complexity in upcoming articles...

Saturday, February 02, 2008

Making a Mesh - Social Computing in Business

After viewing Robin Chase's video on how wireless mesh networks could help reduce global warming, I was struck by how the characteristics of mesh networks are related to human interaction improvements in the business world.

What is a Mesh Network or Meshwork?

Meshworks are highly distributed networks of devices which connect to each other without prior infrastructure. Let's apply some of the characteristics of mesh networks to our innovation design for human networks in the business context.

Characteristics of mesh networks include the following:

Many possible interconnections.
Any node can connect to any other node. Connections are dynamic and temporary.
  • People have many dynamic and temporary interactions with a variety of others, both within and outside of the organization. By increasing presence awareness, through capabilities, such as instant messaging and self-publishing, it is possible to dramatically improve the frequency and range of interactions.

Nodes have purpose and intelligence.
Nodes are able to make decisions in near real time. Nodes handle the routing for each other.
  • Recognizing that people are dynamic knowledge repositories allows us to design collaboration contexts that encourage contribution by everyone in the network. Not only do people regularly route a variety of information, they also have the propensity to add substantial value to the content they transfer.

Self healing.
Nodes are able to self-discover alternate paths for routing information to other nodes. if any node fails, another will take its place.
  • Word of mouth is a powerful, and efficient communication vehicle. By complementing this effect with knowledge "watering holes", promotional information and interest hubs, we create multiple opportunities for discovery and self-organization. In addition, allowing everyone to build expertise awareness on each participant, creates opportunities for access to the right person without predetermining the context. Traditionally, companies have either ignored or suppressed these ad-hoc channels, often seeing them as unreliable, undermining official communications. Instead we need to encourage, promote, and influence these channels to accelerate communication throughout the organization and beyond.

Nodes are free to communicate with any other node at any time, regardless of location, creating robust communication grids.
  • Leveraging open, highly visible collaboration and communication technologies such as Wikis, shared development environments, and visible interaction systems, creates virtual presence and improved access to all participants. Visibility automatically increases peer accountability and overall performance.

Latency and Scaling.
Open protocols and dynamic routing can create interference and delays as the number of nodes increases.
  • Efficiently capturing knowledge flow and interactions is essential for capturing the collective knowledge and experience across the network. State of the art content management systems, and semantic decision support provide the necessary infrastructure to create persistence of content, making large scale interaction viable.

Beyond the Mesh

There is a lot of buzz around the potential of large scale mesh networks, despite the challenges that still have to be solved. Similarly, we are already experiencing the potential of networks where people are the ultimate network nodes. Understanding these dynamics will help unleash new levels of innovation and value for businesses of all sizes.