Almost 15 years ago, 17 software developers got together to discuss development methods and ended up establishing the "Manifesto for Agile Software Development," which encourages planning, flexibility, continuous improvement and collaboration. Agile methodology is the creed for some software developers--it was for me at Salesforce.com--but it also offers five lessons important for business leaders in every industry.
1) Map back to the company vision: Every Agile software project starts by identifying the vision for the product. That vision gives developers a single sense of purpose; it defines what the product will do and how it will support your company's strategy. That means your company's vision and strategy needs to be clear--and even more importantly, inspiring. You need every employee to believe in your vision so they work towards it with every task.
At Okta, we have "brand bibles" in every conference room with our vision, mission and values, and we present our company priorities annually and quarterly. That way, every project in every business function can map back to those focus areas. Just like Agile projects, teams should start every activity by identifying its vision and how it fits into the company's overarching priorities to give employee working on it that sense of purpose.
2) Set reasonable, revisitable priorities: After the planning and vision period, Agile projects consist of "iterations," or short sequences of time dedicated to delivering on priorities. Our engineering team's development processes is based on the Scrum methodology, with a monthly rolling roadmap. My colleague Becky Oliver, director of technical program management, explains that priorities are divided into two timeframes: priorities for the current month (which the team is confident will be completed by then) and the next two months (which are more likely to change). Within the monthly priorities, the team completes a week-long sprint and focuses on a weekly product release. At the end of every month, they revisit, refresh and roll priorities forward.
In Agile processes, the short- and long-term priorities in Agile processes are clear, easy to follow and set just far enough in advance. Teams don't waste time planning priorities so far out that they'll constantly need to be revisited. And they always know what's the most important project to focus on. Following the Agile method, the stress that surrounds prioritizing should fade and hopefully disappear.
3) Be able to adapt--even late in the game: One of the principles of Agile Development is "regular adaptation to changing circumstance," even late in development. Being able to adapt to new people, situations and requirements is key to the success of any team. Even when your company vision and team priorities are clear, you're going to run into unexpected roadblocks and issues--and some will be so significant that you'll need to change those priorities.
Setting priorities is key to a company and team's success, but being able to evolve when circumstances arise is just as essential.
4) Prioritize the customer: Agile processes put the customer first. The Agile Manifesto even reads, "Customer collaboration over contract negotiation," and that's a philosophy all business leaders should apply. In the enterprise, if your customers are successful, so are you. That's why at Okta, we work with the companies that use our platform to help them fulfill their missions so they willingly come back to us. The most successful businesses put the customer first, and that's what Agile methodology advocates for with the early and continuous delivery of useful software.
5) Constantly collaborate and, whenever possible, in-person: In addition to customer collaboration, Agile processes require close, daily cooperation between business people and developers and encourage face-to-face conversation over all other forms. Okta's technology helps people work from anywhere, so it might seem ironic that I'm advocating for in-person meetings, but when it comes to team projects, in-person meetings are the most efficient--they keep team members accountable and empower them to successfully execute.
As an entrepreneur with an engineering background, I'm always thinking about how I can apply development practices to other aspects of business. Agile Development's focus on vision, priorities, the ability to adapt, customer success and collaboration not only provides a guide for building software, but for all business processes.