GAME JOBS
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
June 7, 2013
 
Sledgehammer Games / Activision
Level Designer (Temporary)
 
High Moon / Activision
Senior Environment Artist
 
LeapFrog
Associate Producer
 
EA - Austin
Producer
 
Zindagi Games
Senior/Lead Online Multiplayer
 
Off Base Productions
Senior Front End Software Engineer
spacer
Blogs

  5 Agile Lessons Worth Learning
by Keith Fuller on 12/17/10 10:14:00 am   Expert Blogs   Featured Blogs
8 comments Share on Twitter Share on Facebook RSS
 
 
The following blog was, unless otherwise noted, independently written by a member of Gamasutra's game development community. The thoughts and opinions expressed here are not necessarily those of Gamasutra or its parent company.

Want to write your own blog post on Gamasutra? It's easy! Click here to get started. Your post could be featured on Gamasutra's home page, right alongside our award-winning articles and news stories.
 

If you can't learn your own lessons, at least learn someone else's

Jim Dempsey of compaid.com recently hosted a webinar entitled “Agile Lessons Learned.” I was initially put off by a lengthy introduction to Scrum because I had been led to believe the material was geared towards more advanced practitioners.

Eventually, though, Jim got to the meat of his talk by going into a fair amount of detail on a few dozen lessons he’s learned over many years of training and implementation of Agile methods. Here are five points I picked out of his slides, all of which I absolutely concur with, although I have to add a “yeah, but…” to the last one.

Lesson 1: Conduct Product Owner training when introducing Scrum

When I implemented Scrum at Raven it was top-down but didn’t ingrain in the project lead the responsibilities of his role as Product Owner.

Sure, I told him he had final say on the backlog and I informed him of the deadlines he had that revolved around the team's beginning and ending of sprints, but I didn’t properly convey the critical nature of his involvement. If I had made sure he had proper training as PO perhaps the project would’ve met with better results.

Lesson 2: Don’t build the Product Backlog in the Sprint1 planning meeting

If you’re getting the stories in place for the very first time during the planning meeting for your first sprint, you are already going to impose delays on your team. You won’t have enough information in place when they need it and/or it won’t be as well thought out or prioritized as it should be.

Get your backlog sorted before you sit down to plan sprint #1. And keep in mind you don’t need the entire project prioritized into the backlog at this point. In fact, as the Poppendiecks point out in an excellent example in Implementing Lean Software Development, you don’t want to prioritize beyond the next three sprints or so – it adds too much waste from bookkeeping and most of the items will change out from under you, anyway.

Lesson 3: Tools should be used if and only if they add value to the team’s work

Do not force a tool on your team because “it’s the company standard” or any similarly poor line of thinking. First of all, I’m a big believer in the saying, “The work chooses the tool.” If you decide ahead of time that you’re going to use a hammer at all costs, you’ll reach new heights of inefficiency when you encounter your first screw.

Second, your team’s progress, work quality, and mental wellbeing have a whole lot to say about any software choice. Maybe they don’t even want software. Maybe a whiteboard and some markers will do. Let them decide what adds the most value.

Lesson 4: When Scrum gets tough (and it will) don’t succumb to old habits

You need a predetermined resolve not to fall back into your old habits of moving deadlines, working overtime continuously, and cutting corners to make a milestone.

Those are the reasons that your competitors who employ wisely iterative and adaptive improvement techniques (such as Scrum and Lean) are making better games, selling more units, and retaining better talent. You absolutely must have quality leadership to get through tough times – I’m not saying Scrum alleviates that need. But forcing overtime and increasing your production debt by pushing off features is not the solution.

Lesson 5: Team will tell you if a stabilizing sprint is needed

This is where I felt the need to add to Mr. Dempsey’s material with my own commentary. Yes, a committed team should be able to speak up and request a stabilizing sprint if deteriorating build quality requires it.

However, your producer or project lead should also be stepping in at some point to make that call. The team can do everything within its power to execute on the vision for the game, but that vision belongs to whoever holds the creative reigns.

It’s her job to provide that leadership, to make the tough decisions between adding more features and solidifying the build you’ve already got. If you’re not getting that kind of leadership from your creative lead, step up and hold her accountable.

My favorite quote: Scrum is "Extremely simple but very hard"

Overall, this webinar was helpful to someone who’s looking to implement Scrum but isn’t entirely sure what they’ll find on the other side. The material was also reassuring to folks who’ve already started working with Scrum but weren’t sure if they were the only ones having a tough time with it.

As one of the slides specifically stated, Scrum may be based on common sense, but it’s still difficult. This is, of course, true. What’s also true, though, is that the benefits of Scrum are worth the effort, especially in an arena such as game development where solid specifications are hard to come by.

In preferring Agile methods you are giving your project the best chance of creating the greatest value, pleasing the most shareholders, and minimizing your team’s crunch time.

 
 
Comments

Robert Anderson
profile image
I like lesson 3 and 4 the best!

Megan Fox
profile image
I think I like all these lessons. What I don't like is that most of us already learned them the hard way, but perhaps future generations will be spared some of that pain ;)



Lesson 4 is especially critical.

Keith Fuller
profile image
I'm with you on the value of #4. The trick is (or at least it was for me) having buy-in from the right parties to make Sticking To Your Guns possible. How high up the chain your Scrum Champion is may well make all the difference.

Tom Plunket
profile image
"Those are the reasons that your competitors who employ wisely iterative and adaptive improvement techniques (such as Scrum and Lean) are making better games, selling more units, and retaining better talent."



Any citations for this? Because I don't see this as the case. I see a lot of studios looking to adopt more sustainable practices, but the poster children for Scrum in the industry aren't exactly setting the gaming world on fire.

Robert Green
profile image
The biggest problem with scrum (IMHO) is that game development isn't something that's agile by nature. This depends on the type of game of course, and something like an iphone app that's small and gets updated regularly is a much better fit, but for traditional game development on a contract model, you've got a problem: your publisher still wants their game by a certain date with certain features and no change in methodology is going to fix that if they don't think it needs to be fixed.

One of the keys to avoiding this is to have regular checks of the backlog. Over the course of development, new features will be requested both by the team and external parties, things get pushed back because of bugs, etc. What's important is that you don't pretend that agile actually fixes these problems for you, rather than just providing a way to manage them.

Kris Morness
profile image
I've been involved in so many agile and waterfall projects both as a leader and a follower, so I developed a keen sense of what works and what doesn't. A lot of people really struggle with understanding why agile is fundamentally better or how to work in it and it's one of the most unnatural processes to get started.



It took me a long time to really figure out a concise way to explain the critical difference of agile vs waterfall, and here it is:



* Waterfall is all about figuring out what you can do in the time and budget that you have, then divide and conquer breaking major tasks into milestones, and milestones into deliverables, and deliverables into tasks. Good analogy: "what can you do in the time that you have?"



* Agile is all about taking a look at the current status of your project and choosing the next most important thing to tackle to add immediate value to the game. Good analogy: "how far can go take this in the time that you have?"



The bigger problems upper management can have with agile is knowing what they are going to get out of the end and when. And this is where people tend to get things very wrong. It's still perfectly valid to create milestone dates and fill them with high level deliverables, but keep it light and flexible. Agile allows teams to move things around as feature values fluctuate. It's still important for a good project manager on the team to keep an eye on the greater picture rather than the now.



And pod systems (cross-disciplinary groups) working together on high level goals allows for much tighter iteration times. People on the team are empowered by having the ability to choose what they do and how they do it rather than having a producer coming over on Wednesday and saying...



Producer: (looks on list)

Producer: "How's your ..FSM.. working coming along? Is it going to be finished today?" Note producer clearly has no idea what FSM means.

Programmer: "I don't know... I still have a few problems to work out."

Producer: "Oh okay... can you tell me how long you think it'll take?"

Programmer: "Actually no."

(more back and forth)

Producer: "Um so tomorrow you are supposed to start on the... 'Pathfinder Refactor' and you've got 2 days for that. Do you think you'll be able to get that done by Friday?"

Programmer: "What exactly do you mean by Pathfinder Refactor?"

Producer: "I have no idea what that means. But I'll go find out for you."

Programmer: (rolls eyes, goes back to work)



This folks, is why waterfall is a disease. People believe it works but I've never seen it work well.

Timothy Ryan
profile image
Other lessons learned ...



Agile is feature driven, not resource driven. You cannot use it to measure individual team members' productivity. If you want to see hours of effort vs. output, then you should not use Agile.



Agile should be all in or not at all. Some companies half-implement Agile with so-called "strike teams" focused on specific features. The strike teams usually get all the focus of project management while the team members who are NOT in a the strike team get forgetten about.



Agile is NOT good at predicting an end date. It's great for developers who have open-ended contracts i.e. t's done when it's done, but not great for contracts with no room for iteration.

Tom Plunket
profile image
I disagree; I believe that agile is great for projects with a fixed end date. You do the highest priority work before that date, then stick it in a box. The buyer gets what was agreed to. The team has new strength over the feature creep that comes from the ones asking for additional work, "We have enough time for one of these ten things. Which will it be?" That shifts the responsibility to the group paying for the development; if they really want all ten things then they need to extend the contract. If they don't want to extend the contract then they need to figure out what they want...


none
 
Comment:
 




 
UBM Tech