I think “La Mancha” must be old Spanish for “Colorado Springs” (ok, I know it’s not, but it sounded good!) as I sure sometimes find myself thinking in a very Quixotic manner and wondering if Cervantes was really gazing into the future and describing my life when he wrote his famous book.
(It’s OK to think I’ve gone off the deep end at this point, there’s a reason Don Quixote was considered crazy)
You may wonder what drove me to start a blog entry like that, but I don’t think I can really explain it, other than to say today has been one of those days…. There’s probably been enough content for at least 3 of these ranting posts, but I think I’ll confine it all to just this one.
It all started with a discussion of how “Agile Development” is shaping some future product direction. The problem that I see with this is it’s not the Agile process that' should be shaping the product, but the other way around. The needs of the product (and by extension the customers who consume the product) should be shaping the process.
Agile is a Mentality, not a Process!
This is probably going to become the mantra for my agile presentations this year. Too often I think project managers and their managers get caught up in the intricacies of their day to day work and forget to step back and take a look at the big picture. I’ve written before about how the real power of any Agile process is in how well it can be adapted to fit the current needs of the team or organization. In truth I believe that the process itself should almost be invisible and that “Agile” should really be more of a mentality than a series of steps that one must go through to develop product. Moreover, the needs of the product should be driven by what the users of the product want to do, not by what you can or cannot get done in a specific timeframe or cycle. Of course to get to that point you have to have a way to capture and document what those needs are. This means that the business itself needs to be agile.
Business Needs to be Agile, yet Honest with Themselves!
Back in the 1950s (ok, 1957 to be exact) Boeing introduced us to the 707. In the grand scheme of things it’s purpose in life was to move people from point A to point B. The 707 wasn’t the first jetliner (heck, it wasn’t even the first Boeing jetliner) but it certainly became the most viable one of it's time. It did so because Boeing had hit on just the right combination of engineering, tooling and marketing to capture a market. Today, Boeing is hard at work on delivering the Dreamliner, whose purpose in life is to efficiently move people from point A to point B. If you look at it objectively, there’s not a lot of difference between the two. They both have a common purpose in life, and the Dreamliner is built to take advantage of all the things Boeing has learned over the years, but it still serves that same singular purpose of moving people from one place to another. The innovation that Boeing has exhibited with the Dreamliner is still focused on that singular purpose. Boeing isn’t trying to take the Dreamliner to space, it’s simply adapting a tried and true platform to the needs of consumers today. This is an example of a company being honest with themselves and focusing on the needs of the product and adapting their processes around those needs.
Software companies face the same challenge, and every once in awhile a company hits on that rare combination of engineering marvel and market need and delivers a product that solves a real problem. If that company is honest with themselves, they recognize that and either try and exploit the heck out of that existing problem, or they may recognize the problem as short term and go in search of a new problem in hopes that they can replicate their success. When a company is not being honest with themselves they tend to talk about (and drive towards) product futures that either aren’t based on customer needs, or no longer solve the problem the product was intended to solve. There’s a reason that Boeing didn’t try to take the Dreamliner to space, just like there’s a reason that companies like Mojave Aerospace and Orbital Sciences aren’t trying to move people from point A to point B.
The Agile mentality has to extend to the business itself in order for it to succeed.