John J. Higginson: Yeah. So agile is really interesting. It was a real ski change in how we consumed information and how we thought about applications. Because rather than get applications, that would take, the kind of big bang applications we would take, you know multiple months or multiple years to develop and produce, with the web, you could deploy things instantly. And so, people became very accustomed to that idea of, "I go to the site or I have this functionality and I want to do something else," and a couple of weeks later it appears.
And what we learned in that environment is that our more traditional ways of doing software development didn't really fit, didn't really work for that. People were consuming information more rapidly, they were looking for features and functionality more rapidly. So agile came out of this notion that we needed to move faster, and we needed to move more iteratively. That in contrast to the big bang approach we needed to iteratively go through and introduce features.
So that's a big part of agile. But the other big part of agile, and the reason that it's really important to me to be running the kinds of teams that we have at Groupon is, it really enforces the idea that you have small, focused teams that are able to make local decisions about the applications they're developing. So agile is all about pushing authority down, giving people a framework, but saying, "If you need to determine the colors on the screen, the colors of buttons, that you have to, you can work within design guides, but you know the choices within that are entirely up to the team."
And more importantly because agile says you should be talking to your customers all the time, not just when you're ready to test or not just when you're ready to put something into the market, you're getting that feedback and your customers can tell you if they like that, or they don't like that.
And so, I think that the devolution of authority and putting the tools and the decision making in the hands of the people that are closest to problems is another really valuable part of agile. What it's not? There’s definitely still projects that, that don't fit the agile mindset.
Agile is all about having a sketch and building something, trying it out with your customer and then revising it. Revising it until you get it right. There are some things that we still do in IT that don't fit that. Like if we were going to stand up a brand-new data center, that would be really hard to do in an iterative approach. If we're going to do some sort of you know, massive overhaul of our cloud infrastructure, that too would be more difficult to do in that approach. But you know, for software development for customers, internal or externally, agile works really great. And it is very, very widely adopted.