In 2001, 17 developers met at the Wasatch Mountains in Snowbird, Utah, to talk about the future of programming. The result of this meeting would transform how software is designed and built.
More specifically, they coauthored the “Agile Manifesto,” which, as the name suggests, lays out four values and 12 principles to help teams deliver more software, faster. The first value, for example: “Individuals and interactions over processes and tools.”
The manifesto, and the “agile method” that it inspired, has become standard operating procedure in Silicon Valley and beyond, lauded for its efficiency-boosting techniques.
Now Kent Beck, one of the 17 authors of the “Agile Manifesto” and a seven-year veteran of Facebook, has taken on a new challenge. In April, he joined the $3.8 billion payroll startup Gusto as a software fellow and coach, guiding its engineering teams to work better together.
He told Business Insider that at Gusto, developers were already using many of the principles in the “Agile Manifesto” — but there was room for them to further refine and improve their development process.
“Agile development is the recognition that you can’t predict the future, so you need to be able to adapt,” Beck told Business Insider. “The more adaptable you are, the higher the rate of change you can successfully navigate.”
To be clear, he said, he’s not expecting Gusto to copy the way developers work at other companies or the “Agile Manifesto” word for word. He wants it to find its own unique method that works for its teams. At the same time, he said, he’s intrigued by Gusto’s stated mission of making life easier for small businesses with cloud software.
“I want to help Gusto figure out what it means to develop with gusto and discover what new technology can bring to the employer-employee relationship,” Beck told Business Insider. “Doing both of those things at the same time is a challenging task.”
‘Agile is a big part of how we do software development’
Gusto started off as a company called ZenPayroll, but it quickly expanded beyond its namesake product into benefits and human resources. It helps small businesses handle compliance and taxes, which can be a burden for startups, Eddie Kim, the cofounder and engineering head of Gusto, said.
It’s also a considerable engineering challenge, he said.
“People think payroll is a pretty simple thing,” Kim told Business Insider. “A lot of people are thinking it’s hourly rate. Actually, it’s turning out to be really complicated to do … All these local and tax rules need to be expressed in software and code. That’s one of the reasons why payroll is hard from a software engineering perspective.”
So far, Gusto has raised over $500 million from investors — just this July, it closed a $200 million round. And since it was founded in 2011, it has grown to 1,000 employees across its San Francisco and Denver offices and boasts over 100,000 customers. It plans to open a New York office this year and add 400 employees over the next few years.
As the team was growing, Gusto invited Beck to give a talk to the engineering team. There, Beck spoke about the value of making lots of incremental changes to software, rather than trying for a handful of large updates every year. He also spent some time with the newer engineering teams, who are exploring completely new features.
Read more: Hot cloud startup Gusto raised a monster $200 million round, doubling its valuation to $3.8 billion — and the CEO says that an IPO is a matter of ‘not if, but when’
After the talk, some of the Gusto engineering team kept in touch with Beck. Ultimately, it turned into a full-blown job offer, and Beck joined in April.
“We thought it would be a great opportunity for us to work together, which led to Kent joining Gusto full time recently,” Kim said. “Agile is a big part of how we do software development here at Gusto.”
‘We turned that structure on its head’
Gusto isn’t Beck’s first try at helping to build payroll software.
In 1996, Beck was invited to consult on a payroll project at Chrysler, one of the largest companies in the US at the time. When he was called in, he said, the project was in “a certain amount of turmoil,” as Chrysler’s team raced to make sure its software was ready for the so-called Y2K crisis.
“Y2K was coming up, and the systems were not going to be ready for it,” Beck said.
On top of that particular challenge, Chrysler’s engineers were using the waterfall model, an older method of developing software where teams hand off the project to each other, one after the other, until it’s done — a slower way of doing things, where new versions of software would generally be delivered only once or twice a year.
The drawback to this method is that it makes it difficult to make changes, as any proposed update basically means starting huge parts of the process over again. Furthermore, testing the code isn’t traditionally done until later on in the waterfall approach, so finding any bugs late in the process often means sending the whole thing back to the start to get identified, fixed, and tested before it could even get close to the finish line.
It all meant that the Chrysler team kept missing deadlines.
Beck coached the team to think about things in a different way. Instead of asking Chrysler’s engineers to attack it as one big project, with all the testing happening at the end, he guided them into breaking it up into many tiny projects. He had each team constantly change and improve their code, while constantly communicating with the other teams.
As a result, Chrysler was able to build out a better internal payroll system.
“We turned that structure on its head,” Beck said. “Rather than wait a year, we’re going to force ourselves through integration problems. Once we have that in place, we can grow the various pieces of it … We made it so that it was simple and straightforward.”
Now, over two decades later, he’s helping build a much more modern payroll system.
The ‘agile side of things’
The way teams develop software has drastically changed since Beck started his career. Back in the day, Beck said it wasn’t unheard of for a company to release a major new version of its software every three years. Nowadays, though, companies like Facebook and Google have made it fashionable to update software constantly — sometimes several times on the same day.
Today, he said, developers are more responsible for the quality of the code they’re producing. The responsibility for correcting their work is in the hands of programmers, whereas before, they could (and would) wait months for someone to double-check their code.
Beck says he appreciates that Gusto is flexible with its design. Some large companies may be reluctant to throw out their design plans if something isn’t working. What’s more, Gusto is constantly facing change, from tax laws to customer priorities.
“Gusto is effective at saying, ‘The design is like this, and it’s not working for us. If the design is like that, we would be able to accomplish our goal,'” Beck said.
After all, Beck said, one of the core ideas behind the agile method is to embrace change. That way, software teams can keep evolving with the times.
“Trying to eliminate change is a losing strategy,” Beck said. “We’re still fighting that fight that there are people, even today, who long for the days when we could try to eliminate change. I don’t think that works very well, but to each their own. That’s the agile side of things.”