Thursday, November 15, 2012

What's in a name - Utopian Development Ecosystem


Utopia
We are in the process of changing our way of working in our group. Many times when you are trying to effect large change you need a new perspective. You need something new to get people excited about the change; a new name. Companies do this all of the time. They spend millions of dollars coming up with new names for new product launches. So in an effort to give my team a fresh look at things, we came up with a new name for our development environment. The Utopian Development Ecosystem, UDE for short. Of course, we are engineers and need three letter acronyms for everything. This is a change from the standard “Development Environment” that we constantly talk about.

Let’s breakdown the new name, first Utopia. Thanks to Sir Thomas Moore we have the word Utopia from his book, “Utopia” (1516). He describes a perfect idealized society possessing highly desirable or perfect qualities. Everything in Utopia is in balance. Sounds like exactly what we were aiming for, perfection. If we are going to name something let’s pick the best.
Next let’s look at the word ecosystem. Wikipedia defines ecosystem as:
A community of living organisms (plants, animals and microbes) in conjunction with the nonliving components of their environment (things like air, water and mineral soil), interacting as a system. These components are regarded as linked together through nutrient cycles and energy flows.

What does this have to do with developing and delivering a product? It sounds more like a description of the ecosystem that is growing in my refrigerator, than a team of software engineers trying to deliver a product. If we are focusing on delivering a product let’s make some changes to some words that fit our situation.
  • living organisms → People
  • non-living components → Tools
  • nutrient cycles → Guiding Principles
  • energy flows → Processes
With these substitutions we get a new definition of ecosystem that fits our situation much better.
An Ecosystem is a community of people, (Developers, Validators, Architects, and Managers), in conjunction with the tools of their environment, (things like computers, storage, labs and cubes), interacting as a system. These components are regarded as linked together through guiding principles and processes.

Therefore, our perfect development ecosystem is all about people and tools and how they interact and are linked together through guiding principles and processes. This fits well with what we want to accomplish with our new development environment. It broadens the scope of the typical development environment to include guiding principles and people. Things that easily get overlooked.

Our Utopian Development Ecosystem defines everything we want to help our team deliver products. This has deep meaning and invokes strong feelings, but is simple enough for us to get the team to rally behind it.
DWP