Kanban is King
Tags: gamedev, productivity, development, management
Published: 2024-06-28 20:43:21

Kanban is without a doubt the best methodology for all projects where everyone involved in the process values their time. Because it is straight to the point. Just take a look at this list to see just the simplest of board columns you should see on any given board.

- **TODO**
- **IN PROGRESS**
- **IN REVIEW**
- **DONE**

With just a short list of four categories we can accurately label the status of any item we want to tackle, and anytime people are confused with the project's goals one can always consult the magical columns that explicitly tell you what **TODO**, what is **IN PROGRESS**, and what has been **DONE**. The long-term value here is that with this data, any team can paint an ever more accurately growing picture of how closely they followed through on their planned roadmap.


And this is quite important, especially when you work alone.


There is a saying that a former manager of mine used to say. "We need to start stopping items and stop starting items". Try to say that five times really fast. The idea here is that as a team, it is not enough to just keep some track of your ability to move a project forward, but you need to also be held accountable for the forward progression of said project. And it is really difficult to fabricate your way to success when the items you touched or didn't touch are clearly documented.

And that is the key objective. Documentation of the work for the given project. Once you have this documentation, you have the organization from which you can clearly see the scope of the project. And anyone can refer to that scope anytime someone feels lost. In other words, it makes scope-creep far less likely to tank the project. 


---


Given all of this information, let me now address how this process benefits myself at **Stealth Kitten Games**. While I am used to the run-of-the-mill daily standups commonly practiced at any place that adopts agile scrum methodology. It is really a no-brainer to come clean with the fact that most of what agile scrum is practiced is just unnecessary noise that hampers productivity. All is not lost. The best parts of agile methodology, in my case Kanban, can be decoupled from the rest of what is normally practiced at our corporate overlord headquarters.


That's why I scrapped much of the typical scrum rituals in favor of just maintaining a Kanban board paired with asynchronous sessions where base-case work is getting done and new base-case and edge-case TODO items are being created with their appropriately assigned priority. Take for example a feature where a developer needs to implement a scoring mechanism for the player in which for each missile the player fires that strikes an enemy the player should be awarded a certain number of points. Once the base case is identified, the developer may call for a few more items to address. 


- What happens if the player reaches "Game Over" while a missile strikes an enemy? 
 - Does the player still get awarded points from the grave? 
- Well, if points from the grave are a thing perhaps there should be in-game achievements for this.
 - If there are more in-game achievements for this then we'll need designs for the icons of those achievements. 
 - How much are these achievements worth?
- Can there be any score multiplier powerups?


Ideally, much of these questions are asked beforehand but it's very possible that they creep up later in the development process. Either way there are quite a number of items that can creep up as a result of just a single TODO item. And these items can get quite complex such that it really makes sense to write it all down and prioritize it. Not everything needs to be moved to IN PROGRESS the moment you create the ticket. As a matter of fact, the ability to recognize these edge-case TODOs and prioritize them accordingly such that they don't distract you from completing the base-case TODOs is a trait that any company interviewing for new Software Engineers is going to test you on. 


Your path to being a leader is going be paved with some degree of Kanban. It is simply how you will stay organized and be able to concisely explain the scope of your project, and actually deliver projects end-to-end.