We learn important concepts in kindergarten like colors, shapes, and even the weather. It is also the place where so many of us start to understand the benefits and motivation derived from collaborative, productive and creative work environments.
Who doesn’t remember the pride felt during Show & Tell? Or that art project where you had to navigate the opinions and communication styles of a few classmates for the first time? It seemed like just fun at the time, but much of that insight is knowledge that can be utilized today.
Here are 7 lessons you learned in kindergarten that’ll help you with DevOps.
1. Share.
The challenges of software delivery span across every member of the IT team. Developers, operations, QA, system administrators, CIOs, and everyone in between feels the pressure to deliver high quality software faster and with fewer risks.
To achieve this, collaboration across teams is essential.
DevOps is fundamentally centered on increased collaboration. The term itself is a combination of “development” and “operations”. Furthermore, DevOps focuses on three core principles: people, process, and products/technology. When properly implemented, the people leg of that trifecta ensures an organization’s individuals are working together toward a common goal: providing value for the customer.
This is where the primary lesson of sharing comes into play. Like we shared crayons at our tables in kindergarten, DevOps requires sharing information, skills, and expertise. By breaking down siloes, IT teams can deliver faster while maintaining quality, managing costs, and mitigating risks.
2. Check your work.
Before turning in our assignments, we had to check our work and triple check that we put our names at the top of the paper. Stakes were low in kindergarten. They were primarily about limiting the annoyance our teachers had to experience because of simple mistakes and forgotten names.
Stakes are higher now. Errors in software delivery can result in outages, angered supervisors, and upset customers.
For this reason, it’s a cardinal rule to not deploy directly to a live environment. By moving changes to a test or QA environment first, you can check your work.
It’s a simple but vital lesson. And it’s much better to learn it in kindergarten rather than now.
3. Be safe.
Like looking both ways before you cross the road and not kicking a soccer ball indoors, it is important to take precautionary measures to ensure safety.
In DevOps terms, this means defining governance and controls throughout your SDLC and release pipelines. By actively understanding and mitigating risk, your team can drastically increase the chance of a successful and smooth delivery of changes.
The cornerstones of DevOps contribute significantly to the decrease of risk: Continuous Integration, Continuous Delivery, Release Automation, and Test Automation. For example, Continuous Integration and the frequent release of small batches of code nearly eliminate the chances of a major outage. Automated processes in general remove manual tasks, which otherwise open the door to human error.
Taking steps to prevent accidents is the best course of action. But if anything does go wrong…
4. Clean up messes.
Finding and resolving any bugs or errors is essential to successful software development and delivery. Although risk drastically decreases with governance, quality gates, and other preventative controls, sometimes there are mistakes.
We learned in kindergarten that everyone makes mistakes. But we also learned that you must clean up your chocolate milk when you spill it.
The same is true for bugs or errors.
Luckily, with DevOps, the frequent delivery of small batches of code and increased visibility into the pipeline means errors are easily found. You can quickly identify any errors and resolve them.
5. Care for your seed in your Styrofoam cup so it continues to grow.
When we planted little sunflower seeds in Styrofoam cups as kindergarteners, we knew we had to care for the seeds. This meant placing it in a sunny location and remembering to water it every week. With this care, our seed would grow into a strong, healthy flower.
When an organization begins, its software development and delivery processes are just enough to fit its needs. These processes must grow and mature with the organization. This requires care.
Continue to mature your software development processes. You will see growth in your processes, your productivity, and your team’s collaboration.
6. Be aware of your surroundings.
It’s critical to be aware of your surroundings as a child. When it comes to your job today and your organization, you must be aware of your corporate surroundings: your competition.
The modern business environment is fast paced and highly competitive. It is not enough to just keep up with others, you must continuously innovate and bring new features to the market.
Software development and delivery is a cornerstone of innovation. To keep up with competition, continue to refine your processes and ‘shift left’. As you streamline your processes and automate manual tasks, your team will have more time and energy for value-adding activities.
DevOps is critical to take these steps.
Remember, DevOps isn’t a tool you purchase. It’s a state-of-mind and a cultural-shift (enabled by supporting tools). You won’t achieve all the benefits of DevOps after completing a purchase. Instead, as you refine your processes and continuously work to become more Agile and continuous, you will reap more and more rewards from your efforts.
7. You are important.
Your role in your organization is important and valuable to end users and to the success of the organization.
This comes back to collaboration. Every role is needed to deliver a high-quality product, whether that is a software update, a service, an application, or a physical product.
DevOps creates happier, more productive teams. Automating the delivery lifecycle means you no longer have to do the manual, repetitive, and boring tasks. Eliminating these unsatisfying parts of your job frees up time for you to work on creative, value-adding tasks.
Graduating from Kindergarten
At the end of a year filled with worksheets, read-alouds, and nap times, we were ready to graduate from kindergarten and start learning even more in 1st Grade. However, we carried the lessons from kindergarten with us and continued to build on them. While we may have never used the Pythagorean Theorem after 8th grade and never needed to dissect another frog, the fundamentals for kindergarten apply to our lives every day.
Use these 7 lessons from kindergarten as the foundation for your software development and delivery processes so you can achieve faster and higher quality releases with less cost.
Continue learning about how to implement a successful DevOps practice: