Here's a quote from "Agile Principles, Patterns, and Practices in C#"
By Micah Martin, Robert C. Martin
- Simplicity the art of maximizing the amount of work not done is essential. Agile teams do not try to build the grand system in the sky. Rather, they always take the simplest path that is consistent with their goals. They don’t put a lot of importance on anticipating tomorrow’s problems; nor do they try to defend against all of them today. Rather, they do the simplest and highest quality work today, confident that it will be easy to change if and when tomorrow’s problems arise.
I really don't get that.
Does that means, instead of building a robust main engine which will be able to handle the features needed, one should just build one feature right ahead?
Because as far as I know this would most likely eventually turns out inefficient and less flexible.
Let's take an example:
Imagine ASP.Net without base Control/WebControl classes, because the .Net dev team would just have rushed doing "TextBox", "CheckBoxe", "Label", etc. immediatly. The .Net team dev would have taken the simplest path.
Woudln't that have made the whole framework's developpement a hell of trouble?
Can somebody tell me if I got the quote wrong of it's a really debatable rule?