The document discusses strategies for managing technical change and leading technical teams through change. It outlines common challenges to change, such as resistance to new ways of working. It then provides recommendations for leading technical change, including having clarity of purpose, allowing time to adapt, regular communication, involving staff in decision making, and celebrating iterative successes. Frequent communication and addressing doubts are key to gaining staff buy-in for changes.
Change is like a wave cresting on the shore. Beautiful, powerful, dangerous, and part of life’s rhythm.
Technological change is like an axe in the hands of a pathological criminal. [Albert Einstein] If you want to make enemies, try to change something. [Woodrow Wilson] The first problem for all of us, men and women, is not to learn, but to unlearn. [Gloria Steinem] Some minds are like concrete; thoroughly mixed up and permanently set. [Anonymous] It is impossible for a person to learn what he thinks he already knows. [Epictetus] It is not the strongest of the species that survives, nor the most intelligent, but the one most responsive to change. [Darwin] They say that time changes things, but you actually have to change them yourself. [A Warhol] If you don't like change, you're going to like irrelevance even less. [Shinseki, Chief of Staff]
Technological change is like an axe in the hands of a pathological criminal. [Albert Einstein] If you want to make enemies, try to change something. [Woodrow Wilson] The first problem for all of us, men and women, is not to learn, but to unlearn. [Gloria Steinem] Some minds are like concrete; thoroughly mixed up and permanently set. [Anonymous] It is impossible for a person to learn what he thinks he already knows. [Epictetus] It is not the strongest of the species that survives, nor the most intelligent, but the one most responsive to change. [Darwin] They say that time changes things, but you actually have to change them yourself. [A Warhol] If you don't like change, you're going to like irrelevance even less. [Shinseki, Chief of Staff]
Kurt Lewin 1950’s 3 stages of change Unfreeze – Change – ReFreeze Data from MindTools.com
1970s university of rhode island studying smokers and addition Contemplation: not sure if ready or willing to change Preparation: mentally preparing to change Action: the change
1970s university of rhode island studying smokers and addition Must give people the time to move between the phases Early adopters to change often become frustrated with the others needing time at each stage Contemplation: not sure if ready or willing to change Preparation: mentally preparing to change Action: the change
This is the concept of creating separate files for the display code and the code which performs logic and data manipulation. By separating these two major functions and grouping by the type of person editing those files we can implement changes faster and with less risk to the overall design. The HTML editors can make changes to the display code while the programmer is making logic changes to the other files. Depending on the change requests, many times a simple text change can be implemented without disturbing tested logic code. Thus reducing the need to test. This results in a more robust design and quicker turn-around times for change requests.
This is the concept of having backups for all files along with timestamp and revision number for each file. This ensures control around which files should be grouped together and labeled as "tested good code". This is critical for software releases and very beneficial for backups. Any team coding environment would be chaos without this.
This is the specific way Display Code and Logic Code get separated. Sometimes this system actually has a language of its own. It is how we make the code separate. There are many choices for a system here. Choosing the right system impacts the whole design process. We started out with one system, and switched to an easier system half way through the project.
This is how we test our releases before turning the code live to the customer. This is a very critical step because lack of adequate testing leads to unhappy members and unhappy customers. There must be a "formal" process and procedure to follow to know what to test, and ensure the same thing is tested each time a change is made.