In many situations, software exists to automate what would otherwise be done manually in business. For example, calculating interest on bank accounts. It also enables us to do things we’d never be able to do by hand. By investing in automating the mundane, we’ve created tools that open up new opportunities. Things not possible, nor fathomable before. Between manually doing…
Month: August 2014
The mythical developer bias
Every once in a while someone brings up the subject of developer bias. This usually happens in the context of a conversation about software verification. How do we verify the software does what we need it to do? By developer bias, these individuals are referring to their perception of some universal law that developers can’t ensure the software actually works.…
Progress isn’t that complicated
Task counts, burndown charts, measuring velocity, estimates, backlog size, estimated hours, completed hours, use cases remaining, number of stories done, number of stories being tested, etc. There are so many ways people try to measure and quantify expended effort and compare it to estimated remaining effort. Often in an attempt to convey some indication of progress. Most of the time…
On going development and taking breaks
It’s great to move to a model where we can adapt and learn as we develop software. Instead of trying to specify everything up front for the next years work. In making this transition, it’s important not to swing to the opposite end of the spectrum and suffer the consequences of under commitment. Fortunately, projects are a great way to…
The cost of dead code and the only technique you need to know to clean it up
Vestigial features are a common plague in software. There’s a special type of this that often goes unnoticed. Vestigial features are usually usable features that simply aren’t used. But under the hood, every system has some code that isn’t even exposed. It doesn’t support a feature users can access. It’s often the result of experimentation, or perhaps a vestigial feature…
Islands of value
Waterfall has a bad rap, likely deserved, of over-committing to the minutiae of what it will take to create or modify software over the course of many months and years. For this, and many other reasons, agile development favors change over following a plan. Unfortunately, this often results in a severe degree of under-commitment, the polar opposite of over-commitment. Both…
How to elicit cohesive software verification
Software verification is no simple task. How do we know the software does what it should do? Or better yet, how do we know the software does what we think it does! Perhaps even more challenging, what do the various individuals involved in creating the software think it should do? What do stakeholders expect? What do developers think? Testers? What…
Leading A Culture Of Effective Testing
Looking to improve how you verify the software you create? Struggling with how to instill the values of effective testing? Check out my latest article featured on InfoQ: Leading a Culture of Effective Testing
Hoarding features
A few weeks ago I stumbled on an article about clutter. Apparently hoarding is now considered a psychiatric disorder. I wonder what took so long to come to that conclusion. The article referenced the DSM-5, released in 2013: hoarding, is now a distinct psychiatric disorder, defined in the new Diagnostic and Statistical Manual-5 as “persistent difficulty discarding possessions, regardless of…