How to use Agile methodology to develop games?

Started by
11 comments, last by benediktloe 3 years, 6 months ago

Is it possible to use Agile methodology to develop games for the long term?

Advertisement

If you are asking yourself whether you should or shouldn't “use Agile methodology” you are starting with the wrong foot. Whatever specific practices you or someone else consider “Agile” or not (hint: it isn't a particularly valuable discussion to have) nobody knows whether those methods are a good fit for your needs.

Instead, the universal principle you should apply is process improvement: what could you do more efficiently or effectively? In particular, faster and cheaper? What process changes would help you with that?

For example, you could need to focus on shortening the time it takes to obtain feedback from testers and give them a new build to try.
Maybe the communication is inefficient, maybe you have misaligned time zones and working hours, maybe building the game or making changes takes a long time, maybe testers waste time on low-value tests, maybe you wait idly for someone important to make decisions, and so on. Whatever you change, if you are successful the feedback loops will be quicker and the game will be ready sooner.

Omae Wa Mou Shindeiru

TDD and PONG Episode 1

@8observer8 What is the relation between a vague question on working Agile and a TDD entry to writing pong in Godot?

Is it possible to use Agile methodology to develop games for the long term?

Yes it is possible;

Have fun ?

@Techcanvass Almost every professional game development company uses something that they call Agile. However, it is mostly a buzzword that means many different things to different people.

IMO even as a small team it makes sense to use agile methodologies and project management tools that fit your needs. That way you always know who's working on what, you have accountability and can plan better. We're a team of three, and thanks to Corona of course, mostly didn't work in a shared office in the last couple of months. Using Jira and doing sprints, dailies and reviews did help us in communicating better and seeing through the chaos that is a small game dev team. Heck you could even do “agile” in the form of another buzzword “Kanban” as a single developer: It's basically virtual post-its with tasks that are planned, in progress, in testing etc.

There's a cool game dev team here in Berlin that built a project management tool for game devs (I have no affiliation with them, they're really nice people though): https://www.codecks.io/

Creating “video chat + games” on chipstv.co

SuperVGA said:

@8observer8 What is the relation between a vague question on working Agile and a TDD entry to writing pong in Godot?

Agile and TDD are parts of XP (Extreme Programming). Source:

Definition

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

Article: Join Us at deliver:Agile 2020

Around this time last year I tweeted, “XP is not dead; it’s just not where you left it.” I was tired of hearing longtime XP practitioners complaining about the decline (or even death) of XP practices. I was tired because I saw XP every day. Young devs rearranging their workspace to be more conducive to frequent pair programming. Spirited lunchtime debates about the philosophy of TDD. Conferences like AndXP (later renamed PearConf)… and so much more. XP is alive and well, and it has continued to evolve and find new audiences. It may not look exactly like it did to first- or second-wave practitioners. The same could be said for Agile technical practices overall.

I think it can be useful to study some elements from XP like Agile and TDD together. Those lessons about TDD and Godot shows basics ideas of TDD in practice. I do not use Godot but the lessons are universal for any engine or even if you write games or 3D apps without engines in OpenGL/WebGL like me. Some parts of games or 3D apps can be written with TDD/BDD with Agile and Scrum/Kanban together. It is interesting for me to study XP, and Agile/TDD/BDD like parts of XP.

You can often see “testing” (or “specs”) when you see Agile in jobs descriptions. “testing” is TDD/BDD that makes by programmers. Maybe we can say that TDD/BDD is a part of Agile now.

Wikipedia says that XP (https://en.wikipedia.org/wiki/Extreme_programming) is a type of Agile:

Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development,[1][2][3] it advocates frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.

And TDD is central to extreme programming:

Testing[edit]

Main article:

Test-driven development

Testing is central to extreme programming.[10] Extreme programming's approach is that if a little testing can eliminate a few flaws, a lot of testing can eliminate many more flaws.

  • Unit tests determine whether a given feature works as intended. Programmers write as many automated tests as they can think of that might "break" the code; if all tests run successfully, then the coding is complete. Every piece of code that is written is tested before moving on to the next feature.
  • Acceptance tests verify that the requirements as understood by the programmers satisfy the customer's actual requirements.

This topic is closed to new replies.

Advertisement