Posts

Showing posts from 2025

Kanban and the Methodology With No Name

Image
There is a software development methodology that uses a Kanban board, but it isn’t called Kanban because Kanban isn’t a methodology . It’s just a method, a board with columns and stickies to track work, which this guide says can be used with any methodology and is not a methodology in itself. So I call it the Methodology with No Name(MWNN), like Sirgio Leone's character the Man with No Name.  The MWNN is simple. You add a column on the Kanban board that is a prioritized list of work that is ready to start work on next. But the trick is that the column has a reverse WIP limit, where you make sure the number of stickies in the column never falls below the reverse WIP limit number. This way work is never stalled waiting for a sticky to be completely defined and ready to begin being worked on.  That's it. You just do the work in the usual Kanban way respecting WIP limits of all the columns. With the MWNN there is no need for sprints and sprint planning where you try to guess how m...

Test Code

Image
 For a long time, when I first started writing tests, I felt so unproductive writing tests. I would try to write the test as fast as possible so I could move on to the "real" code. Then one day when a production deployment failed due to missing a simple test I realized the critical value of tests, and that good tests are in fact "real" code and they do deliver immense value. I began to see tests as "support beams" for the application that prevent it from collapsing. What are good tests? Good tests are ones that fail only when there is something really wrong. Like the logic was altered unintentionally by some change. Good tests don't depend on data that might change. Good tests happen when you have complete control of all the inputs. If your test is failing when nothing is wrong then make it top priority to fix it, or delete it. No test > not working test. These tests will make you no longer trust your test results and they will lose value. You need ...