3 ms·
Perhaps I am wrong here, but I got a much different message out of the post. It's not about actually having ZERO bugs as it is about enforcing a strict and log
by gshulegaard 10y ago
Perhaps I am wrong here, but I got a much different message out of the post.
It's not about actually having ZERO bugs as it is about enforcing a strict and logical classification system.
I think this quote resonated with me the most:
> ...but much more so, the bugs were a result of incorrect specification or missing specifications.
The argument being made is that if you hand a developer a specification, the developer implements the specification _as specified_, then you discover the specification was incorrect or that in practice you want a change would you classify that as a _BUG_? No. But a lot of shops _do_, so they end up with _too_ many tasks classified as a "Bug" which makes it impossible to prioritize since being a "Bug" is a binary descriptor.
By enforcing a classification system means you have the ability to then enforce a prioritization system...and really the prioritization system is key for maintaining consistent output and forward progress.
At least that what I felt the argument of the post was...and I see some reasonability to it. Especially since, as the author mentioned, this is not a new idea.
- kazinator 10y ago> about enforcing a strict and logical classification system. But that is something so common place that even pretty poorly run software organizations which ship crap do it. The rhetorical Everyone has a bug database with features, enhancements, low priority bugs and "blockers". That plus version control is the bare minimum requirement for having any kind of process distinguishable from total chaos. This is an article about water being wet.
- gshulegaard 10y agoPerhaps, but having worked for a government sub-contractor that had precisely this problem, I don't think it's as universally true as you would think. At that particular company, everything was a "task" and tasks were just thrown at employees as they came. This wasn't just limited to software development either...this applied to customer support and service as well. Their solution, and the solution the customer (government contractors) was to schedule numerous and regular meetings in order to touch base and monitor progress...which only contributed to the problem. Also the article itself is actually a case study...
- tostitos1979 10y agoI'm in the business of building complex software systems, and I think another way to improve software development is to fire all the agile coaches, use the money saved to hire more developers, and use those developers to give the team more help to fix defects and add features. I really cringe when a project management type comes in and points out the obvious. This kind of stuff only works if you are building simple software like a CMS system or a basic CRUD app. Building complex software is an exploration in and of itself. In the old telecom days, months would be spent writing precise feature specifications and design documents. That's how much time it takes. Does ANYONE have that time today? Aside from safety critical systems where you have no choice but to put in the time, I think the answer is no. The software development process has shrunk significantly, and as an industry we have decided to meld design, architecture, feature specification, coding and testing. Bugs are a necessary end product of this stupidity.
- samhatoum 10y agoFYI, I'm not a project management type. I've build numerous continuous delivery pipelines for enterprise clients and helped them deliver multiple features per week. I have current skills in writing Java, C# and Node.js. I've written my own testing frameworks (Check out Chimp.js), I coach developers on how to write better code, as well as business people on how to create better specs. I typically try to stay away from CRUD applications where possible as I find them too simple. I prefer to work on meaty domain-driven applications using CQRS and Event sourcing, but that's just my tech preferences. I too worked in telecoms and was part of the development team that did the AOL LLU from BT in the UK. The old-world you speak about has a ton of wisdom in it, that much I agree with you on, however it was also riddled with stupidity of its own. The amount of time you put into the specs is not where the trick is in my view, it's about splitting the specs down into manageable chunks (something the old world never understood) and then making sure those chunks get the necessary time (something often missed these days). If you think the solution for your company is not to have any advisors, and that you have all you need, then by all means hire more developers. They are the smartest people around ;)
- tostitos1979 10y ago