I recently had a discussion with a colleague about a simple task. It was about doing simple logging of our web app. The log data was only meant for doing initial analysis of the login experience. He wanted to use some messaging queue api for sending the log entries. "We can then scale this horizontally later." he said. It might be that he misinterpreted the requirement, but it would add unnecessary complexity to the project. A plain db insert was enough for this case.
Watch out for these words in requirements:
- Maybe
- Could
- Would
- Cool
- Future/Later
What's your favorite YAGNI Alarm?