By DeVry University
- John J. Higginson, Groupon CTO
- Chris Campbell, DeVry University CIO and Vice President of Information Technology
Understanding and leveraging technology can be critical to a company’s success in today’s fast-paced business world. In this Future-Ready Skills session, learn from John J. Higginson and Chris Campbell as they discuss how agile development practices aid their companies. Dive into the strategy behind pushing decision-making as close to the problem as possible, the value of experimentation and learning over detailed planning and a one-team approach versus hand-offs.
John J. Higginson: Hey Chris, it's good to be with you today.
Chris Campbell: So, you and I have spent a lot of time working around the agile precepts through our careers. And so, I thought we'd start off today with just you telling us, telling the listeners a little bit more about, what is working agilely? And even as importantly, what is it not?
What is Agile?
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.
Re-skilling for the Future
Chris Campbell: Excellent. So, you know today's topic we’re really talking about, our viewers here are thinking about re-skilling and into the future. I'd love to hear your thoughts on, we’d love to hear your thoughts on, what are those things, those skills and competencies should folks that are re-skilling focus their energies on?
John J. Higginson: Yeah. I think I'll start with an overall and then there's some specific roles that you could focus on with agile development. So overall, if you are going to do anything in IT, you should acquaint yourself with the agile practices and the philosophy behind agile. After this, we are going to post some links that are just short overviews of agile and kind of a brief how to guide with some video links about what agile looks like in practice.
So, step one would be in re-skilling, just really familiarize yourself with the practices of agile. Don't get too hung up in the super details, just understand the concepts behind it and why it's different from other forms of development.
Going deeper from that, there are particular roles in agile development that are very highly in demand that you could focus on. So, one of those roles is the role of scrum master. You can think of the scrum master as the conductor of the orchestra. The person who is making sure that the team is working on the right features in the right order, that they are getting customer feedback, that they are checking in with the team on things that are complete or things that are still open. So, they coordinate all the activity. It's in some ways, akin to what project managers do, but it is a somewhat different skillset, and it is highly in demand.
The other is the role of product manager. And so, you can think about in a development, I'll go back to my website example. So if we're developing a web application and we're going to have people that are working on the code, people who are working on how that web application looks, how the database works, but we're also going to have people who represent the customer's interest in that.
So, if our fictional web application is a banking application, the product manager is the person who is the conduit between the people who are going to use that banking application and the development team. Saying, "this is what they want. These are the kinds of, this is the information they want to look up, these are the kinds of reports they'd like to see, these are the kinds of activities they'd like to do," and help with the design and the requirements gathering. And importantly, product management is not writing long documents. But is an integral part of the team sitting side by side with the engineers and helping them develop the software every day.
When to Take an Agile Approach
Chris Campbell: Actually, we've got our first question that's just come in. It says, Riley would like to know, "As a leader, what questions should they be asking themselves to determine if their team should tackle a project in an agile way or perhaps a more, a more structured way?"
John J. Higginson: I think, you know part of it is what are your customers expecting? If they're internal customers or external customers, are they looking for faster delivery of certain features of functionality? That's one question, if they are, agile works really well for that. Are they saying to you directly or indirectly that they don't feel like what you're delivering is exactly what they want? Agile can be really good for that because agile forces you to have that customer, ongoing customer conversation.
Is your company saying to you that we're not moving fast enough? And for a long time, not moving fast enough is a perception often. But what underlies that perception a lot of times is, we feel like, you know we go long periods of time between delivering something to our customers. And the other is, do you feel like decision-making is slowing you down? That decision-making is bottleneck somewhere about what to develop, when to develop it, what order to develop it? And, if that's the case, if you feel like that's an anchor on the company or the team, then agile is a good way to resolve that.
If you have something that is, if you don't have those things, or you have something that really requires huge coordination. I use data centers as an example. There's definitely things in the healthcare space with like big, big, low tolerance for error medical equipment like surgical equipment that generally do follow some more of a structured workflow because the room for error is a lot less there.
Exploring Agile Certifications
Chris Campbell: Sure. Okay. That's a good. We really got the questions rolling in here. So, there's, there’s several in here about agile certifications. And I know that as people think about re-skilling, are there certifications that you would suggest are more useful than others? Or what about just certifications in general for agile?
John J. Higginson: Yeah. I think education is really important. I think it is. You need to go into it looking for the program that is going to give you the right overview and the right education versus the, the credential at the end. I don't have any specific ones that I'd recommend. There's lots of organizations that offer agile certificates and agile training. I think what you want to look at is, is look at the quality of the program. Talk to people that have been through it, either at your own company or through your network and see what they thought about it. But I think the education in agile is working on a team and doing your first agile projects. But there's really no substitute for sitting with somebody who's been an agile practitioner, learning the techniques, learning the ceremonies and getting some real-world advice about what works and what doesn't.
Building Your Agile Experience
Chris Campbell: Okay good. Another here. We've got a question here. Just you know, a recent graduate looking for, "How do I get experience doing agile? Right, are there some avenues as I'm looking for employment or exploring opportunities? Right, are there are some avenues I can follow to perhaps have some experience?"
John J. Higginson: Outside of, you know in terms of watching things, there are a lot of great videos on YouTube that you can watch. You're talking about agile concepts and actually pick apart a project that was done in an agile way and look at that. Beyond that, I would say if you're a recent grad, look for opportunities to do short term engagements, if those are internships or consulting opportunities. Because almost anywhere you go now, you'll go, you’ll be placed on a project that is using agile practices and you'll get a chance to do it that way.
You can also, there are development communities online if you’re, you know, you've done some development work. And if you go on GitHub, there are communities in GitHub that do co-development of different, different things, whether it's open source technology or just fun projects people are playing around with. And I know a lot of those communities work in an agile way as well.