Adjust. Learn. Grow. It's a process well known in Agile software development, and key to ultimate success.
As part of last week's Denver Startup Week, Bill Wood, Ping Identity's vice president of engineering, shared with entrepreneurs and engineering managers from the local startup community how Ping has built a foundation on Agile development for the past 10 years. In those years, Ping has grown from a start-up with one product and a few engineers to a multi-product, 80-person engineering locomotive. And he explained how Agile held everything together and insured the trains ran on time.
Along the way, Wood showed how Ping's corporate values and other traits were aligned with the company's Agile methods and how that contributed to overall success.
"My challenge to you is to understand your [company] values," he said. "They can be effective in how you lead and how you work as an engineer. Know your values."
Wood backed out of a strictly technical discussion to focus on important areas to ensure success, such as recruiting talented people, establishing and adhering to those values, and working with other departments to establish understanding if not a full-on collective mindset.
Agile, it seems, is as much a company philosophy as it is a method to create software.
"There are a lot of things that are a function of success," Wood said. "And they are all tied to Agile in different ways."
He explained how all engineering goals are scoped within Agile's "time boxes," blocks of time Ping typically sets in 3-4 month increments that produce ready-for-release software for Ping's on-premises identity platform, PingFederate. Releases of Ping's SaaS software, PingOne, are pushed out on a weekly basis.
Despite the box metaphor, Agile's goal is "success" and not blind devotion to processes.
"The best thing about Agile is that you can break the rules all the time, you are always tuning it," said Wood. "And management is engaged all the time. It is adjust, learn and grow all the time."
Wood said Ping has had 250 engineering releases of its flagship PingFederate over 10 years and slipped off schedule only 22 days while developing a reputation for high customer satisfaction.
Agile development is key to keeping the code clean, and, Wood said, Ping finds 93% of all code defects before the public ever sees the end product.
He said over the years that he has made some important discoveries for Agile success, including spending adequate time finding the right people.
"We can't find great people if our managers are not spending 25%-30% of their time on recruitment," he said.
He said maintaining an environment that values a work-life balance also is a key. "We are a value driven company. The journey is as important as the win at the end," he said. "We fit that into Agile."
The development process itself fits into "trains," which produce software worthy of release to select customers or as a GA offering. Wood says Ping sticks to Agile guidance around velocity, which maintains a constant cadence.
"We set the clock for the company," he said. And he noted that customers understand the schedule and welcome the predictable flow of updates and new features.
Wood said companies must understand the work capacity their development staff can handle.
"Capacity is a function of how many people are working," he said, noting that vacations, holidays and family milestones must be factored into the number of engineering hours available during a train.
Another essential trait is the ability to say "no" to anyone or anything that might knock a train off its deadline.
"We say 'no' a lot," he said. The point there is to maintain alignment of projects not just within engineering but with work throughout the company, including marketing and sales.
Mike Day, Ping's director of software quality and a 14-year veteran of Agile development, joined Wood in the presentation and said over the years pain points have shown themselves in management and mitigation and in team development and dynamics, but the good news is solutions are devised, implemented and tuned. What it takes is remaining agile.