In the development world we hear a lot about the term “Agile.” In software this refers to an iterative approach to development that relies heavily on collaboration between cross-functional teams, feedback, testing, and continuous improvement. It's the approach that Table XI uses to design and build websites and mobile applications.
The Agile approach encourages flexibility. Change is inevitable: By the time software is delivered, the landscape, business problem, or technology may have changed, so products must be easily (and quickly) adapted. By delivering solutions in small, incremental pieces, it also helps us reduce risk in delivery and time to market. In short: Agile helps our team improve efficiency and reduce cost.
So I wondered, if Agile methodologies have transformed the way software teams build products and collaborate with clients, how can these principles be applied to other areas of the business?
We recently hosted a panel at Table XI to explore the ways in which the Agile methodology can be applied to growing and retaining talented teams. We were joined by Gail Golden, a management psychologist, consultant, and Principal of Gail Golden Consulting, where she helps enterprise clients manage organizational change and leadership development; Jenn Yee, Director at the Chicago Startup Institute, an eight-week, full-time immersive career accelerator that works with young professionals and career-changers to equip them with high tech skills; and Claire Lew, Founder of Clarity Box, a company that helps managers discover insights they need to reduce turnover, increase employee morale, and build a more productive team.
During the course of the discussion we explored five Agile principles and applied them within the context of developing engaged and productive teams.
1) Inceptions: Get the Full Picture
At Table XI we start all of our projects with what we call an “Inception.” Our development team meets with the key client stakeholders for a rigorous examination of the project at hand. We spend time developing a shared understanding of the opportunity and building a common language to describe the solution. Our process is very visual—we write out all the models and ideas the clients have in their heads so we can ensure we're all talking about the same thing. Over the course of the Inception, it usually becomes clear that we’re not.
Business Application: In business, often the “presenting problem” is not, in fact, the real issue. For example, a company that thinks they have a recruitment problem may actually have a retention problem. Until you solicit feedback from multiple perspectives, it’s impossible to know.
Make it Agile: Get key members of the team in one room, use the whiteboard, and listen carefully: The original problem might not be the most important thing to address, and the project may need to pivot.
2) Iterations: Start Small
Once we've built a shared understanding of the work to be done and agreed on priorities, the next step is to create a plan to deliver that vision. We look at the big picture and figure out how we can break the work down into very small pieces. We first tackle the things that carry the most risk and/or the most business value. Our teams deliver working software every 1-2 weeks, so we can show the work-in-progress to real users and get feedback as quickly as possible.
Business Application: Ensuring you have the right people in place who work well within the company is crucial. HR challenges are vast and varied, but it’s possible to take incremental steps toward improvement. More companies are breaking recruiting into small pieces.
Make it Agile: Test and experiment with “pilot programs” to see what yields the best quality and return on investment. Use job boards, contract-to-hire projects, or apprenticeships to cultivate new hires.
3) Testing: Early Indicators
In traditional “waterfall” software development, the testing phase comes last. A team of developers spends weeks, months, or even years building a new system. Eventually, when they feel the product is done, they throw it over the wall to a team of testers, who then start banging on it to figure out if it really works or not.
Our teams work differently. Because we're building software incrementally, we test all along the way to make sure that what we're delivering every 1 or 2 weeks meets the intended functionality. Since we're doing that much testing, it's really important that we automate as much of it as possible so that the team can stay lean and nimble. Having a robust suite of automated tests allows the developers to continue making changes to the system and have confidence that the tests will alert them if they've unintentionally broken something.
Business Application: “Automated testing” isn’t a concept typically applied to business, but it should be. The Startup Institute issues a weekly survey on every aspect of their student curriculum, conducts weekly check-ins with students, and spends time as a team reviewing all of this feedback, and intervening with students where needed.
Make it Agile: Schedule periodic face-to-face meetings on the calendar to check in. Don’t wait for the “canary in the coal mine” (or in this case, annual feedback) to connect individually and frequently with your team.
4) Retrospectives: Get Feedback
As the software that we build grows and evolves over the course of the project, so does our team. It's helpful to have standard practices and processes across the organization, but at the end of the day, every team is different and trying to solve different problems. One simple yet powerful tool that our teams use to maximize their effectiveness is called a “Retrospective”: At the end of every 1- or 2-week iteration of work, the team takes a short pause to look back and discuss what worked well, what didn't, and what new approaches to try as we move forward.
Business Application: In business the concept of “retrospectives” (or formalized reviews) are common at the end of a project, but rarely mid-cycle. This is a missed opportunity. Giving employees a chance to voice their ideas at key points during a project helps clarify issues quickly and leads to faster decision making.
Make it Agile: Engage teams throughout the project to empower them and foster a real sense of collective ownership. Try an approach for a week or two and monitor progress, instead of getting hung up in endless debates.
5) Continuous Improvement: Never Done
One of the underlying core values in the way that we build software is that we're focused on continuous improvement. We don't try to build the perfect thing on day one—we try to build the simplest thing possible so that we can get it in front of real users and get feedback. We go from there and keep adding on to the system over time. We add more tests as we add more features so that we can have continued confidence that what we're delivering will be high quality. We reflect as a team on a regular basis and ask "What's not working? What can we do better?" Nothing is ever done; there's always room for improvement.
Business Application: In business, if you’re soliciting feedback it’s important to demonstrate two things well: 1) You listen; 2) You implement. Too often we see companies invest in frivolous perks like foosball tables and “Beer Thirty,” when really these incentives don’t matter to the very people they are intended to amuse and entice.
Make it Agile: Show your employees how their feedback and their work matters to the whole by following up on some of their ideas. Empower them by investing in your culture in relevant ways.
Have more thoughts on how Agile applies to business? I’d like to hear from you. Please leave a comment below.