Live data from Hacker News

Symptoms of Dysfunction in Software Teams

blog.hedges.net

11–20 of 56 posts

Re: Symptoms of Dysfunction in Software Teams

#11
post #5

I am new to the industry and have only really had limited experience. Is it more fair to call these symptoms of dysfunction or business as usual. How do you begin to avoid these problems?

You find another job ASAP. Organizational and culture problems will not be fixed by one new employee.

What happens is the competent people bail, leaving behind the less talented and/or less motivated which creates a positive feedback cycle.

Re: Symptoms of Dysfunction in Software Teams

#12

Earlier quoted context omitted.

Yeah, this definitely feels like a permanent addition to the lexicon. It crisply describes at least two systems I'm maintaining currently.

If it gets canonized, I'd much prefer "cancerous prototype" because it's easier to say.

Also known as: Quick Hack, Kleenex Code, Disposable Code, Scripting, Killer Demo, Permanent Prototype, Boomtown. [1]

http://blog.codinghorror.com/the-big-ball-of-mud-and-other-a...

Re: Symptoms of Dysfunction in Software Teams

#13
The 'it depends' answers are good and I would not cite them as evidence of a problem. You employee people who understand what they are talking about and who also understand the importance of an accurate answer. They are probably very good engineers.

How does X close a TCP connection... it depends on the operating system in question. What cipher does my browser use when talking to X website... it depends on what ciphers are supported/available and how the client/server are configured. Which router do these packets go through... it depends. Is my password secure... it depends on the string you chose, the hash type used to store the password and who the attacker is and what their resources and time frames are.

There is hardly anything absolute in technology/software. And, people who want an absolute answer are only indicating that they do not understand the fundamental complexity issues that we deal with as technologists.

Re: Symptoms of Dysfunction in Software Teams

#14
post #7

I was on a project that produced a carcinogenic prototype. The irony was we knew it at the time. Before it was shown to the higher-ups, us developers joked that they'd like the prototype so much they'd come back with a completely unrealistic deadline for the finished product. They did. They wanted it ready in 3 months. I estimated 10. We delivered something - I'd hesitate to call it a finished product - 15 months lat…

I saw a startup do a tablet once (a very early one). They'd written a lot of demo code in Smalltalk V.

I interviewed there, and turned down an offer. When I was talking with them, I joked that they needed to be careful or they'd wind up shipping their demo code. "Oh, don't worry," they said, "We're going to re-write all of that."

A year later they shipped their demo code. A year after that they'd sunk without a trace.

(I sometimes wonder if they would have had a chance if I'd joined them. I'm guessing it would have turned out pretty much the same).

Re: Symptoms of Dysfunction in Software Teams

#15
post #14
post #7

I was on a project that produced a carcinogenic prototype. The irony was we knew it at the time. Before it was shown to the higher-ups, us developers joked that they'd like the prototype so much they'd come back with a completely unrealistic deadline for the finished product. They did. They wanted it ready in 3 months. I estimated 10. We delivered something - I'd hesitate to call it a finished product - 15 months lat…

I saw a startup do a tablet once (a very early one). They'd written a lot of demo code in Smalltalk V. I interviewed there, and turned down an offer. When I was talking with them, I joked that they needed to be careful or they'd wind up shipping their demo code. "Oh, don't worry," they said, "We're going to re-write all of that." A year later they shipped their demo code. A year after that they'd sunk without a trace…

"I sometimes wonder if they would have had a chance if I'd joined them."

Maybe if you joined as VP of Engineering or CTO. As an IC, all you're going to do is get dragged down with them, and go home pissed off every night.

I've been there. A company has no existing test infrastructure, it's all done by hand, and the build "system" are the binaries that come off a dev's machine? No problem! I'm you're man, I'll have you up and automated in a jiffy. Except that the reason there's no existing infrastructure now is because of general cluelessness, not for lack of expertise.

You need someone to hook the hoozit that I lightly touched last time I was there to your new whatzit? Yeah, I'll come in on a contract basis to get it sorted. My first clue should be that none of the other devs who know it better than I came to your rescue. No specs for the thing I'm supposed to integrate with, no documentation as to what it is you actually want, and a PM that sits and watches YouTube videos all day? Yeah, I should have guessed.

It's top-down, and if you're not at the top, you're not going to save them from themselves.

Re: Symptoms of Dysfunction in Software Teams

#16
I once worked with a guy who gave a lot of "it depends" answers. (In fairness, he was the chief scientist, and there was a lot more of valid "it depends" than I wanted to recognize in the way microwaves interact with living tissue.)

One day a coworker and I asked him a question, and demanded that he give us a yes or no answer. He thought for a moment, and then replied: "Yes. However..."

[Edit: Fixed typo.]

Re: Symptoms of Dysfunction in Software Teams

#17

The 'it depends' answers are good and I would not cite them as evidence of a problem. You employee people who understand what they are talking about and who also understand the importance of an accurate answer. They are probably very good engineers. How does X close a TCP connection... it depends on the operating system in question. What cipher does my browser use when talking to X website... it depends on what ciphe…

[deleted]

Re: Symptoms of Dysfunction in Software Teams

#18

The 'it depends' answers are good and I would not cite them as evidence of a problem. You employee people who understand what they are talking about and who also understand the importance of an accurate answer. They are probably very good engineers. How does X close a TCP connection... it depends on the operating system in question. What cipher does my browser use when talking to X website... it depends on what ciphe…

That didn't seem his point. He didn't say at all that the person providing the answer was not competent or being imprecise or whatever negative. The example he gave was different that yours: it was about the software the team is responsible for and about the fact that technical debt has been formed. In dysfunctional organizations, dysfunctional software happens despite of the bright people.

Re: Symptoms of Dysfunction in Software Teams

#20

Earlier quoted context omitted.

Yeah, this definitely feels like a permanent addition to the lexicon. It crisply describes at least two systems I'm maintaining currently.

If it gets canonized, I'd much prefer "cancerous prototype" because it's easier to say.

Prototumor
Post reply on HN