If you’ve recently approached an agency about building a website, you may have heard about their work being “agile”, as in Agile Web Development. I had first heard the term in a meeting a little over a year ago when someone told me they were attending a scrum later that evening. My awkward response must have given me away.
“As long as they have clean towels, why not?” I said with feigned enthusiasm to a roomful of shocked and bewildered faces.
So where could I turn to learn more about this mysterious Agile practice? In the perfect world who would I want to explain this to me and my less developed brain? Who do I trust? Duh. Teodora Maties that’s who. Not only is she the Product Owner at New Haircut she’s a whiz-star you can actually trust, not just with your website but even with a trunk full of kittens.
I recently contacted her and asked for some hardcore technical discussion of Agile Web Development and I was not disappointed.
February 12, 2014 8:45 a.m.
Jason: Hi Teo! Do I have to stretch out before we talk?
Teodora: Yes, of course, you’re talking to a Product Owner 8)
Jason: I come to you seeking wisdom Ms. Maties. Many of the business owners I meet lately have been asking me about Agile Web Development. For those that are looking to build a website, what is Agile Web Development?
Teodora: Agile Development is an iterative software development approach, where the focus is on delivering functional chunks of a website to a client, at regular intervals. In this way the client has visibility into the progress and can see early in the project what he/she’s paying for.
Jason: Okay hold on right there. I take our client to lunch and while on her second California Roll and third glass of wine she tells me that her regional chain of stationery stores needs a website upgrade. At what point is Agile even part of the discussion?
Teodora: After a third glass of wine I don’t think Agile is a great topic 8). But I do recommend that Agile’s advantages as a project management framework should be highlighted to a potential client from the first meeting. It’s important to get a client’s buy-in and understanding from day one.
Jason: If work is delivered in functional chunks how do you present ‘big picture’ solutions? How do they relate or do they?
Teodora: Once we start a project, one of the first things we create is a list of features, which details the “big picture”. And those features will be the reference point throughout the life of the project.
After this, when the actual development and implementation work starts, we present to the client a finalized set of user stories which can be an entire feature. This allows the client to give hands-on feedback as the product is being developed.
Jason: So the whole Agile concept, it’s not really new is it?
Teodora: No, not really. The word “agile” entered the development world with the new millennium. More precisely, 2001 is the year when the “Agile Manifesto” was written by a group of 17 passionate software developers and it contains the principles by which agile development has evolved up through to today.
Jason: A manifesto? We’ll come back to that.
Teodora: It’s not what you’re thinking Jason…
Jason: Nothing ever is. Here’s the deal Teo. I came to you because you are a straight shooter and the clients absolutely love that. I want to better explain to people the benefits of Agile Development in terms everyone can understand. Do me a favor and please describe how this way of working can make the client more money, more conversions, more of everything!
Teodora: Well, one of the Agile principles is the perfect answer to this question – “Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage”.
It works out great because we’re not spending an enormous amount of time at the start of a project aiming at a long requirements document, which most of the time will not meet expectations when the project is delivered. We actively engage the client throughout the life-cycle of the product.
Jason: Let me see if I get this straight…it’s like eating the same great meal, only in smaller bites?
Teodora: Well in a way – except the meal is actually better this way!
Jason: Okay this is big-time important for me – is there an Agile dress code?
Teodora: There is one 8) – you have to put your creativity hat on and a long, enthusiastic t-shirt 8)
Jason: Stay outta my closet Teo. Hey I’m liking this Agile thingy.
Teodora: It’s not a thingy it’s a development process.
Jason: Here’s my beef with Agile Web Development – lately everyone says they’re freaking Agile or working in some form of it. Are some of these people faking it or are they making it?
Teodora: Daily meetings, sprints and user stories are probably the first things that someone will tell you if you mention the word Agile. And while that’s a good start, there’s a lot more that goes into doing it properly.
Jason: I see. So just stating that one is Agile doesn’t make one Agile.
Teodora: No. It means strong communication between project stakeholders and working relationships based on trust. It also means prioritization of features, because not everything can be of priority #1. And this requires a very deep understanding of the product being developed.
Jason: That seems to be a universal recipe for success, a deep understanding of what the heck you’re doing. Let’s talk Scrum shall we? What is it exactly and most importantly are there clean towels afterwards or not?
Teodora: Scrum is one of the Agile flavors, characterized by time-boxed iterations and a co-located, self-organizing team.
Jason: And a Scrum Master does what exactly?
Teodora: The Scrum Master is the team member that makes sure the team has all the prerequisites they need. They’re responsible for removing all the obstacles the team might have, and keeping an open communication channel with the Product Owner and the Project Owner.
Jason: So being a Scrum Master is a good thing! Whoa. Nice. Now can a team be Agile or is the process Agile?
Teodora: It’s actually both of them. An Agile team is a self-organizing team, with a “can do” attitude, focused on solutions and great communication skills. An agile process means an Agile team who follows a set of principles in order to deliver upon clients needs, in a dynamic environment.
Jason: OK this is where we get creepy. You mentioned some ‘Agile Manifesto’. Is there really one? What’s in it, recipes? Do you have to take an oath to do this stuff? Tell us everything you know.
Teodora: There are actually raw vegan recipes – that’s the latest trend,right?
Jason: I can’t understand why anyone would wanna eat raw food when we invented fire for a reason. Anyway back to…where were we again?
Teodora: The Agile Manifesto is just a headline under which there is a list of 12 principles that should be the backbone of each agile team. Those principles describe best practices which once followed, will lead to increased efficiency and quality software delivery.
Jason: Okay, well that’s not as creepy as I was hoping for. What role does project size play in the Agile Process?
Teodora: Agile team are usually quite small (5-7 people) cross-functional teams. The tendency is to not have large teams, because one of the attributes of the agile teams is that they need to be self-organized. So if the team is too big, self organization becomes a tedious task. And Agile teams should be co-located, so again, if the number increases, it might be hard to have everyone in the same physical location.
Jason: How does the idea of Agile Development affect your role?
Teodora: At the end of the day, I am the one ultimately responsible for the project. And this happens no matter what project management methodology is followed. Of course, what I would need to do in Agile environment differs than that of a Waterfall environment, but the basic project management principles apply regardless.
Jason: If I have been working in a waterfall mode for a long time would I be capable of being Agile?
Teodora: As long as you have hands-on experience and you’re not getting too far away from the basic project management principles, you’ll succeed. For example a good project management practice is to keep a record of discussions from a project meeting. And this applies for all types of projects, in all types of methodologies.
Jason: I’m recording this conversation with a microphone embedded in my coat lapel, how’s that?
Teodora: Hmm, it simply means you’ve caught me saying wise things that you’ll benefit from later on. Not a problem for me 8)
Jason: Communication must play a major role in this whole thing. Tell me how to be a good member of an Agile team.
Teodora: Communication is the key, you got this one right! And by understanding this, you’ve completed the first step of being part of an agile team 8).
Jason: What will a client notice about working with an Agile Web Development team?
Teodora: The client will notice that he/she will be involved each step of the way and they’ll also notice that their project team is ready and willing to learn about and incorporate their changing requirements.
Jason: Okay great. This has been tremendously helpful Teo. One last question – these Agile Developers…can they all touch their toes?
Teodora: At any given time of the day 8)
Jason: You run a tight ship Teo.
Teodora: Are we done?
Jason: Bye Teo.
Teodora: Bye Jason.