Container shipping transformed the way goods were transported across geography and channel. Instead of having many diverse payloads in differing container configurations for different modes of transport; a standard was defined for a rectangular container that could, through a set of standardized connection points, be bolted to ship, train, or truck. The result of simplifying the container configuration meant that transferring cargo between modes of transport became easier, shipping times were reduced from port, to rail, to truck. Handling and management costs also went down because there was less variation in the cargo.
In the same way agile is standardizing the time-boxed delivery mechanism for software development. Widely, today, the iteration is seen as that container. In the majority of agile shops the 2 week iteration with a daily stand-up, front end planning session, and back-end review session; is the norm. The channel of delivery might be scrum, xp, lean/kanban, or some hybrid of these. The choice of which channel to use is deeply dependent on the business environment surrounding the software shop. But regardless of the rails the iteration rolls over; it has become the choice for time-packaging completed requirements.
What are the implications of this to business and development groups? What changes does this standard for team delivery impose/challenge the modern organization with?
Finance and Accounting
How capital projects are financed for internally used software has not followed the train of direction the iteration has brought forth. Traditionally, project estimation is bottom up and we derive funding by establishing a level of effort ( LOE ) across the project, with some breakdown into work packages. Iterations have the capacity to be the bricks of capital financing upon which projects are funded.
The challenge to IT finance groups is to derive the cost accounting for an iteration ( essentially a two week productive work team ) and then establish capital planning policies and procedures that estimate, plan, track and account by those iterations.
At first blush this sounds simple. Why not just figure out the appropriate team composition: say 3 developers, 2 qa folks, 1 product owner and 1 team leader. 7 people X 50 hours a week = 350 hours X $70.00 per hour = $24,500.00 per iteration. So now we just need to figure out how many iterations we need. Right?
What if I need a DBA, Infrastructure Person, or support analyst engaged? How about software licensing, pc costs, PTO ( paid time off ), employee rates vs consulting rates, and other indirect costs? What about the funding mix for any iteration? Surely not all of it is CAPEX. Some of it may be OPEX. But what mix of a typical iteration should be OPEX vs CAPEX? Should certain iteration models exist depending on what the team is doing?
These questions begin to explode the subtlety. By standardizing delivery on iterations, the finance group and IT leadership can standardize the IT shop and its costs. Should success be achieved, CAPEX and OPEX planning should become less complex and more routine; fundamentally reducing the infrastructure, roles, and process associated with this annual event while simultaneously establishing a standardized point of accountability and process planning.
This also changes the very nature of estimation from detailed to relative. We’re now looking at value creation, rather than cost control. The challenge back to the business will be how much value is derived at various cost points and at what point cost becomes too much. Project costing becomes a negotiation toward shared value based on relative targets achieving a defined set of NPVs.
Management and Leadership
In an iterative organization the control, power, and operation are at the iteration team level. Influencing those groups will require a leadership and management structure that is comfortable with fluid and mobile adaptation of resources to project needs. Leadership truly begins to shine in this type of paradigm. No longer dependent on a static formal organizational structure to derive power, the real leaders will begin to exert influence over these mobile iterative pods.
Those succeeding in such an organization will be gifted in the art of servant leadership, coaching, influence, and mentorship. Command and control will be reserved for extreme HR issues alone.
Iterations also change the shape of R&D and new innovative initiatives. Iterations demand transparency, accountability, and risk reconciliation. The iteration opens things up and standardizes the cycle of delivery. To many this may stifle the idea of invention and creation by putting it on a disciplined cycle, but does it? In plain english: business demands a return on its investment. Research for research sake is a university concept.
Org Charts & Structure
How is organizational structure affected by the expansion of iterations? While most IT shops today are familiar with the matrixed organizational structure, the iterative organizational structure groups teams into standardized pods for delivery.
The pods would favor generalists who are good at a multitude of IT functions but perhaps are not perfect at all aspects. This structure would be fluid and adapt to organizational need. An example iterative structure is below. In this way the iterative POD is responsible to the director as a team. All individuals in those pods report to him/her.
Personal Career Growth and Development
Iterations have already had an enormous influence on personal career development at software shops. It’s not enough to be just a code whiz. Iterations place emphasis on teamwork, personal accountability, and decent communication skills. Flexibility is also a key aptitude sought in the iterative individual.
Good delivery PODs are ready made hired guns. Teams of professionals that could potentially write their own engagement. In this way staffing by placement firms and consulting groups changes from individual placement to team sourcing.
The transformation of the shipping and distribution industries to containers wasn’t a simple overnight change. Standardization requires upheaval and new ways of thinking, approaching old problems. Organizations that adapt to the standard IT container and see it as more than just a ‘development thing’ are best positioned to yield the benefits that this change could bring.