A Continuous Integration for production, teams, and business.
Imagine a superhero, one that is known for their agility. You can see their agility in action when they dodge a punch, or any other unforeseen challenge to their saving the day. While they adapt to these surprises in some seemingly superhuman way, this is only possible to the extent to which they are aware of what needs to be adapted to. A high level of awareness is what gives them the agility to win the day. And so, our awareness is the key skill we can work on to improve our agility.
We don’t have to be superheroes to increase our agility, no more than we have to be superheroes to be agile. Anyone who’s had to change their plans for some reason has experienced some form of agility. While it may not feel very agile when you need to reschedule a dentist appointment, the flexibility on everyone’s part in that encounter, is, on some scale, a form of agility. Further, you definitely don’t need superhuman powers to increase your personal awareness. A literal treasure trove, increasing one’s awareness, including self-awareness, most noticeably increases one’s agility, often experienced in a person’s flexibility and “well-adjusted” personality.
Awareness in development
Awareness can be seen at the root of agility in development environments. High performing software development teams, for example, will use some form of an agile methodology to produce their work, releasing it in iterations.
How are iterations agile? Iterations are agile because they aim to provide an optimized awareness into a larger effort. The goal of each iteration is for what’s produced to be considered a “shippable increment” of the product. It is something that would be considered complete and working on some scale of the total product vision. Providing this frequent awareness into the product’s development allows decision makers to see their product working in some way and decide then if the existing effort should continue, or perhaps a different direction should be explored, including canceling the effort. This awareness enables the agility to make these decisions much earlier than at some “final release” at the end of the project when an unfortunate amount of effort has been expended.
Another example of increasing agility by increasing awareness can be seen in implementations of Continuous Integration, which is the maximizing and automating of awareness during software development. The most common setup of Continuous Integration involves monitoring a code base for changes. When a team member submits changes to this repository, the automation is triggered and tests, scripts, and other deployment steps are run and either made visible as integrated, or in an error state, with indication as to what may be to blame. This constant increase in awareness enables changes and corrections to be made immediately, when they are the most easy and beneficial to make.
Continuous Integration, in this way, is a cornerstone of agility in software development.
Awareness in teams
It could be argued that the agile methodology, Scrum, is a form of continuous integration. The 5 Scrum Values (Commitment, Focus, Openness, Respect, and Courage) relate to each other and the roles of a team to increase the team’s interpersonal awareness, enabling better team dynamics, improving their agility and product development. Each of Scrum’s recurring ceremonies continuously integrate this interpersonal awareness with the team’s understanding of what the best thing is to do next, what should stay the same about their work, and what should change.
It is the values combined with the daily standups, continuous planning and retrospective nature of this agile method for the sake of inspection and adaptation toward improvement that equals a continuous integration, maximizing awareness, and thereby the agility of a team.
Awareness in business
Survival through agility is no less important in business than in life. We strive to stay helpful and relevant to our clients, adapting as their needs change. Stubborn businesses aren’t around for long, and we want to be around for a long time.
How can we stay agile as a services business with clients? With the understanding that awareness enables agility, we seek awareness continuously.
We stay in touch, visiting when we can. Our clients are people too and it’s invaluable to learn what’s important to them, first hand. We also request feedback formally through automated and regular feedback collection tools to keep our attention on our clients steady even when we get busy.
We call, we listen, and we seek alignment with our client’s needs and how our process and skill can best adapt and help. We do this, continuously integrating all feedback channels with eyes on the future, staying aware to stay agile.
To stay… here.