I have wonderful clients. As a business, my favorite clients are those with nearly inexhaustible funds and huge ideas leading to tons of work. However, these clients are rare. When they do exist, it’s only temporary. They start out with grand ideas and vision. Work comes at a furious pace and the feature re-work, and UI re-work is endless. The customer is super happy to get underway, they have funding, and anything is possible. They see changes quickly and return instant feedback. I call this the “honeymoon” period. Budget constraints lead to better products since they force the discussion about what’s most important for the product.
Eventually, reality sets in and the eventual budget conversations happen once. The customer starts to realize they actually don’t have a bottomless well filled with money. At this point, they start learning about the Agile development process. They start attending planning session, backlog review, and product definition meetings.
At this point, the product becomes very good much more quickly. Every feature request has to be ranked against others. Before, the answer was “do it all”. Now, it becomes, “the customer can live with out that” or “we can do that manually”. The following occur as a direct result of the budget constraint:
- Feature bloat stops
- Business drivers become more clear
- The user’s needs are more important than backend automation
- Meetings become more streamlined
- Discussions about customer support begin
- Marketing and sales strategies become defined
I can’t express how exciting it is to watch the transition from amorphous software development to structured and focused product delivery. Unfortunately, too many organizations work without a budget constraint for too long.
My job with clients is to express how important it is to have a budget constraint when they begin their product development. This makes it easier to plan at the beginning and track the burn rate versus feature delivery rate. We can estimate the total cost of delivery by cataloging and estimating the entire universe of feature requests for a product. Each addition or change can be ranked to other requests by it’s overall budget effect. The result is a clear set of features ranked by priority. This backlog changes and grows as features are implemented and new requirements come in.
I encourage all clients to realistically set a total target budget. This budget can change over time if needed. However, having a line in place encourages everyone to think about feature prioritization from the beginning. This ensures we’re building the most critical features for the next release. Budget constraints lead to better products.