Change is hard as a individual. Implementing lasting change in a team or organization is probably one of the most difficult things one can attempt. I say lasting change, because it is easy to impose short term change, but hard to make that change stick.
As a developer change is rapid and unforgiving. Skills, patterns and practices that were valuable yesterday are discarded for new replacements at an ever increasing pace. Not keeping up means you end up as a maintenance developer and eventually without a job in many cases. For organizations, not keeping up means slowly becoming irrelevant and increased risk that a competitor will surpass your ability to provide a better or cheaper solution.
As a self described change agent, I have learned some hard lessons about applying new technologies and techniques with development teams and even the users of the software I built. The biggest mistakes I've made in the past are as follows.
Allowing some members of the team to move fast and adopting new patterns or practices usually results in a large tear in the team. The folks that were allowed to get out front become frustrated with teammates that are not ready to make the leap and the team members that were not ready feel left behind and disregarded. This means you need to overcome the tensions on the team while also getting the laggards up to speed. This method inflicts much trauma to a team and the results are mixed and unpredictable.
Attempting to get consensus with the entire team before moving forward with a change is perilous as well. This usually entails endless meetings that go no where. The big issue tends to be that everyone has a different vision of the solution and the potential risks associated. Combine this with everyone's natural resistance to change (aka fear of the unknown) and it ends in a stalemate.
Probably the most destructive and usually least effective method is to give a directive to make the change. This usually results in some of the team executing the letter of the directive, but not the intent. The rest of the team will just ignore or resist the change wherever they can.
Through the pains of failure I and successes I have developed a maturity model as a guide for instituting lasting changes with teams and larger organizations. I'd like to say it was a conscious initiative to develop this model, but quite honestly it is a model a for success that I stumbled upon. I was organizing my thoughts for a presentation I was preparing for and spent some time researching academia for a model to implement organizational change. In my search I learned that there is very little published work on the subject. I was surprised since implementing organizational change is so crucial to the success of organizations that I assumed there would be oceans of guidance.
After coming up empty in my search I spent some time contemplating what has worked for me in the past I developed the maturity model below.
The maturity model for lasting change has 5 steps or phases that a team progresses through over a time frame. This time frame depends on the changes being implemented and in some cases I have run parallel efforts where there are multiple changes to a team that are being implemented at the same time and are at various steps in the progression. Just be careful not to implement too many change progressions at the same time as a team can only absorb so many changes at once.
It is important to move the entire team through the progression as a group and not allow some to get too far out ahead of the group or let others fall to far behind. Naturally there will be individuals that push forward and individuals that hold back. This is not a bad thing, but you want to keep them as close together as possible for success.
The Observe step is one of the most important steps and the one that you will be most tempted to skip. This step primarily involves the team leadership and may be one individual or a subset from the team. In this step, you will watch the team, ask probing questions and collect information about what challenges the team is encountering. Look for root causes and look past the symptoms.
If you are looking to improve the team's performance this step may be very holistic and organic in nature as there are probably lots of symptoms, but only a few root causes to look for. Once you have identified the root causes, you will be able to identify the appropriate training and experiences the team will need to be successful.
If you are looking to implement a predetermined type of change this step will be more of an assessment of the team to understand what will be required to move the entire team through the rest of the progression of the maturity model. In this scenario you are looking to identify what training the team will need and what types of practice will be beneficial.
The Educate step is another important step that you will feel tempted to skip. Identify a variety of training materials for the team to consume over time. I have found that providing a combination of videos, blog articles, online training and even instructor lead training is the most successful. I believe it is successful due to the repetition as well as the fact that different channels resonate differently with each individual.
One of my favorite techniques in this phase is to find a video that demonstrates a technique or technology and schedule a meeting for the team to watch it together. This helps ensure everyone gets exposed to the content, takes the guilt out of taking time to watch the video out of the equation as well as gives the team an opportunity to discuss the content together. Just think, you wouldn't hesitate to schedule an hour long meeting to discuss an upcoming priority or other important matter. Why wouldn't you do the same for a training video. Note that I don't like to take up folks lunch hour to do this. I truly don't get the whole lunch and learn mindset...lunch is for rest and recovery.
Be patient with this phase and do not push a predetermined agenda at this point as you will lose some individuals if you push too hard.
Practice is probably the most fun step in the progression. This is where the team applies the new technology or technique to passion projects or proof-of-concepts. There can definitely be overlap between the Educate and Practice step since practicing the training material is important for internalizing what is being learned. I like to see this step as more than just implementing the training exercise though. This step should be applying what was learned in a low risk way beyond what the training exercises since applying a new concept is probably one of most difficult steps.
Have fun with this since practicing something new can be challenging and sometimes scary. Keep things low risk as far as implementation dates and potential to break production. Definitely have the team present the solutions they create during practice to leadership or other teams to keep the Eustress (beneficial stress) up and provide a feedback loop.
The implement step is where things get real. This is where the team picks an opportunity to actually apply the new concepts in the real world. Ideally, the team will find an opportunity that is lower risk and is a fail fast, fail small type scenario. Expect there to be some unforeseen stumbling blocks along the way.
Likely the team will not apply the concept correctly on the first attempt. Have patience and encourage the team to continue forward.
This step is where you will see the most resistance to the change as it will be apparent that this is the way of the future and the stress levels will be the highest. Keep pushing forward and as a leader, spend the extra time required to keep the entire team moving forward at a similar pace. Patiently listen to the concerns of the individuals expressing doubts and temper the individuals looking to run ahead. Most of all have compassion and understand that the changes being implemented is likely causing some level of distress (adverse stress) to all members of the team.
After the team has implemented the new concept one or more times, the team will enter the Improve step. You will know the team has arrived at this step when they demonstrate confidence in the new concept and are applying refinements to their work with a minimum of encouragement.
You will know you are successful when the majority of the team has internalized the change to the point where they would not want to go back to the old ways and/or they feel like the new way is the most comfortable way.
Be prepared that if you have done a really good job the team will have internalized the new concept to the level that they all thought it was their idea to begin with. Tell your ego that the end-game was applying lasting change and not to get credit.
I hope you find this maturity model for lasting change helpful. Your comments below are greatly appreciated.