Hacker News new | past | comments | ask | show | jobs | submit login

I'm not sure author distinguishes well enough between different kinds of kludges. For me, personally, here are some non-negotiable issues:

1. Security.

2. Unit tests.

3. Budgeting for enough time to address pressing "technical debt."

If I can't address (1-3) properly, then my sustained development performance decreases sharply, and I provide less economic value. No thanks. Any organization which I can't educate about these issues will probably be a long-term loser, anyway.

But client in the article who said, “Oh yes, the specification was wrong, but we need to do this right now. We cannot launch without. Everyone has it. It such a small change. It must be easy and fast to do.”?

Usually, these requests are very easy to handle in a well-run development shop. Tell the decision maker, "Hmm. That's a 2-point feature. Let's see how it affects the schedule. We should be able to get that out tomorrow, at the cost of slightly more technical debt in module X."

Developers need to be able to respond to last-minute changes. And you'll never get a complete, correct specification up front. So you need to learn to deal with changing requirements without wrecking the code.




I'll negotiate anything, but I'll only do so with someone who has shown they really understand what's being traded off.

Of course those people rarely ask for stupid things and when they do it tends to be obvious why it's necessary.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: