Live data from Hacker News

Responding to “Are bugs and slow delivery ok?”

uselessdevblog.wordpress.com

71–80 of 128 posts

Re: Responding to “Are bugs and slow delivery ok?”

#71

I've been coding now for about 30 years. I've never moved up into management and, now at almost 50, it's pretty clear I never will, and will spend the remainder of my career coding (which I'm perfectly fine with). In the 30 years I've been coding, languages have come and gone, platforms have come and gone, frameworks have come and gone, methodologies have come and gone, but two things have never changed: 1) Software…

Let me add more nuance here. We are always balancing a set of constraints: total cost, speed of delivery, certainty of cost, and certainty of delivery for a given date are but four. Agile, for example, suggests that decreasing the cost of change at the expense of certainty of cost will increase the total chances of delivery within cost and date. Outsources are (implicitly) arguing that the decrease of total costs are…

We are always balancing a set of constraints: total cost, speed of delivery, certainty of cost, and certainty of delivery for a given date are but four.

The real problem is that management think they can directly constrain those kinds of variables but in reality they are not inputs they're outputs. The real inputs are things you can actually control like what you're building and which of your team you assign to build which parts of it at which times. That might come in on time and under budget or it might not but shortening a timeline or decreasing a budget won't change how long it takes or what it costs.

Of course that sucks for managers who want to make informed decisions like whether to go ahead with a project that will require an uncertain amount of investment to complete but needs to generate more return than some threshold to be worth doing. Now the managers have to find a way to guess what the important outputs like cost and timescales will be as some sort of probability curve so they can make a rational decision based on the best but still incomplete information they have available. And even then a lot of managers insist on trying to be absolute about things like time and money when the actionable decisions they need to make are more often whether to start some project at all or which ongoing projects currently have the greatest need for any additional resources that are available.

Re: Responding to “Are bugs and slow delivery ok?”

#72
Well great, I hate it!

Yesterday somebody shared this with me and it made me reflect about what things could we learn from other engineering disciplines. It might be just me but I have this gnawing impression that a lot of the pains we have in software are self imposed.

https://web.cs.wpi.edu/~gogo/humor/hum_toast.html

Re: Responding to “Are bugs and slow delivery ok?”

#73
"Software quality" is such ambigously defined term that all of these can simultaneously be true (for different products):

* software quality is (more) important

* software quality is not (very) important

* bugs are not important (aka "i don't test, but when I do, it's in production")

* the less bugs you have the better, but they're not gonna kill you

* bugs are safety-critical

* slow delivery is fine

* slow delivery is not fine

In the last 20 or so years working as software developer professionaly, in various teams and quite different projects, I've noticed that:

* people (decision makers, software buyers/clients) always say they want higher quality

* same people very rarely want to back that up with their budget

* people almost always prefer more features to more quality (even when explicitly told that more feature is not a good thing for eg. MVP stage of a startup)

* most people except dedicated QA engineers can only think of a happy path (if everything works the ideal way); this includes not only other engineers (who try to think up failure scenarios but often miss important ones), but also designers (when have you ever seen a design mockup for "DNS lookup failure connecting to the server" case?), and definitely product owners or clients (in context of a dev agency)

* I have never worked on a nontrivial software project that didn't change requirements/scope

Myself, as with many other software developers who chose this field out of passion and not stratospheric wages, was for a long time appalled by this apparent lax approach to quality? Don't you want to have the best possible product?

But working with a lot of diverse clients while doing dev agency work, and running several startups myself, has taught me that software quality is not, and (it pains me to write this) should not be, the top priority. Product-market fit, treating your customers well, having a sustainable monetization strategy, marketing and sales ... if you don't execute well on those, nobody will notice the (lack of) quality[0].

In most organizations (except the ones that are swimming in cash) it's a tough act to balance all of the above. While I wish for all the projects I work on to be the best they can be, a programming work of art if you will, I can certainly empathize for people who must prioritize otherwise.

[0] unless the quality is safety critical, in case I need to point this out explicitly.

Re: Responding to “Are bugs and slow delivery ok?”

#74

I've been coding now for about 30 years. I've never moved up into management and, now at almost 50, it's pretty clear I never will, and will spend the remainder of my career coding (which I'm perfectly fine with). In the 30 years I've been coding, languages have come and gone, platforms have come and gone, frameworks have come and gone, methodologies have come and gone, but two things have never changed: 1) Software…

You can make some good guesses about levels of unpredictability based on previous experience though.

For example:

If the job involves dealing with anyone from Samsung or LG, it will take 2-3 times as long as you think.

If the job involves adding in a commercial third-party component which has a website about it, and that website doesn't clearly explain what the benefit of the thing actually is, the job will take 10-20 times as long as it should.

If the job involves a new feature Amazon or Google have just launched on one of their devices, and you are being CC'd on email chains involving representatives of Amazon or Google who are claiming implementation is very easy, the job will take a minimum of 6 months and may never be completed because the feature will be dropped or replaced with V2 before V1 ever actually works.

Re: Responding to “Are bugs and slow delivery ok?”

#75
I disagree with this conclusion because it's taking as implicit the assumption that the organization is the thing to be victorious, which is a misunderstanding of organizational politics.

There is no organization. There is only people. Some of those people, like your boss or your investors, may want you to burn yourself out or do unethical things to your customers so they can make more money. It's your prerogative to tell them to fuck off, and go work somewhere else if you don't get your way. Some people don't have that capacity. Software developers generally do.

Perverse organizational incentives will pressure you to be bad. Refuse.

Re: Responding to “Are bugs and slow delivery ok?”

#76
post #55

Earlier quoted context omitted.

Thank you for (1). I was trying to explain to someone the other day how unpredictable coding is, but you're right, it's wildly unpredictable. Even for tiny projects they sometimes go so far off the rails. I remember working on this one major project - an online music store - and one of the execs hired his very lovely wife to project manage a team of developers. She would create these fantastic charts in Microsoft Pro…

If the code you write is uncovering bugs in compiler, you literally are too smart for your own good. Fwiw, I have seen how compilers are made. Makes me amazed anything actually compiles and runs.

> If the code you write is uncovering bugs in compiler, you literally are too smart for your own good.

Nah, it can happen through sheer chance. I remember hitting a compiler bug when I was young (the only time I hit a compiler bug). I was certainly not particularly smart, just unlucky.

The interesting thing is that it had been drilled into me that "it's never a compiler bug" and so I banged my head against that wall for a couple of weeks before a more experienced programmer took interest and showed that it was actually a compiler bug.

Re: Responding to “Are bugs and slow delivery ok?”

#77

I've been coding now for about 30 years. I've never moved up into management and, now at almost 50, it's pretty clear I never will, and will spend the remainder of my career coding (which I'm perfectly fine with). In the 30 years I've been coding, languages have come and gone, platforms have come and gone, frameworks have come and gone, methodologies have come and gone, but two things have never changed: 1) Software…

Let me add more nuance here. We are always balancing a set of constraints: total cost, speed of delivery, certainty of cost, and certainty of delivery for a given date are but four. Agile, for example, suggests that decreasing the cost of change at the expense of certainty of cost will increase the total chances of delivery within cost and date. Outsources are (implicitly) arguing that the decrease of total costs are…

> Agile, for example, suggests that decreasing the cost of change at the expense of certainty of cost will increase the total chances of delivery within cost and date

Yes, that's the promise. I've seen it tried as earnestly as possible over the past 20 or so years since the term became popular, but I've never seen it deliver on its promises either. I suspect that a lot of that is psychological - risk-averse management hears "on time and on budget" and consciously or unconsciously starts steering the development process back to a more predictable seeming waterfall style that negates the supposed benefits of "agile" development.

I assert, however, based on 30 years of observation, that no matter how carefully you follow an agile delivery framework, whatever that may be, actual delivery and cost will have no relationship whatsoever on your estimated cost and date.

But I also predict that you and I will continue to smile and nod when they insist that it must be finished by such and such date.

Re: Responding to “Are bugs and slow delivery ok?”

#78

I've been coding now for about 30 years. I've never moved up into management and, now at almost 50, it's pretty clear I never will, and will spend the remainder of my career coding (which I'm perfectly fine with). In the 30 years I've been coding, languages have come and gone, platforms have come and gone, frameworks have come and gone, methodologies have come and gone, but two things have never changed: 1) Software…

You can make some good guesses about levels of unpredictability based on previous experience though. For example: If the job involves dealing with anyone from Samsung or LG, it will take 2-3 times as long as you think. If the job involves adding in a commercial third-party component which has a website about it, and that website doesn't clearly explain what the benefit of the thing actually is, the job will take 10-2…

> the job will take 10-20 times as long as it should.

But your CTO will think it will take 10-20 times less time than it should, because that's what the vendor promised.

Re: Responding to “Are bugs and slow delivery ok?”

#79
Maybe this is my years of experience talking, but curious if anyone else sees a connection between a slow delivery (aka slower development time) and less bugs? The idea is that developers have more time to think about the solution, write better code and overall not feel so rushed just to get something out the door. In my experience, the more pressure put on developers to get the thing done, the more bugs are introduced.
Post reply on HN