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

YAGNI just means that you don’t know how the laws are going to change. All the configurability you add is just going to make the system more expensive and even harder to change the day when the laws are changed, and it wasn’t anything you thought of. And no one is ever using all your nice switches.



Yes and no. It's a bit like saying "Oh, I didn't know it was going to rain - it was lovely and sunny outside when I wrote the code".

A big (some might say forgotten) part of the procurement and development process is research - know your customer, know your market, know your niche.

In this case, that includes

- know how prisons work

- know how the system will be administered

- know how recent law changes might be handled by the system

- know how often prisoners need / deserve workarounds

- know how quickly law changes need to be reflected in code

Also, I'm not saying that the user interface needs to contain this. But we should always advocate for modular systems that are easy to maintain through addition, rather than through re-writes.

If it is genuinely difficult to add a new type of inmate release schedule, then that is poor planning.

But again, I'm not necessarily subscribing to that theory. Money is involved, so facts are in the eye of the sales team.

But I'm also not not subscribing to that theory.


No, of course you have to take into account known factors, like sometimes it rains. And if it is difficult to add a new type of release schedule, it is not poor planning, it is a poorly designed system. When we don't know how requirements are going to change, we must not guess, we should instead design the systems so they are easy to change.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: