Saturday, October 5, 2013

Agile: All the cool kids are doing it

I have a friend, and you probably do too, who decides that once they decide they like something, it's absolutely critical that I like it too.

"This is really great!"

"No, really, you should check it out!"

"I really think you'd like it."

Okay. Yes, I probably would like Game of Thrones. It sounds like the kind of thing I'd enjoy. But since you tell me this every time I see you, I have lost all interest. Done. Over. Don't bring it up again. Please.

This is basically how I feel about Agile development. It really does sound great: for the uninitiated, Agile is a type of software development strategy that focuses on iterative development and client feedback. But those are buzzwords, and buzzwords don't mean anything. In English: the idea of Agile development is that you do things one piece at a time. Pick one specific part to work on during this period (called a sprint) and set a deadline for it. Make sure it works, make sure the customer likes it. Tackle another piece of the puzzle. The important thing here is that you have a working piece of software at the end of each sprint; it just gets fancier and gains more features as time goes on [source]. Clients help shape the development, so if your client suddenly changes their mind about a feature, they'll be letting you know during development and not when you hand them the finished product (no one wants to hear "thanks for that thing you made me, but I actually needed it to do this").

agile flow chart graph method
Agile in pictures. Thanks, Wikipedia


There are many development methodologies that fall under the Agile umbrella, but the most popular is the Scrum framework. (It's a stupid word, I know. It sounds disgusting. It sounds like scum. Let's be adults about this.) Scrum (not scum) focuses on daily face-to-face meetings with all team members, discussing plans and progress. Tasks are kept in a prioritized list based on each task's importance, difficulty, and required time. They're typically formatted as "user stories": As a <user type> I want to <do some action> so that <desired result> [Thanks Wikipedia]. No one gets left in the dark about progress, and things get done. (That entire paragraph, really, is thanks to the Wikipedia Scrum page. Check it out. It's honestly the clearest description you'll find of Scrum techniques.)

The other thing with Agile development is that everyone uses it. Everyone. In 2000, about 1% of companies used Agile. It really wasn't a thing that people did. Now? 60-80% of software developers use Agile tactics. Huge names, too: IBM has a page about Agile development and Cisco has been Agile since at least 2011 [PDF]. And it's not just software: universities, militaries, and even car manufacturers are integrating scrum techniques into their workplaces. Even NASA was Agile-ish for their Ensemble project.

So what's my issue with Agile? Really, it's just that everyone is talking about Agile. Everyone loves Agile. Agile this, Agile that, Scrum Scrum Scrum. And it gets old. It sounds like buzzwords and marketing and company Kool-Aid. And it's really off-putting to be told by everyone ever how great Agile is and how much I'll love it. I'm having Game of Thrones Syndrome with Agile. Keep telling me how much I'll love it and I swear to you I'll never take it seriously.

Watch, first job at a tech company and I end up a diehard Agile fan. Don't you dare tell me you told me so. 

4 comments:

  1. Hi, Katharine,
    Your post is interesting and easy to understand. From the beginning, you give me a lively spectacle which attracts me to continue with reading. I agree that Agile is amazing in most cases. Actually, I am using Scrum to work on our project with my classmates. Before using it, I thought it was so beautiful that I could not wait for trying it. But now, I feel that it has its special short-comings. One of its main features is self-organized team. Self-organized means non-organized under some circumstances. I am taking advantage of this chance(I mentioned above we are using it on our project.) to carefully compare it with traditional project development methodology like water flow project management methodology.

    Anyway, your post give me a new sight on both Agile and Blog. It is a really good post. Keep blogging please.

    ReplyDelete
  2. Hey Katharine. I would also like to agree with Li in that you really provide a good starter for your blog because it keeps me interesting and wanting to read more. Not only do you provide the statistical evidence to prove your points but you also have a personal voice throughout this blog. I also was very interested in hearing your point about going against agile because mostly everyone wrote something to promote it. Keep up the good work!

    ReplyDelete
  3. Hey Katharine Brinker,
    I thoroughly enjoyed reading your blog post on Agile. First of all, you have a great title for this blog. The title got my attention right away. Furthermore, I enjoyed how you started your blog with your personal story. Your explanation about Agile is very informative, and very easy to understand. Source links that you have provided in this post are as great as your blogs. I can tell you have researched a lot on this topic and your post shows that. Lastly, I would suggest you include few more visuals in your blog post. Overall, I really enjoyed reading your post. I wish to read more of your blogs in future.
    Keep working hard, and keep blogging!

    ReplyDelete
  4. Hey Katharine, very interesting post. I like that you don't just take what other people say at face value. In this case, your post reads very easily flowing through your thought process of your changing opinion on Agile and I do agree that many people simply just like to say that it's good and not enough about why it is good.

    ReplyDelete