I linked the Reddit thread because there are some good thoughts there, but I'd also love to hear what HN has to say!
https://www.reddit.com/r/programming/comments/3z1pfp/the_sad...
I linked the Reddit thread because there are some good thoughts there, but I'd also love to hear what HN has to say!
https://www.reddit.com/r/programming/comments/3z1pfp/the_sad...
Guess I would delete all issues except for the most critical bugs and any remaining critical mvp features, and then I would say that from that point on you can't add any feature requests without completing something - that is you can only add a feature ticket after completing a bug or other feature ticket.... for sprints I'd say 3 to 1 bug to feature ratio and no more than 1 feature at a time in progress / in sprint at any time.
Then if normalcy returns I'd ease up. I'd also make sure there's one lead dev in charge long term on the project instead of just having whoever has "some time to do it."
Not sure if this is ideal, which is why I'm looking forward to your answer.
People react badly to bugs because they feel it is a result of a mistake -- developers broke something they shouldn't, or they didn't do a good job in a previous implementation. The feeling is that a bug has the highest priority, but in reality, there is no such connection from "previous mistake" to "important now".
If the only difference between a bug and a feature is that a feature is not expected to already be present, as soon as you discover a bug it becomes a feature request -- we now know that functionality is not present. It should be prioritised in exactly the same way.
The key to solving the problem posed by the article is fairly clear. Get a list of all the things the you are not going to implement. Remove them from the list. Done. Whether these are bugs or features is irrelevant.
Many devs are blissfully unaware of the influence accounting (the other nerds) has on an organization.
Lots of PM groups are driven almost exclusively by "new features" and poor estimates on their value. I have been hard pressed to find a PM that will do a one week project that adds 100k to the bottom line over a 10 week one that adds 500k even though the former has a better ROI.
I've repeated this process elsewhere too, both for other companies and on my own projects... though the example shown was among the most severe.
In the essay, I'll try to be a bit more precise though, because in practice you might have a hard time with getting buy in on "Delete the issues" and an easier time with what I actually did on this project:
"create a priority queue that only the product owner and CEO can touch, treat that as the new official backlog until the crisis is resolved, put a bunch of rules on what gets in there and how much it can hold, then track progress actively"
More details will be shared in a couple days, can't wait to hear responses. :-)
If you want the followup essay in your inbox, sign up here: https://tinyletter.com/programming-beyond-practices
They did shit -- and the memories are coming back! -- like build multiple versions of the hardware that fixed different problems. Guess what they didn't do? Create any fucking way to query from the computer side what version of hardware you were talking to. Until rev 8 or 9. I spent probably a cumulative month figuring out (usually) non-destructive ways to guess from different faults which version of hardware a computer was talking to. And there was fun stuff like the servo motor with no hardware stop (used to move a lens closer/further from a laser) and different gearing ratios on different revs that could do $10-$20k of damage to lenses if you didn't know exactly what you were talking to. Because all you told the motor was degrees to rotate the shaft, but the aforementioned different gearing meant you could ram a lens into a laser because later revs traveled 3x as far per rotation.
One thing that solved lots and lots of problems for us was I finally harangued the ceo into just shipping our own computers with the machines. We used nidaq cards to acquire data; nothing was as fun as attempting to remotely figure out driver conflicts/issues or NI licensing issues or what to do when someone didn't buy the right type of card. Often with a not particularly computer literate bio grad student on the other end. Just shipping our own computer with daq and software pre-installed and refusing to support anything but our own computers ($600 dells) got rid of a class of problems and replaced them with just one: the NIDaq card was jarred out of its slot during shipping. Reseat it. Or eventually, have the factory screw it in then glue it to the motherboard.