17 January, 2020

Change Has To End



[Following applies to all systems, and also to all phases of a system (be it design-phase or operational-phase), and even to all sub-phases of a system (be it discovery and laboratory-experimental sub-phases within design phase or young or matured sub-phases of operational-phase etc)]

A change in a system is needed only in either its Functionality (what a system do) or in its Mechanism (how a system works).

If its functionality that has to be changed then its either to expand the system (by adding more features to cover more environmental or input conditions) or to contract the system (by reducing number of features to optimize for a cost or output variable) (cost variable may be time or money or human effort or material etc, output variable may be effectiveness or availability etc of the system).

If its mechanism that has to be changed then its either a change in level of technology (upgradation or downgradation) or a change to a parallel level of technology (side-stepping instead of moving up or down, to better match resources available) (sometimes you do have to downgrade technology level because newer technology is too complex and thus have too many requirements).

A change is a process i.e. it has steps. The steps, by definition, have to occur in sequence (not in parallel).

(Multiple things may and should happen at parallel, but its still just one step).

First step in the process is a plan. Its a meta-step because in this you decide what to do in remaining steps. You also decide when to do those whats.

Define scope and stick to it or make only minor changes. In scope decide what (parts of system) to change.

(During implementation of plan, minor changes in scope is ok, may even be necessary because ofcourse you cannot plan for everything, but if you find yourself touching entire classes of areas you never thought of making changes into then you need a new plan and new implementation, judiciously undo some or all of the changes made so far and repeat the entire exercise).

Second and last part of planning is to make a sequence. Having already decided what to change in first part now is time to decide when to make those changes. Its here where you look at dependencies and layers in system. 

Your plan has to be in written form, for it to be a plan.

Dont be afraid to make changes in majority of parts in a system (be it functionality or mechanisms). Different sequences of changes in a system should be very away from each other in time. Nobody like frequent and seemingly never-ending series of changes. At end of each sequence of change a system should be well-suited to situation at hand as well as to foreseeable situations in future.

(A situation is a set of all environmental and input conditions at a time).  

A system is a set of interacting parts. If parts dont interact then its not a system. By definition, all functionalities as well as mechanisms of a system interact with each other. Therefore, when you decide change in some parts of system do take into account intended and not-intended effects on other parts of system, do consider your scope very carefully.

[If you can remember only one thing from this post, be it neither that parts of a system must be interacting nor that change in a system is only in functionality and mechanism, make it that all necessary changes in a system must happen in one sequence. Let all sequences of changes stand on their own, i.e. after each sequence system work exactly as it should be and not depend on further changes to handle current or foreseeable situations. In other words, each change must have an end]