There's lots of talk about aligning Information Technology with the Business. Apparently, it's the number one goal for CIOs. Information Technology is a big field so I'm going to focus on software product development.
It's not enough for software product development to just be aligned with the business; it needs to be part of the business. At one of our clients, and with executive support, we have introduced the concept of product streams by implanting self-organising technical teams into existing business units, where each unit is focused on a product. Essentially, a product stream is a small business with dedicated delivery capability. Its purpose is to make money by selling its product and it contains everything it needs to conduct business. It has a simple structure: Product Sponsor, Product Owner, customers or users (if they are internal to the business) and a technical team. Everyone in a product stream is full-time and only those people with skin in the game are included. Stakeholders are restricted to those people who have a real vested interest in the product. The technical team contains all the skills it requires to perform every duty relating to the product, taking it from concept to production and then operating and supporting it. Decision-making, both business and technical, happens within the product stream.
In many respects, a product stream demonstrates the behaviours of a startup (but with discipline):
Focus is on product, not process.
There is a sense of urgency; people are united around single goal - get product to market quickly to start making money.
Everyone is working in the same room, to a shared vision with a charter against which success can be measured.
Everyone works together, collaborating intensely and communicating honestly - the driving force behind getting stuff done is just a conversation.
Cashflow is key. People are conscious of the finite money available so everyone thinks in terms of value and cost.
People make the right information visible and keep it up-to-date so that informed decisions can be made on where to invest money so that the development effort concentrates on delivering the highest value first.
A product stream encapsulates the value stream for a product and provides the conditions for flow and an environment where waste is first eliminated and then prevented. The people in a product stream are responsible for removing anything from their process that does not add value for their customers. They limit the work in process to their capacity, they work with a cadence, and they eliminate unevenness in the delivery schedule. All this enables them to deliver value to the customers frequently, at a constant and predictable rate.
The product stream is proving to be a more effective organizational unit for developing and delivering product than traditional role-based projects.
When project teams are formed people are seconded to the project by their silos or resource pools to perform a particular role. However, they remain affiliated to their silo and loyal to the people in it. Some people only work on a project part-time, they multi-task across projects. A project has a shorter lifespan than the product it is meant to deliver. The business people cram every requirement they can think of into the scope because they know that if they have any new, significant ideas after the project has ended they won't have any developers available. When the project does finally end, responsibility for the product is handed over to a support team via some documentation and perhaps some training. The support people have had very little involvement in the project, perhaps none. Any product expertise dissipates as people in the project team return to their silos to be reallocated. All this doesn't exactly create a culture that is conducive to building a lasting sense of ownership of and commitment to the product. Consequently, people are often not held accountable. They feel they're on top of their part of the project and they don't care about the other parts. "There's a hole in your side of the boat", as they say.
A product stream, unlike a project, is persistent and is available for as long as the product remains in service. People are dedicated full-time and therefore develop a sense of belonging and demonstrate a greater pride in their work. They care as much about the product as the business people do. They are loyal to the product and the people in the product stream and they hold one another accountable. The composition of a product stream may vary over time to best suit the needs of the product but, to some level, it retains all the skills and expertise it learned as the product evolved. The people who built it are the people who support and operate it (and there's no better incentive to deliver quality than if you have to take the call at some crazy hour on the weekend to fix a problem). Their expertise is totally engrained. When someone has a new idea and it's deemed valuable, the product stream is available to deliver it to the customers without delay or impediment.
A product stream continues to deliver a flow of valuable features to the customers who use the product for as long as they choose to use the product.
In the next couple of posts, I'll talk about the challenges the concept of a product stream faces in an enterprise organisation and how a portfolio of product streams can be managed as part of a business strategy.