3 ms·
"So you advocate over-engineering a just-in-case tour-de-force, instead of agile, iterative, responsive development. How are you getting up votes????" There's
by einhverfr 15y ago
"So you advocate over-engineering a just-in-case tour-de-force, instead of agile, iterative, responsive development. How are you getting up votes????"
There's a time and a place for heavy engineering, and a time and place for agile, iterative development, and sometimes both have times and places in the same project.
One element of good judgement is realizing what the tradeoffs between older and trendier development methodologies are, and then navigating them intelligently.
For example, the direction LedgerSMB is moving is towards a heavily engineered, intelligent database with a well-engineered API, and a more agile application built on this framework. The database engineering (esp. in an accounting app) needs to be done right and account for a lot of "just in case" while the actual application running on the database should be able to be customized relatively easily.
- buff-a 15y agoIts funny, because the only code I write that is 100% TDD is the stuff that has to be done right. "Heavy Engineering" without agile, iterative development is actually just "Heavy Wishful Thinking", or "Heavy Waterfall".