Hacker News new | ask | show | jobs
by lkxijlewlf 1599 days ago
Take a POS system. If at first you have a screen, keyboard and bar code scanner, you might think, "okay, what if we can't get this bar code scanner anymore?" so you modularize your HAL in a way that makes swapping out the bar code scanner easy.

However, if you decide that sales should walk around with tablets to enter transactions into and those go to the cloud for processing, well you just have to rewrite the whole thing.

The point is, you look for the things that could change right now. But you know that if too much changes, you have to redesign it. It is not about predicting the future. It is not about writing software that can absorb any change.