Proven, Practical Tactics For Agile IT Release Management - The Core Solution |
Posted: March 30, 2020 |
Overview: This article is the third in a series of five which explain how an IT organization delivered a release management process that exceeded its management's expectations and provided a foundation for continued success. Many Information Technology organizations flounder when they are tasked to understand, organize and implement change to the system and application software serving their clients and end customers over a period of several years. This third article focuses on the key processes of the solution I developed for the Release Management consulting engagement. Please refer to the first Article - THE CONTEXT for a full discussion of the problem domain and organization, and to the second article - DEFINITIONS AND TRIAGE for a discussion of the get-ready steps. What was the secret sauce that made Release Management processes a success? The sauce begins with three foundation ingredients or elements - a paradigm shift, visualizing the whole problem domain, and knowledgeable collaboration. The Core Solution was enabled by three dramatic changes in the mindset and actions of IT management. Paradigm Shift - From Resource Balancing to IT Hydraulics and Kanban The CIO and others initially assumed that the path to improved productivity would be an outcome of matching forecasted demand for service and forecasted supply (essentially of programming and QA staff), enabled by capturing a lot of size and capacity metrics, personal vacations, hours spent on work in progress, etc. In simple terms, each change request would be estimated (repeatedly) for hours of remaining effort from each source group or individual, run through a number cruncher that was time-sensitive, and out would come a resource-balanced schedule of releases with their associated change requests. Let's call this the MSProject model for short. In theory this works for standard parts and production lines, but the model fails miserably in the face of human nature, software craft, and changing business priorities and demands. The first shift was to recognize that the IT environment behaved according to the principles of hydraulics. Imagine for a moment a large funnel fed from above by fire hoses gushing change requests. At the bottom of the funnel is a gate/valve operated to flow CRs into a pipeline with a fairly constant flow and capacity. Along the pipeline were release valves allowing CRs to enter production. This is the mental model of IT Hydraulics. Our funnel(holding tank) for Projects and Change Requests represented unscheduled customer demand that was fed via "fire hoses" from the department heads. There was no limit on how many CRs could be pushed through a fire hose in a time period. The holding tank consisted of the 250-350 change request "forms" for the year of this case study. The IT work capacity was a pretty steady state of 60 people working full time each week. Of these, about 40 were software developers and QA staff. These resources could work on any of the change requests from the holding tank, and it was management's job to direct them to work productively and collectively on the most important ones. Some change requests could be fulfilled with mere hours of effort. Many took person-weeks and person-months across IT organizational lines. Also, software developers operated with a limiting principle that they would not have more than 2 open "code branches" for an application. During this case study, IT software development capacity (pipeline) was held constant by a fixed budget, fixed headcount, and existing toolware. This hydraulics system had relief valves - called releases that were scheduled for every 2 weeks. The system would thus "flush out" a variable number of change requests into production, preventing an overflow of the holding tank. Adding additional pressure from the holding tank above could result in some short-term flow improvements, but excess pressure (or push) invariably resulted in pipeline cracks and disruptive failures. Another primary limiting consideration is that only certain people could work productively on certain CRs due to application or toolware expertise. importance of literature review was that only 2 programmers knew how to implement change using Oracle Forms software, and had the appropriate licenses and training. There were a number of similar cases defining who worked on what. IT was teetering on the boundaries of failure because an important determinant of the success of production scheduling based on "pushing" the demand is the quality of the demand forecast which can receive such "push". So IT management reconsidered its position regarding a "push" form of scheduling. In IT's environment we did not have standard production line equivalent inputs and outputs. As a consultant, I introduced a pull-based approach, based on my exposure to Kanban theories. To paraphrase an encyclopedia Kanban, by contrast(to push), is part of an approach of receiving the pull from the demand. Therefore the supply, or production is determined according to the actual priority demands of the customers. In contexts where supply time is lengthy and demand is difficult to forecast, the best one can do is to respond quickly to observed demand. The theory sounded better than pushing stuff toward the programmers, but how do you pull it off? This article was written with https://essayfreelancewriters.com.
|
||||||||||||||||
|