Gentlemen, I hope you don’t mind if I chime in.
Justin James, you previously mentioned “when I have a decent spec up front and work with a team I am familiar with”. I’m curious how you approach situations when you don’t have specs up front?
I see the following as our two biggest challenges in software development today (and yet to be solved). Firstly, we naturally expect estimations on things that are not yet known in detail (eg. requirements, features, tech stack, etc). However, having said that I think it is possible and have been using some techniques that allow the executives to hear exactly what they want (“how much will it cost?”). And ultimately, what ever business owner and investor wants to know is “how will it move my bottom line?” — That is the real question. I can speak from experience of investing my own money into building my own tech products. When developing software products, we try so hard to gain predictability and reduce uncertainty but I think there’s still a gap in the current way of developing software.
The second challenge that I see repeatedly is the debate around what it means to have delivered software. The counting of cards, story points and hours spent means nothing to both a business and customer. Also the multiple iterations approach works but is not good for providing certainty for investors who want to see a return on their investment. Given enough time and money, anything is possible but the reality is that each business only have so much time and money. All the customer cares about is a continuous stream of value being delivered to them. By definition, this is what software/product development teams should care about too. That is their ultimate measure of success. From a business’ perspective, the delivery of value applies to them as well since they will expect to be compensated for this with revenue and product growth.