maybe, maybe not
"4. Avoid indulging in speculative software development. "The goal should be to build the simplest thing we need right now," he said. The practice increases software entropy, he added, which is a measure of code complexity."
Sometimes when coding a new system it's obvious that it will probably be extended to perform functions far beyond the original scope or requirements.
Planning ahead while developing a version 1 solution often reduces the time spent coding for later versions. I would therefore argue that speculative development often pays dividends when applied with careful forethought. I wouldn't suggest making things horrendously complicated purely on the basis of speculation, but adding a little extra complexity up front to cater for future scenarios can significantly cut coding timescales when developing new versions.