5 Steps to DevOps Success
1. Form a small, close-working team.
- This team needs to cover all the disciplines of the project.
- This is important because of the friction of making changes in a large group prohibits experimentation.
- Information sharing and ad-hoc coordination is easier in small teams.
- If you need to get approval from someone in another department, they probably need to be on the team.
- Use your autonomy to solve the problem.
2. Choose a greenfield project.
- A project with zero legacy baggage that is important for the company and solves a problem.
- This clears the table and allows the "what if" questions and conversation to flow freely.
- This is where real change happens.
- When someone says "Gosh, we spend so much time doing x." "What if we never have to do that again?" - That is how you know you're on the right track.
3. Implement a process
- This should encompass the ENTIRE experience from code to customer.
- During this process, make small, incremental progress, and evaluate frequently.
- Consistently pick out the next thing that is the most painful.
- Solve it quickly until it is no longer the most painful thing and move on to the next thing.
- Don't focus on problems specifically in the build pipeline.
- Look at customer support issues, operational issues, and development issues.
- This is why ALL disciplines are needed on the small team in the beginning.
- Folks with the right attitude and knowledge of the problem space.
4. Teach By Example
- Slowly add members to the team to learn from the good / working example.
- This is where the maintenance worker mindset can be slowly changed.
- They will need to see how the new methods are so much better right in front of them.
- Resistance to change goes out the window when the new method is easier and better to use.
5. Be Consistent and Facilitate Change
- Every project after this one follows the same process until all projects in the company are under the same process.
- Help those that are new to the process.
- Teach the better methods and easier ways.