Sunday, March 3, 2019 / C#
I am trying to improve the working relationships between the people that write software and the people that want the software to be written. The goal is to better meet the desired outcomes of both. The marketplace is about fulfilling people's wants, both the buyer and the seller. Voluntary transactions in the marketplace only occur when the trust between the parties is sufficient to believe both parties desires will be met.
When buying and selling commodity items each party's wants are rather clear. When my daughter and I go to the market to buy ice cream we each select our flavor and pay the agreed price to the store owner. The transaction is completed and both parties' wants are fulfilled.
When buying and selling a service on the marketplace the transactions are not instant. There is a promise from both parties to act in the future. Thus, the amount of trust and risk required is greater. The needs of both parties are typically urgent. Yet, time does not afford one the opportunity to build trust with all potential service providers and then select the perfect fit. Instead, one decides based on their knowledge of past performance and their ability to mitigate risk.
The ideal result of a promise is that both parties fulfill their obligation. Risk mitigation is concerned with when a party doesn't fulfill the wants of the other. We attempt to mitigate these risks in the following ways.
Mitigates risk by having the ability to terminate the relationship. If either party wants to end the relationship, they give notice and the time/money being invested stops. Even though hourly billing pits the parties goals directly against each other, as the service provider wants to maximize hours billed and the buyer wants to minimize hours billed, this option is the most commonly used. Most of the risk of hourly billing services are assumed by the buyer. The total cost of a project can be estimated but is not guaranteed and thus cost overruns can and often do occur. Ironically in this scenario most of the risk is assumed by the non-professional in the field. Often, critical engagement is avoided in efforts to save time and money, thus jeopardizing a successful result.
Mitigates the risk of the client for cash outlay. In the Fixed Fee scenario more of the risk is assumed by the professional in the field. If they underestimate the cost to deliver, they lose an amount directly proportional to the miscalculation. Although the client is not without risk in this scenario, as there is less flexibility to adjust the product during the process.
This is a quite fair arrangement when looking at the life of a product but often the professional is not capable of investing capital for the time required to see the result. This all but guarantees that the professional seeks other means of short-term cash flow. Thereby, directing their attention away from the larger goal. The professional and the client may not view the potential success of the product in the same light and often the professional would want some risk mitigation by having a role in managing the product as well.
This is an effort to mitigate all the risk from the client. Other than the trust to return the funds.
All risk is assumed by the professional other than time delay spent by the client.
And the SILVER BULLET solution is nonexistent. Mutual awareness is the best option. All the options above have had successes and failures. Being honest and upfront about the concerns of each party and aware of the benefits and pitfalls are key. Like most relationships, take it in phases. Start with coffee, before dinner and a movie, and don't rush into marriage plans.
I would love to hear about creative mixes of the above or even entirely different mitigation techniques.