June 29, 1998 - Jack Harich - Document Map
Hyper Change is rapid change. It is the dominant force affecting application development today, whether we know it or not. This force has many effects. The organization that is unprepared for these effects will suffer tremendously. This document discusses Hyper Change, its effects and a strategy for coping with this relentless force.
Why Hyper Change is the dominant force
There are many forces affecting application development, such as labor availability, project complexity, foundational technologies, organizational process/culture, schedule demands, user requirements, uncertainty and especially species evolution. In fact, one could list hundreds of such forces. The challenge in dealing with these many forces is to organize them into a small, managable number and develop a successful strategy to cope with that handful of forces.
In the art of war, or the art of business, the mature manager attempts to consolidate and organize a situation until the high level elements that remain make the strategic solution obvious. Elements are chosen for the amount of impact they have on other elements. The more an element impacts others, the higher it should be in the vast hierarchical pyramid of elements describing the situation.
We feel that Hyper Change is the topmost element, as shown by this list of its impacts:
- Potential for falling productivity, increased defects and backlogs.
- Shorter application development cycle times.
- Shorter time between tool versions.
- More new technologies to digest each year.
- Users demanding new apps and changes faster.
- An explosion of 3rd party tools, components and systems.
- An explosion of new standards.
- An explosion of information.
- A huge hyper change fallout from the internet revolution, such as Internet Time.
- Tool productivity increases faster each year.
- Downsizing requires doing more and more with less and less.
- Colleges cannot teach exact skills because they become obsolete so fast.
- Organizations must spend more and more significant energy on employee skills updates.
- If you take too long to spot the need for a standard and make a decision, the result is obsolete.
And by this list of symptoms:
- Engineers are becoming more and more behind in technology. It is now hard to find in-house talent for new leading edge projects. Consultants and service organizations are rising to meet the demand.
- Engineers with the right skills are in very hot demand, and are no longer easy to keep around.
- Standards are becoming much more important, since they can help to insulate one from change.
- Process is becoming much more important, since it can institutionalize absorbing change.
- Throwaway iterations are becoming the norm, since they allow taking larger and faster leaps.
- Organizations find themselves caught in long, expensive standards battles because, due to hyper change, it is becoming more important to have standards and more difficult to select them.
- Structural patterns such as Adapter and Fascade, and architectural patterns such as Layered and Services are becoming mandated in system design, since they can insulate change impact.
The most insidious aspect of Hyper Change is it is exponential. The most forgotten is it is continuous. The most important side effect is increasing complexitity. This is all subject to debate, but you get the picture....
Hyper Change Overload
Hyper Change Overload - Changes coming so fast that an entity's normal response is strained or overwhelmed.
Hyper Change Overload is usually unrecognized until it becomes painfully obvious. One way to spot and control it is to understand its cyclic nature, as shown below. "Uncontrolled Cycle" means a cyclic system is out of control due to inappropriate response to external stimuli. A feedback loop may exist, but the feedback is not being processed properly and usually a vicious cycle exists. The system is suffering from overload and so we call this condition Hyper Change Overload.
Forgive the oversimplifications here. The cycle begins at Change Overload, when the rate or complexity of change exceeds an entity's coping capacity. The entity's response is thus Partial Coping. This creates problems such as increased backlogs, more defects and less features. As Problems Increase, users and developers become unhappy. Productivity Falls, and continues to fall until portions of the entity Collapse, such as evidenced by higher turnover, widespread bickering or burnout, unnecessary reorganizations, desperate outsourcing, refusing more change requests or crisis occurance. Collapse is followed by attempts to deal with the cause of the problem, which is the Recovery phase. Here we see sweeping long-term reorganizations, adoption of better processes, change analysis and sometimes architectural overhauls. However, since Hyper Change is so massive and exponential, usually the cause is only partially solved, and the cycle continues.
This cyclic illness is endemic to the software industry today. One proof is studies showing productivity has been falling for the last few years. Some attribute this to Y2K, some to the Internet, some to the more and more tools available, etc. These are shallow reasons. The real reason is most organizations are locked into the vicious cycle shown above. The cycle has several causes, such as racing technology, the Internet phenomena and the lower cost of hardware, software tools and software publishing. However the proper, all-encompassing explanation and abstraction is Hyper Change.
Note that Hyper Change can affect an industry, company, department or individual.
Now how do we cope with Hyper Change Overload? In a nutshell we must design our systems to handle continuous change as the norm, even at a very fast pace. See Continuous Evolution, one of the five principles of Structured Assembly for how to do this with software.
Comments
"The characteristic of the cycle I find most salient is the progressive (and hence often hard to diagnose) deterioration of coping, from partial success to actual failure. A term which captures this would be useful. Paul Reavis suggests 'Consuming' or 'Degenerative, both of which catch the sense but lack the sound. Given how it feels when it's bad, I'd have to toss in 'Leviathan Hyper Change'. But maybe 'Disruptive Hyper Change' is more down-to-earth."