Hacker News new | ask | show | jobs
by aliasEli 1806 days ago
One of the big problems with "modern development projects" is that they start coding from day 1. The first step in any good project should be to learn as much as possible about the requirements before making serious decision about its architecture. Designing a model of the data (even if it is only a very rough one) is usually very helpful in the first phase of a project.

It is still true that mistakes that are made during early phases of the project are much harder to fix than recent mistakes.

1 comments

I've often heard that the best way to learn about customers is to put a product in front of them and see how they react. People have a hard time knowing what exactly they want in a vacuum, but once you give them something to play with, they're usually good at saying what's good and what's not.
When your system is replacing some existing system, which could well be just paper-based, it is very useful to study it carefully. It will give you a good idea about the data and its internal relations. If you want to show something to a customer, you can also simple mock-ups like static HTML pages.

Only after you have a decent understanding of the system you should start building it. There will be many new requests, but most will just be concerned with the UI. If you have the right data model and architecture, those will not be very difficult to solve.