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

  Going Agile - The 7 Simple Stages of Why and How to Get it Done (I知 not saying easy)
by Brian Dreyer on 04/08/13 06:29:00 pm   Expert Blogs   Featured Blogs
23 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.
 

 Traditional big budget game development methodologies such as Waterfall; milestone based, heavy on the feature collection, and documentation have to change. Breaking video game project down into Alpha, Beta and so on have been around for a very long time and on the surface appear to be control oriented and logical. This Waterfall structure is all about delivering in large increments of art, animations and code that theoretically deliver great game play experiences.  That is, write up what the entire game is; write up all the technical requirements, art and animation needs, designs, story, etc.  and then break this all down to a week to week schedule and ultimately into a hopefully a bug-free demonstrable working product we can call a game.

Stakeholders (the business), and if there’s a publisher involved, the publisher are used to and even like this arrangement as they are paying for deliverables that are forecasted (if you will) but only after they are delivered.  In simple terms, milestone “A” reads XYZ, when deliverable “A” is XYZ, you get the signature and a check. The Lawyers like this too, it’s a defensive position just in case the developer has not been completely honest or just not able to deliver the experience they sold at all the pitching sessions. The Accountants especially love this arrangement, as you get paid for demonstrable results. The fact that you get paid for the work and costs (and let’s not forget about opportunity costs) you’ve already accumulated over that past few or several weeks or months, a constant cash flow challenge is not a problem for them at all. Developers are used to this as well, give the boss or publisher the features and tasks, lock it down and estimate the man-months. The Producer plugs it all into a spreadsheet and gantt chart and rolls it all up and this usually takes weeks of work. So why do we need to change anything? The obvious answer is that in the real world there are unanticipated issues. There are issues such as changing technology, hiring new people or restructuring team members, contractors, estimation errors, general  HR issues, and even culture issues. Internally and external to the team there are disruptions such as feature creep, dropped features, bugs, change requests, and the dreaded – “It works, it’s just not fun.” Ultimately can we expect to be consistently successful with this Waterfall approach? Generally speaking, I think there’s a ton of luck whenever a great game is produced from this development methodology.

If you think about it, with this Waterfall approach you’re sort of doomed from the beginning given that you are essentially asking your team to gather all the game’s features and requirements that they want for the game, all the game features and requirements that they may want, as well as gather all the features and requirements they think they may want. To top it off, you are also asking them to do this at a time when they know the least about the design, art, technology, and team member’s abilities and without the benefit of play testing and focus groups. If there’s a paying publisher involved, repeat all of this or times 2. If there’s a license, repeat much of this again. If it’s a F2P or MMO there are also a multitude of Live Operations requirements for CRM, business development, technical operations, live operations and development, PR and marketing as well. Honestly, it’s always impressive to me when anything comes out on-time and is fun to play when this is the methodology used for creating the game.

As mobile and web technologies continue to evolve rapidly, as well as micro transaction platforms and the need for games to be connected to a digital platform there is added pressure to develop and deliver games and content in weeks instead of months or years. The basic principle of Agile methodology is to keep things simple and avoid un-necessary overhead. However, for many developers transitioning and successfully adopting a new methodology is easier said than done. Hopefully this will provide some good high-level information about why you need to be (not do) Agile as well as provide some understanding about why it works. Agile has been around for about 10 years now and most companies have difficulties transitioning to it because it really is a culture change – top to bottom bit needed today than ever.

The Standish Group is based in Boston and is in the business of assessing risk, cost, return and value for Technology Investments.

Waterfall vs. Agile project and success:

 

An Agile approach to development is an empirical control method or a process of making decisions based on the realities observed in the actual development project. By using frequent and first-hand inspection for the work in real-time you can make better decision about your project, not to mention better decisions about the money you’re spending every day as well as the opportunity cost. Simply put, Agile is a collection of core principles, all of which can work well for big and small budget games:

  • Ensure satisfaction by frequently delivering working software – no more milestones that take months to deliver
  • Empowered, cross-functional and self-organizing, teams – no silos around programming, art, design, this will expose weaknesses and dysfunction
  • Use of hi-fidelity communication preferably face-to-face to promote team collaboration – daily stand-up meetings where everyone takes daily responsibility
  • Simplicity by design – the focus is always on delivering, with automated testing every night
  • Use of feedback loops and other continuous improvement principals to ensure the process stays self-correcting – bottom-up, not top-down and again this is an exposure model

Following an Agile approach, I prefer to focus on the Scrum framework which is sometimes confused with Agile methodology, empowers you and your team to build a more successful game, cheaper and on-time. It allows you to get instant feedback by working with the customer (gamer or stakeholders) instead of working against the clock, budget, and business infrastructure. It's a win-win situation but cultural changes are needed and usually the biggest roadblock to going Agile. In the long-term, experiencing a trusting partnership (measurable and verifiable in real-time) between customer, stakeholder and or publisher and the development team leads to the building of trust; and trust leads to higher efficiency, more creativity and effectiveness which increases your chance at a having a successful game. So what does this all look like and how does it work to “the boots on the ground”?

Stage 1: Vision

I think creating the game’s vision can be the easiest part; we’re all pretty good at this with the game’s “X” or essence statement and the vision usually come to life during the pitch process. This is really because there are instant feedback loops with the team, marketing, and others.  Components of effective vision are:

  • The Game’s “X” or elevator pitch – the game’s goals in the context of the marketplace and gamer
  • A vision that is strategic – there’s a strategic nature to the story, IP and so on
  • Is owned by the Executive Producer or Game Director (in Scrum terms, the Product Owner)
  • Is updated and on a formal basis, quarterly or annually
  • Must be communicated throughout the development and company – provides context of how the development supports the overall goal

Stage 2: Have a Roadmap

Game and Technical Design Documents are good as long as they’re not used as a recipe. In Agile, there is a need for a roadmap, a formal written template of features, design, art vision and gameplay. The aim is to have a backlog of features that can later be estimated by the team that needs to do the actual work. The team needs (key word!) to be cross-functional. This is usually one of the first areas where you find out if your culture supports going Agile or not. Is everyone on the team able to honestly say everyday “Yes” to the following questions; “What can I contribute today?” and “How can I expand my contribution in the future?” Direct accountability to delivering and a little team competition is everything in the trenches. The roadmap should include:

  • A holistic and digestible view of features that enable the game’s vision
  • Enables features to be established and gaps to be identified
  • General release timing for the game’s features
  • Highest to least priority features identified so the most valuable game features will be built and released first
  • Produced and owned by the Executive Producer or Game Director
  • Prepared and revised bi-annually with the aim of creating a “Product Backlog”

Stage 3: Release Planning

Now that there is a roadmap, it’s time to break this down into a release schedule, with the most important features first. Initially, this creates two very important things as getting started can sometimes be the most difficult and critical stage of any development project. First, this gives the team something to rally around. Secondly, getting the most important features done first will let you know if the game should continue or be cancelled, and knowing this as quickly as possible is critical. After all, we live in the first to market world with greater importance given to opportunity cost than ever before.

Once the team has a plan and is participating on the estimation of work process you’ll quickly get a sense of their estimation abilities as well as the knowledge of just how fast or slow you’ll be able to deliver what you promised. Release planning usually includes:

  • An initial focal point for the team to mobilize around and attack
  • Target a minimal set of important gameplay features
  • Plan and focus on one “Sprint” at a time, or 2-4 weeks of work not future features
  • Owned by the Executive Producer or Game Director

Stage 4: Sprint Planning

If your Release Planning points to 2 week Sprints (the amount of time the team needs to deliver done, working, releasable bug free software) than you should allocate 2 hours each week for Sprint Planning, or one hour for each sprint week. This is where the team, facilitated by the “Scrum Master” will estimate the work to be done. There are a few ways to do this but the Scrum Master needs, above all to be in control and assertive so these sessions are productive. If this meeting starts to feel like a reality show, with drama then you’re losing it. This is another area where your culture will be on full display as far as which team members are going to work well, and which are going to be a challenge throughout the project. Sprint Planning is:

  • One hour for each week of Sprint
  • The team, with the Executive Producer or Game Director sets the Sprint goals and the subset feature backlog to work on
  • The team figures out how to achieve the Sprint goals and Sprint backlog to be worked on
  • The Scrum Master is facilitating, not the Executive Producer or Game Director

Stage 5: The Daily Scrum

Most are familiar with the daily stand-up or the daily morning meeting and unfortunately some think this is what Scrum and Agile are all about – short meetings with no chairs. Also, over the last few years, the word ‘transparent’ has been used more than the line, “…at the end of the day…” but here no one hides, no-one bloviates, no-one is better or worse than anyone else. The only focus of the daily Scrum is; “This is what I did yesterday, this is what I’m doing today, and these are the things impeding me.” We are building stuff people and nothing else matters. The goal is face to face updates and communicating issues and problems that the Scrum Master needs to solve. The Daily Scrum components are:

  • Usually done standing up mainly to emphasize it’s not a typical meeting
  • Only 3 statements are made by each team member; yesterday I…, today I… my roadblocks are…
  • Generally a 15 minute meeting
  • For coordinating and communicating within the team, not problem solving
  • Real transparency everyone and anyone in the company is invited to listen in, but only the team talks – including the Scrum Master and Executive Producer or Game Developer
  • The Scrum Master is facilitating, not the Executive Producer or Game Director

 

 

Reference: Platinum Edge, Inc.

This is the classic view of the Project Team (Scrum Team), Stakeholders (business) and Agile Mentor or Coach (recommended during cultural transformation from Waterfall to Agile) and Product Owner (Executive Producer or Game Director).

Stage 6: Sprint Review

After a completed Sprint, there is a need to formally demo the work. There’s a lot here behind the scenes about automated testing, architecture, how and what a definition of a done feature is, given the goal of every sprint is to have a bug free, completed working product that can be demonstrated to the Executive Producer or Game Director. Further, this is theoretically or realistically releasable to the marketplace. Obviously this methodology is being used more and more on mobile, F2P and Casual where there are on-going needs for updates, content, features and live operation’s needs. There is no pageantry here, no PowerPoint’s, no mock-ups or hard coded stuff – just running code. The entire meeting should take about 20 min. to an hour. Sprint Reviews are:

  • Starts with the EP presenting the Sprint goals and what the team accomplished
  • The team demonstrates the work
  • Should always feel informal, no frills, no slides or decks
  • Has a theme of inspection and adaptation
  • The Scrum Master is facilitating, not the Executive Producer or Game Director

Stage 7: Sprint Retrospective

After the review and given there’s been essentially nothing but coding going on, against the backdrop of having a Scrum Master running around keeping distractions away from the team, there is a need to step back and ask, “What went well?” and “What didn’t go well?” This is again usually where cultural issues arise around people and politics as this methodology doesn’t really fix problems, it exposes them. However, the focus is really on what’s working, what’s not working and what needs to change. The lists of possible issues are virtually endless, could be art is too slow, could be design issues and so on. There are burn down and velocity charts to show the team’s performance and other challenges to the project. The purpose of the Sprint Review is:

  • Answer the big 3 questions – What went well, What would we like to change, How can we implement changes to make future Sprints more successful
  • Is action focused, not rationale focused – this is not the place to air dirty laundry
  • Generally 45 min for each week of Sprint
  • Done after every Sprint
  • Has the entire team participating, the Scrum Master is facilitating this one as well

Now, start the next sprint because while the team has been coding, the leadership has been refining the Road Map and Planning…

 

Reference: Platinum Edge, Inc.

A truly Agile approach encourages organizations to move away from yesterday’s traditional Waterfall approach and to develop a culture as well as structure at all levels that continually asks what’s best for the gamer, the game, the IP, partnerships and the organization. By constantly challenging the status quo on your Agile game projects you will reach new levels of efficiency and team productivity by having the customers receive working features quicker. Since this methodology is about frequent delivery, this also means that you get working features into the hands of customers and other stakeholders as quickly as possible. This ensures that the development team will receive informative, immediate feedback on necessary changes before it’s too late to change them. This will also help determine whether the project team is headed in the right direction in terms of the game’s essence, features and future tasks. Teams can quickly validate if they can proceed in a given direction, or if there is a need to make major or simply minor adjustments. This principle stresses the importance of embracing change on your projects. On Agile projects, you welcome change at all times, even late in development. Change helps you ensure the gamer will get exactly what they want or need, as well as gaining a competitive advantage over similar games or competitive titles.

There are naturally other considerations and disciplines to engage in all of this. Given company cultural issues such as the Lawyers, Accountants and business people, the internal empires and silos, the best approach is to start with qualified outside help and formal training and assistance. The bottom-line here is that when development team members get to choose their own tasks, the end result is maximum quality, creativity and team member collaboration. The productivity of the team as well as the quality and value of deliverables increases exponentially.

 
 
Comments

Matthew Buxton
profile image
Personally I'm not a fan for the following reasons.

Sprint planning is a soul destroying affair, where due to the requirement for complete features developers are robbed of the ability to protoype or explore. Artists cut content.

Objectives given for each sprint have no relation to the time actually required to complete. Team members on the sprint are not consulted until sprint planning, by which point it is too late.

If a sprint fails to pass sprint review there is no time to correct, all time ups require all sprints to succeed.

Stand-ups that are just parroting the work logged on the system, the list goes on... The ever present burndown chart just forces creative accounting from the team. Having seen completed burndowns and then sat through broken feature reviews, it really begs the question what is the point. So much micro management there is no time to talk with people and get the real lie of the land.

Code freeze, then bug fix day, then everyone play it afternoon, followed by sitting through reviewing hours of work on something that was timed up for two weeks but only 7 working days to do it in.

Better than waterfall maybe, though still woefully inefficient and utterly demoralising for a team who are now treated as blockers.

Kenneth Blaney
profile image
It seems to me that isn't a problem with Agile specifically, but more an issue of people not understanding each other's jobs and thus creating unreasonable goals for each sprint. If prototyping is important ( it is) time should be given for prototyping.

Now, I am by no means an expert in Agile, but the way you've bottom lined it here it sort of markets me think that Agile is just Waterfall with more milestones that happen more frequently and are refactored more often. Is that generally what you are saying (and thus why Agile is still somewhat weak) or am I missing a key detail here?

Jeff Lindsey
profile image
This sounds like issues with not understanding implementing agile and/or culture and process clash rather than something that is inherently wrong with agile approaches. Specifically:

Regarding sprint planning "robbing the ability to prototype", that's something determined by the team/PO when they define "Done". A lot of agile literature says that sprints should always deliver completed features, but that's missing the bigger picture - the goal of a sprint is deliver value. For games, value often takes the form of gaining knowledge via prototyping. So it's quite acceptable for a team to commit to a prototype as a sprint deliverable, and it's also perfectly acceptable for a backlog to contain items for multiple prototype iterations, etc. In my experience, only the most trivial (and heavily discussed beforehand) features can go from concept to release-ready in a single sprint of a couple weeks; everything else takes multiple sprints, but the important thing is that it is taken to a release-ready state as soon as possible (and even that gets tricky, when you dig into "vertical" vs. "horizontal" feature development and when to apply each).

If a sprint fails to pass a sprint review, that happens all the time - for new teams. The goal should be to stop doing that, by dividing the work better and committing to the proper amount of work. Time for iteration can be accounted for by having multiple backlog items based on best-guesses - maybe something ambitious should have 3 iterations, with each one taking 50% of the time of the iteration before, etc.

Standups:
If there's micro-managing happening during standups, "you're doing it the wrong way". The standup is a time for the team to report and commit to each other. Try removing the SM/PO for a few of them (or simply step away once people start talking) and see how the dynamic changes. It's like magic.

Burn-downs measure hours of work remaining, and you get what you measure - which can often be only a few hours remaining, but each feature is 90% done. If the team is showing 0 hours left and every feature is unacceptable, this sounds like a problem with "defining Done" or misaligned expectations. I would dig into this in a retrospective.

Regarding "timed up for 2 weeks but only 7 days to complete", it sounds like the team isn't actually calculating their true number of available hours/days when doing sprint planning. Our team members typically commit to only 20-25 hours of work in a 1-week sprint; the rest is project/non-project overhead and we're OK with that - it's reality.

Having done extensive/hardcore waterfall (at an established publisher-owned studio on AAA titles), learning about Scrum and agile, and going on to implement and evolve agile practices in both game and non-game projects, I can definitely say that for all but the most "horizontally-massive" projects, it's *by far* the better approach for the game itself, the team, and the project manager.

Yenni Brusco
profile image
Your reply makes me realize that even when agile methodologies are broken down, people with experience on teams that didn't use them properly are still misunderstanding the process because they are seeiing them through a cracked lens.

On your first reason: complete depends on definition of done. If the artists have a scene to create, the definition of done for sprint 1 can be ' have implementable concept art' then for sprint 2 'have modeling done for these items in the scene and implement them'. The third could be the other half of the modeling, 4th texturing. There is nothing saying that the art for this scene must be done in one sprint. And there is nothing that says there can't be 'polish' sprints to update items that met previous definitions of done but need to be brought up to the current level of done.

Objectives for each sprint are taken by the team and used to inform their decisions on what tasks to take from the backlog. They should not be a list written in stone that the team must adhere to.

I'm not sure if this is strictly agile/scrum, but I believe sprint retrospectives shoud handle the 'what to do if a sprint fails' in regards to what didn't work. Did we take on too much, did something external block us, did we estimate wrong. This can also be headded off at the pass if caught early with the burn down chart. The team can then decide to crunch or to drop tasks from the sprint (I prefer this as a last ditch solution instead of the team failing), though if it is happening on a regular basis then the team needs to be coached through resolving the problem, be it someone helping them not take on too much or someone looking at the potential blockers and resolving them faster than the team brings them up in the daily sprints.

Stand ups are not just for parroting. The team needs to know where everyone else is at with the today and yesterday parts. Team transparency is very important to knowing what is coming down the line. For example, the programmer hears the artist mention they are blocked on rendering an animation because the background models are not delivered from artist 2 yet. Said programmer will know that they need to possibly swap when the implementation of the animation should be planned for.

2 weeks have 10 work days, of those 10, 1 should be used for planning and 1 for the retrospective. That leaves 8 days for sprint work. This is the amount of time the team should be estimating with, not the full 10. If you plan a bug fix day, then the artists can use that as polish time if there are no art bugs needing to be fixed and the team should measure on having 7 days. Personally I prefer having the retrospective in the morning on the first day of the next sprint, and the afternoon is for the sprint planning. This increases the amount of work days and decreases then down time that usually comes with the retrospective and planning days.

~Yenni

Brian Dreyer
profile image
Good stuff Matthew. The creative part happens Stage 1 - 3 and by the time you get to Sprint Planning the focus should be on executing only to a list of features that have already past muster. The key person in most of this is the "Product Owner" (EP, etc.) this is the person that needs to own directing the team from a creative perspective.

"Objectives given for each sprint have no relation to the time actually required to complete. Team members on the sprint are not consulted until sprint planning, by which point it is too late." - This is not correct, the team controls this - directed by the Scrum Master.

Michael Wenk
profile image
I think you need to examine whether or not your team can *do* agile. It sounds like you're doing waterfall with an agile wrapper. Sprint planning doesn't have to be a soul destroying affair. The key to sprint planning is having good *small* user stories. Larger user stories are usually no good, they are so large that its hard to complete them within the timeframe of the sprint. And if that means cutting features, again, you're doing waterfall. You're just bringing the waterfall time line down. And if you don't have enough info to estimate, then your stories aren't getting proper analysis. Do spikes, or fake it by doing whatever you can do. You're iterating right? Hopefully because you want to make a superior product and not because your boss or boss's boss read that agile let them cut the timeline down. :)

The key is buy in. Everyone must do it. The PMs, the stake holders, the tech team and even the quality/release engineering must buy in.

Otherwise I would do waterfall.

David Hottal
profile image
You don't need to get to "completed" features in two weeks. The PO defines what's complete.

We often do prototypes of a feature. Every sprint just builds on the previous.

The main point of agile is to get ship-able features in the product as quick as possible. How the team determines that is up to the team. On game projects, I look at it as getting demonstrable progress in the build every sprint. It's not ship-able, but it meets our definition of "done". Some features take 3 sprints to be ship-able, but that's where the sprint allows for iteration. Depending on the priority of the feature you can cut it, or continue working.

Also, an artist should never cut content. The PO should define priorities and your velocity determines what gets cut.

"Code freeze, then bug fix day, then everyone play it afternoon, followed by sitting through reviewing hours of work on something that was timed up for two weeks but only 7 working days to do it in."

This has nothing to do with Agile... this is just what your team decided to do. I'm not sure what you mean by "sitting through reviewing hours of work...".


As many have stated, it sounds like you've worked in waterfall prettied up to look like Agile. I've been in a few places where Agile is just waterfall with sprints and standups.

Matthew Buxton
profile image
In my experience it is run like waterfall with much more aggressive work management strategies. It really has no ability to react as to do this the whole time-up would have to be revisited after each sprint. It never is, the whole project is plotted against one chart and the work burned down, in truth I have never seen a less flexible system with so little room for miscalculation.

It is posited as a way that the experts get to set their own deadlines, however there is really no time for that, as it requires consultation before sprint planning, then consultation in sprint planning to divide the time, so assumptions and best guesses need to be made.

In my experience the main stumbling block in this is how the scrums are divided. If you have design, art, dev and QA in one scrum to deliver a feature, it's still a production line and you front load the pressure on design by week two (in a two week sprint) art and Dev are in full crunch and design is sitting there unable to move on to the next job as it's due next sprint and starting it requires sprint planning.

I think scrums can work, they are useful and have close communication between team members of different disciplines but if you split artists and devs up (seating wise) they lose that ability to bounce off each other and if you have a scrum sitting all over the office its a pain.

Also the scrum master is generally used to heap a mangers responsibility on a team member without the requisite training to deal with it. They are mini managers as well as being team members. If you go the whole hog and hire dedicated scrum masters you are just adding another layer of management with no agency, you may as well fire your AP and PAs if you do this

Yenni Brusco
profile image
Pleas see my previous reply for your first two comments. On the third, there is absolutly nothing that says a designer cannot be working on the following sprint's engineer tasks. For example the designer in sprint 1 is fleshing out the features for sprint 2 and 3, whe the engineers get to work on sprint 1's features that were designed in the pre-planning. Qa can be working on the bugs from previous sprints as well and not just waiting for the end of the sprint to test what was put in at the end of the sprint ( even better : do nightly builds for the qa team ).

On your 4th point, I agree wholeheartedly. Scrum teams should sit together in an interdisciplinary space.

On your 5th point, scrum masters should not be team members, and they should have at least some scrum training from a professional. Unfortunately many companies dont see this as needed. Also, scrum should replace the AP's and PA's positions, but there is nothing that says those people cannot be re-trained and turned into scrum masters. No team should have a PA, a AP, and a Producer on top of having scrum masters

~Yenni

Brian Dreyer
profile image
I'd recommend formal training for sure... the structure/culture has to be one of embracing change and the 1st Sprint will be a bit chaotic, the 2nd is better, 3rd better than the 2st and 2nd and so on. If you have a Scrum Master assigning anything to the team, he's probably not getting it as his #1 focus is to heard the cats and remove obstacles for the team - the team sets the pace, work load, etc.

Curtiss Murphy
profile image
I'm not a fan of sprints. They looked nice on paper, until I tried them. Burndowns and point allocation quickly devolved into valueless, micro-management. I prefer the simplicity of the Agile Manifesto.

- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan

Change happens, customers matter, teams are made of individuals, and working software is the trump card. That's the simple recipe I've been using for almost a decade (in a CMMI Maturity Level 3 company), and it rarely fails me.

Brian Dreyer
profile image
The sprint structure establish a common framework that everyone can rally around which to me provides a fair and balanced way to manage the work and team performance. I would say that if the team is feeling micro managed, the Product Owner with the Scrum Master needs to step-in and change that...

The point behind the charts to me (among a few) is that it provides guidance to the entire organization as to how well or challenged the development process is, ideally, every 2 weeks vs. a Waterfall where weeks can go by without course correction and ultimate disaster...

Jeff Lindsey
profile image
It's interesting that I keep seeing references to micro-management. No processes or tools that Scrum uses are in any way related to managing people - they're for the team to use in helping give *themselves* visibility and manage their work, including things like burndowns and a whiteboard. If a team can walk into a sprint planning session, say "we'll do 1 through 6", walk out, and deliver those features without issues and without a sprint board or other in-sprint tool, the PO/SM should be totally fine with it (and be ecstatic!).

Dustin Chertoff
profile image
We've been using Agile for a couple of projects where I work that are not game-dev related. On one project, people complain constantly about being in Scrums all day and having no time to actually do the work. On the other project, things are better but only because we cut out a bunch of the agile documentation overhead.

Personally, I'm far more interested in build and test often development cycles (ala lean start-up mentality). You have a new feature - great, let's prototype it, test it, and then adjust/scrap it based on real data. The biggest hurdle is getting over the feeling that something isn't ready for testing with users. As soon as the feature doesn't crash, you can, and should, test it with users.

Brian Dreyer
profile image
Well said... but Scrum meeting all day? Sounds like the road-map and/or release planning part is not working well maybe?

Dustin Chertoff
profile image
Definitely not going correctly, but it might be due to the immense team size - half a dozen sub-contractors with up to 10 people for each sub. Even at a minute per person and no one raising a question, it takes an hour for people to report. And that assumes you don't have the inevitable design/approach argument between people. There is an ideal team size for using agile methods, and once you get above that size, you need to introduce hierarchical management to coordinate across agile teams.

Mike Ferguson
profile image
I've had quite a lot of experience with both scrum/agile and waterfall methodologies over the years. There are lots of ways to mess up when developing scrum and agile workflows, but I've found that it's generally much easier to course correct and adapt better methods with scrum and agile if you have leaders who are watching/listening to the feedback from the team and accommodating the teams needs instead of insisting on doing things because 'that's how it's supposed to be done' or 'that's how I did it before'. That mindset may work when you are setting up the initial framework and converting people over to the process, but once people are actually working in agile terms and understand the workflow, you have to constantly evaluate your team's progress and change processes that don't work so they better suit your team's needs. Hence, staying agile.

In cases where I've seen scrum and agile planning actually implemented in a reasonable way, it works so much better than waterfall it isn't even a fair comparison. I don't plan to use waterfall planning ever again for any project I'm involved with and I will heavily advise against continuing to use it if any team I join is still doing waterfall because the benefits of having a well run agile development team are so great.

Here's my number one tip to help with sprint planning that will help save lots of headaches and time, assume 40% of your working hours are gone before you even start assigning tasks. You'll use this time up in random conversations, illnesses, team meetings, etc during the normal course of business so it's usually much easier to just cut out 40% off the top for everyone and just go straight to figuring out what tasks they are working on rather than trying to have people estimate the numbers for 'lost time' in the planning meeting.

People may think that 40% is excessive, but I have seen time and time again that assigning any less will more than likely end up with people doing mini-crunches at the end to get caught up or you'll be bumping things to the next sprint on every sprint. And yes, sprint planning usually does suck, especially the first few times you do it, but once you figure out a decent process to manage and prioritize your backlog before the sprint planning meeting, the team can come in and just start estimating tasks almost immediately so you can get the whole process over with quicker. Done correctly, that plan will end up being really helpful to the team later on as tasks start getting completed and people have some clear guidance and expectations about what can be done next.

The daily scrum meeting is one of the most effective ways I've ever found to have the team periodically check in with each other and foster more cross discipline communication. Even if you toss the rest of agile out to the curb, get everyone in the habit of meeting quickly every day so they can quickly mention what they worked on and what they're planning to work on. Soon enough you should notice that people will start to pick up on other tasks that might need to be done to help someone else out or mention issues that might pop up before people get too far down the rabbit hole. I've seen so many problems averted or quickly resolved during these standup meetings that I can't even begin to estimate how valuable they have been to projects I've worked on.

Brian Dreyer
profile image
Good one! The Scrum Master person MUST own keeping the distractions away from the team - when you said 'exec's forcing things' that sounds like it could be a role for the SM to go Chuck Norris mode!! There are company culture issues here for sure.

Your #1 tip - one of the key things in all of this is task estimation (easier in Scrum than Waterfall but issues with both) and if the team is fairly Sr. and stable (not a lot of turn-over) this gets way better over time with a properly trained and reasonably skilled SM.

Titi Naburu
profile image
I recommend www.agilemodeling.com, it's a beautiful website about agile stuff. Some day I'll have to read it all and learn it, I've just glanced at it some time ago.

Brian Dreyer
profile image
I'd recommend getting folks trained - https://platinumedge.com/training# - Partnered with Agile Alliance as well.

Judy Tyrer
profile image
I am not a fan of the current implementations (note the plural) of SCRUM (or Agile, though I resent using Agile and making it mean SCRUM). It is being adopted as a magic blue pill as if it will fix all without sufficient understanding of the underlying problems in the development pipeline, which has been different in each of the three studios in which I experienced attempts at it. Without addressing the underlying issues, you're just sticking a band-aid on a hemorrhaging development process.

In once instance, the problem was inaccurate estimates of the time it takes to accomplish work. SCRUM didn't fix it. The project just went from one failed sprint to another. In another, feature creep was huge and SCRUM as they were practicing it did nothing to stop the feature creep. There IS no magic blue pill. Each project will require its own process based not just on the work being done, but on the people doing it. Different teams need different processes just as much as different projects and even different phases of a single project. Fast prototyping and developing servers that run 24/7 without crashing are two entirely different processes. Why would you even try to manage them the same way?

As a development manager I prefer to have a half dozen project management methodologies in my back pocket and use the correct on in the correct place.

Brian Dreyer
profile image
One of the key things in all of this is task estimation (easier in Scrum than Waterfall but issues with both) and if the team is fairly Sr. and stable (not a lot of turn-over) this gets way better over time with a properly trained and reasonably skilled SM. There is an art & science to this...

One of the other things every organization should get is formal training... I recommend (shameless self promotion I know but he is the best) Mark - https://platinumedge.com/training#

Michael Wenk
profile image
I am definitely a fan for Agile and Scrum. I don't develop games, but other software. Waterfall is a problem because I rare see solid, ready to code for requirements. By doing iterations aka sprints, I can take the poor requirement given and give a poor software product in return. Which then is fed back into the process. What did the stakeholder not like about it? They say and that forms the next user story. And then in the next iteration it gets better.

Contrast that with waterfall where similar things happen, but rather than the stakeholder/customer/typical user deciding what he/she wants, you end up with the PM or BA doing that, and typically those people are not that close. So then fast forward to UAT or release, you end up with a poorer product that the stakeholder/customer are scared to really say because they don't want to run the same long waterfall.

Like everything, scrum is only as good as what you put in it. If you put poor requirements in, then you will get poor software. But in the "fail fast" mien, it is done much faster than the alternative, and in my mind you come up with a better product in the end.


none
 
Comment:
 




 
UBM Tech