Compared to construction, where requirements are more often well-defined upfront, software is more ... fluid. You don't know what the customers want. But as time goes on and we keep building, we'll learn these things. That's why before a project starts, it's anyone's guess how long it will take. But once you've been working on it for a while, things tend to get more well-defined. You choose a technology. So, what we should optimize is learning, and the way to do that is through continuous delivery. I've written about the importance of fast feedback loops before. I got the best outcomes from asking my team: "What do we need to build to learn about [what the customers want, which technology is right, how to scale,...]?" and then let them come up with proposals. Yours, Taj |
Hi, I’m Taj Pelc. Building for the web and leading engineering teams for 15+ years.