Monday, May 27, 2019

Impact Mapping for Games

Advanced Scrum Master for Video Game Development Course, June 17-18 Denver Colorado

While working on a game, have you ever asked:
"Why are we making the player do this?  Why am I working on this feature? Why did we waste time modeling this section of a level in detail when the player doesn’t see it?"

Knowing the reasons for why we are working on something has tremendous benefits of engaging with our work and being able to contribute more creatively.

Impact mapping is a useful technique for doing this. It leverages the creative input of everyone on the team in finding the best way to achieve a goal as opposed to having a few people document a set of requirements that don't communicate that. It's also a good starting point to generate a product backlog and release plan.

The book "Impact Mapping: Making a big impact with software products and projects" is an excellent introduction to impact mapping, but it doesn't apply directly to video game development. However with a few variations, it can be very useful.

Impact Mapping for Game Development
An Impact Map asks questions
Impact mapping starts with identifying a goal for the game or a feature and then deriving purpose, incentives and finally implementation details to achieve the goal by answering the questions asked. The goal will be expressed, like a user story, as something that benefits the player in the game. This is the root of the impact map. Let's take a look at the questions the impact map raises by using PlayerUnknown BattleGround (PUBG) as a simple example:
  • Goal? This is the goal of the game or feature.  For example, the goal of PUBG is to win the game.
  • How? One or more ways the game's mechanics will serve the goal. For example, in PUBG you win the game by being the last player alive on the island. Note: other games might have multiple ways of winning the game...there can be more ways than one to achieve a goal.
  • Why? This level will list the incentive for the "how" mechanics. For PUBG, you become the last player alive by eliminating other characters and avoiding elimination yourself.
  • What? What dives into the specific features that will be worked on to implement "Why?".  For PUBG, this will include weaponry, combat, inventory, using sound, etc.
An Example of the Benefit
A frequent example I use in illustrating the benefits of including the team in understanding the purpose and reasons for a feature was from an experience with a racing mechanic team. When initially handed a set of requirements, such as complex police chase AI, it was clear that the team didn't have enough time to implement everything asked for.  So instead, we explored at the reasons behind requirements. 

The reason for police chasing the player was to incentive them to drive fast, which required the player to develop improved driving skills. When this was understood to be the purpose (rather than simply implementing the initial requirements handed to them), the developers found ways of implementing police that:

  1. Saved months of effort
  2. Focused on the player's driving skill, more than simply navigation
  3. Likely produced better results
This approach is a variation of the YAGNI principle ("You Ain't Gonna Need It"). By focusing on the outcome, you often end up minimizing the work to get there.  Think about the sets that they build for western movies.  Since old west towns aren't around anymore, they need to recreate them.  However, they don't create the entire town, but merely recreate by focusing on what the camera will see. This saves a lot of money and time.

Give it a try.  It can take less than an hour at the start of a release cycle and save you weeks of wasted effort.

Tuesday, May 07, 2019

The Evolving Role of the Scrum Master

Coaching a newly formed team that isn't familiar with agile can be a full-time job.  As teams grow, discovering ways to improve their performance and self-organize, their need for a coach diminishes. However, this doesn't mean the Scrum Master's job is done. 

One of my favorite images is this one from the book "Large-Scale Scrum, More with Less", illustrates the shift:
The Shifting Focus of a Scrum Master

As teams improve, impediments from the outside become more pronounced and impactful. As a result, the Scrum Master focuses more on coaching the organization outside the team and on the development practices used at every level.

Example Impediment - The Level Production Battle
One example illustrates the focus on development practice improvement and how an organization can resist those improvements.

Our team was working on a side mechanic for a game which required a single level. All other levels were being produced by a level production team, but since we required a unique level, we decided to build it ourselves.

After a few weeks of production, our level artists found that by building the level in the Unreal Editor, rather than the studio standard of using Maya, gave them huge benefits. While Maya is a fantastic tool, it wasn't a good match with the Unreal Engine (at the time). Our level designers were at least twice as fast creating level geometry (including iteration time) than the designers using Maya.

However, the lead artist for the game wasn't happy. They were directing the level designers on our team to return to using Maya. When our designers pushed back, their jobs were even threatened!

We (the SM and I (PO)) took the problem away from the team and to studio management. We used the production metrics and demonstrated that the quality of the level produced using the Unreal Editor was just as good. It wasn't easy to convince everyone, but we did. Eventually the entire studio went over to using the Unreal Editor.

Improving the Studio
Studio culture can often impede improvements.  There are many reasons.  Some examples:
  • Leads can feel their authority or position is threatened by change at the development level.
  • Process is considered written in stone and change is not welcome.
  • Developers don't feel they have permission or the responsibility to suggest change,
  • Executives can override development on a whim and destroy trust.
A Scrum Master, who usually has little authority at this level in the studio, must use their organizational coaching skills to overcome these obstacles.

Gratuitous Pitch
Learning these skills is one of the areas we explore in the Advanced Certified Scrum Master course in June.