If you think that writing software is like painting a house, then you are definitely 100% an accent coach, and 0% a software engineer. Most companies don't write software for just one customer. That is the beauty of software de development. That is, if you have product managers who are good at their jobs. You are not painting a house, but creating a tool to enable any future customer to have a house in the color they choose. Otherwise you'll be out of business soon. If the product manager didn't take the time to realize that color choice is a variable for customers, and is asking you to change things like this mid flight, then it is a failure of the product manager to do the requisite due diligence and market research. Software development is expensive, and not enough effort is put into planning things out. It is simply unrealistic for most companies to work for one customer at a time unless they charge outrageous rates. In that case you're really not giving the customer a competitive advantage so much as you are over charging them for your own negligence in gathering proper requirements
@MarkShead9 ай бұрын
> It is simply unrealistic for most companies to work for one customer at a time unless they charge outrageous rates While some companies make software to sell to others, a very large percentage create software for their own use. > If you think that writing software is like painting a house, then you are definitely 100% an accent coach, and 0% a software engineer. No analogy is going to be perfect. Painting was chosen to represent some thing in a project that can be changed, but requires significant rework if the customer changes their mind. The goal of this example is to get people thinking about how they can make smaller investments before letting the user experience what has been created and provide feedback. But all analogies have their limitations. Do you have a better analogy that explains the need to leverage change in a way that provides a competitive advantage for the customer?