Meeting Charleston

Meeting Charleston

Details

Meeting Notes

  • Change is hard to implement
  • Change is necessary
  • If the selected process/software is not broken, don’t change
  • Successful change is based on employee morale, if the change is not effective, then morale will plummet
  • There are many different models for implementing change

Example

As an example, let us consider Company X and Company Y who both allow their developers to use a text editor of choice on their Linux machines when working on code such as:

  • nano
  • vim
  • sublime
  • notepad++
  • vscode
  • leafpad
  • micro (Really cool and minimal cli text editor that has syntax higlighting which can be found here)
  • pluma
  • IDEs (for this example, Company X has built their product with python3)

As listed above, there are many different editors in place to edit the codebase. As a bad example of change management, Company X’s Lead Developer has recently heard about vscode, has began to use it in their workflow, and wants to implement vscode team wide. The Lead Developer wants to implement this overnight, with only their approval, and not give their team any time to adjust to the new product into their toolchain or ask for input from their team. This would be an example of a bad change management, since a sudden change would tank the morale of their team and inhibit productivity due to the new learning curve for the new environment. With this sudden change, team members would be more likely to revert back to their previous text editor

On the contrary, Company Y wants to implement the same change as Company X and unify their developers under one text editor to edit the codebase. Company Y’s Lead Developer holds a meeting with their team members and guages their opinions on the change and what the pros and cons of each text editor that is used by each of the developers. The Lead then takes that information and does their own research, and narrows their choices down to nano and vscode due to the minimal learning curve and they were the most popular. The Lead then re-polls their team and nano wins. Once nano wins, it can be installed on the team’s Linux machines. This can be done easily, since Company Y has implemented ansible across their machines and can deploy the necessary software with the following playbook:

---
name: install nano
become: true # become sudo to install nano
hosts: linux # all linux machines in the environment
tasks:
  - name: update repositories
    - apt:
      update_cache: yes
  - name: install nano
    - apt:
      name: nano
      state: present

This was a very naive example, but once this scales to network components or even changing direction on a project, it is very important to make sure that the change can occur properly and minimize potential employee morale within the team.

Written on April 1, 2021