How to be Agile at Work and in Life
How to be agile in relation to software product development is something we practice, as well as teach our clients daily. Now more than ever, being agile is something that we can incorporate into our everyday life as well — as we get used to having new norms or no norms at all.
The process of teaching a client agile methodologies always has some hurdles, as becoming agile in practice takes a bit of getting used to. While it is an approach that has been around for decades, many organizations have yet to incorporate it into their business and software development practices. It is a concept understood shallowly by many and, in actuality, practiced by few. During the past few months, I started to realize how much of what we do with agile software development can be leveraged in our day-to-day lives. As I was trying to figure out what is “normal” now, I thought back to a recent client situation.
This winter, I was on a project with clients that were new to agile software development. I was brought on to help focus the team on delivery. I spent a few days observing the way the team was functioning before sharing my thoughts on optimizations. In most aspects, the team was working fine, and what they were doing was not wrong. I had ideas on some slight changes that could be made, and of course, had seen many other ways to run a project, but what this team was doing was how they wanted to work — they needed to stay the course to see progress. The struggles the team was facing were due to leadership’s lack of faith in the agile process and the reactive desire to inspect and micromanage the process with additional meetings, documentation, and instilling straight fear into the team that they weren’t doing enough. Their need to have more control was stifling the team’s ability to make meaningful progress.
The clients kept asking:
“But what is the right way? There has to be a right way.”
They were associating the lack of progress with the team not operating correctly. While we want to assume that there is a right way and a wrong way to do something, that’s not always the case. What they were experiencing on this project was “normal” for agile software product development. For the clients, not having a prescriptive way of doing something was not “normal” and, in turn, felt uncomfortable.
They kept looking for specifics on how every meeting should operate, the order of product definition activities, testing documentation — but this all went against the agile principles. While sharing my thoughts, I continued to emphasize that this was normal and to be expected, a foreign concept for individuals that expected black and white answers. Reading about agile software development provides you with some guidelines and principles on how it should work. Many see this as a complete and unambiguous plan for their team, but on the contrary, agile is less prescriptive about how and more focused on the desired outcome. Every team is different. Agile provides the framework to help your team discover what works for them.
I love giving teams the space to figure out what works best for them. It is extremely rewarding when you start to see the pieces come together, and the team become a well-oiled machine. Taking time to step back every two or so weeks for a retrospective,is imperative to maintaining success in this process. It creates an opportunity to reflect on what is working or not working. Retrospectives enable evolution while making sure the overall product goals are achieved. On this project, we made the team decision, based on retrospective feedback, to switch from scrum to kanban to focus on the delivery of the defined minimum viable product (MVP). This boosted morale and got us moving on to what was important. The retrospective allowed the team to have a safe space to share thoughts on how they were working together, allowing for continuous improvement where necessary. This team specifically doubled their velocity once given space to operate in the way that worked best for them.
The current situation (COVID) we are facing made me reflect on the project, and I found myself going back to review the Agile Manifesto on software development values. These two values, in particular, stood out to me because of how applicable they are to our everyday lives:
Individuals and interactions over processes and tools
Finding ways to interact with individuals vs. getting caught up in what used to be done or overthinking what those new interactions can be. Simple calls, messages, birthday drive-bys, help everyone stay connected. We started a company happy hour and had to pick a time that would work for east and west coasts — under previous circumstances 3 PM is too early for the west coast, but we decided, you know what, there are no rules right now and that little bit of time we have as a company is more valuable than thinking a Friday 3 PM happy hour is too early.
Responding to change over following a plan
This one is significant right now as we are all dealing with change and need to respond to it based on what we know now and not following a predetermined plan. Whether it be for a wedding, an upcoming trip or just your past weekly schedule, your ability to respond to change is more valuable right now than whatever your plan may have been. There is no planning; there is just trying to protect yourself — mentally, emotionally, financially, physically.
I also reenvisioned the principles of the Agile Manifesto to relate to our lives:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- In this circumstance, you’re the customer. Make sure your highest priority is yourself and do what is valuable to you.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Be okay with changes, continuing to adapt will position you to take advantage on the other side of this.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Celebrate the little achievements.
Business people and developers must work together daily throughout the project.
- Stay in the loop with what is going on (with friends, socially at work, the news, etc.) but don’t overdo to the point that brings more stress than good.
Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
- Give yourself space and emotional support to be the best you can during this situation.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- In-person may not be possible, but getting some face-to-face conversation with friends and family via FaceTime or Zoom can be exhausting in its own right but help you stay connected.
Working software is the primary measure of progress.
- Do your part to help us all make progress — stay home, wear a mask, etc.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Don’t burn yourself out; take it a day at a time, and don’t forget to breathe!
Continuous attention to technical excellence and good design enhances agility.
- Finding ways to keep your morale up will allow you to adapt as needed.
Simplicity — the art of maximizing the amount of work not done — is essential.
- Keep it simple.
The best architectures, requirements, and designs emerge from self-organizing teams.
- Figure out what works best for you, don’t worry about what others do — there is no “normal.”
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
- Take time to reflect and change it up when you need to!
Nothing about what we are going through with COVID is normal.
Every day brings a different level of uncertainty. As you are thinking about your day to day remember to be agile to whatever works for you on a given day and for the situation you are dealing with. There is no right way, but being flexible and adapting as needed will help you to optimize yourself for what you need.
Be your own agile software development team.
Krista Thomas is VP of Delivery at Originate, a concept to growth acceleration partner for digital products.
Looking to learn more about Agile? Reach out to schedule time to meet with one of our Product Consultants.