Agile philosophy

From Post-Apocalyptic RPG wiki

Revision as of 16:08, 17 February 2011 by Qubodup (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ongoing sprint.png This article covers an agile concept!

Agile concepts are currently evaluated by the development team to help us stay focused and make better progress on a more steady basis.

This article explains what the core philosophies of Agile development are.


The Agile manifesto

The original Agile manifesto text from 2001:

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

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

That is, while there is value in the items on the right, we value the items on the left more.

How does the Agile manifesto apply to PARPG?

While the Agile manifesto is a great starting point for an Agile development philosophy, its wording shows that it has been originally written for an commercial application development environment.

Therefore, we'll slightly customize these four points listed above to better suit PARPG's open source game development environment:

  • Individuals and interactions over process and tools: Avoid chain of communication associated with strict processes. Work together in a (sprint) team and directly communicate with each other to reach the sprint goal.
  • Working game over big design up front: Design documentation is useful to communicate a vision, but nothing beats a working game that is fun to play. Create documentation as the need for it emerges.
  • Community interaction over following a plan: At the end of the day we want to create a game we would like to play ourselves. This said: the community can provide quite valuable feedback. Listen to that feedback and incorporate what suits our design philosophy.
  • Responding to change over following a plan: What is fun is hard to determine on paper. While design documentation is valuable to communicate a creative vision, it can't perfectly predict how a design translates into a fun game mechanic. Embrace change based on actual playtesting to make a better game in the end.

Five Scrum principles

Scrum - a specific Agile development method - has five key principles that are useful for PARPG development:

Use the "inspect and adapt" cycle to respond to emerging knowledge and changing conditions based on actual data.
Designs created upfront are valuable to get started and communicate a creative vision. This said: you often find out what's fun by actually playing the game. Scrum helps us to cope with emerging features and incorporate them into the game.
Scrum is an iterative development approach. We create value on a regular basis, inspect it and adapt to it. Sprints are the prime example of timeboxing.
Some features are more important to us than others. Scrum projects focus on the features that provide the most value to the player. The product backlog is an expression of this principle.
Cross-discipline sprint teams are empowered to organize their membership, manage their process and create the best features within a sprint. Inspect and adapt is used to continually improve the work environment and the processes. One way to implement inspect and adapt is via the sprint retroactive meeting.

Scrum as a framework

Scrum is not a strict project management process or a religion. It's a framework of tools you can use and plug into your existing workflows to optimize them. Furthermore Scrum doesn't resolve problems by itself, it rather lays the foundation that these problems are properly recognized and can be addressed based on that. Due the framework nature of Scrum, it's meant to be customized for the specific project, team and work environment.

Additional reading

Personal tools