I love a good apocryphal story. One of my favorites involves a fellow West Point alum's tenure as president (before he was President):
Eisenhower, when he was president of Columbia University, presided over the creation of new sidewalks. People said, “Where should we put the sidewalks? What’s the best design?” He said, “Do nothing for a year. See where the students walk, naturally. And where they have beaten a path, put a sidewalk.”
This bottom-up approach to planning has come to be known as cowpathing.
What is a Cow Path?
A cow path (also known as a desire path) is a dirt path beaten into the ground by a herd of cows.
No one tells the cows where to make the paths. There is no coordination among the cows. The paths simply emerge over time in the areas where it makes the most sense for the cows to walk.
Economists refer to this concept as spontaneous order.
Allocating Software Development Resources
Enterprise software development projects are risky affairs.
A large organization can easily spend six to eight figures ($100K - $10M) on such a project. What's more, there is often more than one possible project under consideration for funding. With so much at stake, how do you decide where to invest your development resources?
One approach is to ask the primary stakeholder for each proposal to make the best case for why their pet project should receive funding. Of course, that assumes that each stakeholder can make the best case possible for their proposal. In reality, the winning proposal is as likely to be determined by the skill of the presenter rather than the merits of the project.
A different approach would be to build a proof-of-concept for each project in a Microsoft Access database. While the application may not be as robust as a traditional software development project, the features are more likely to match the needs of its users. That's because Access projects tend to grow organically over time; features are added as needs arise.
At the end of the evaluation period, it's likely to be quite obvious which project is most important to the organization.
Minimizing User Feedback Loops
The best way to improve the quality of any creative endeavor is to shorten the feedback loops with your audience.
In the case of software development, this means frequent input from users as it pertains to real-world use of the system. Access excels at this sort of development. Most Access developers were using Agile Methodologies long before it was a Silicon Valley buzzword.
Access application development generally follows the Eisenhower planning method: let the users beat down their preferred paths through the application while continually tweaking the app to conform to the emerging traffic patterns.
Paving Over the Cow Paths
I'm not saying that the Access application will take the place of the enterprise software development project.
Remember, at the end of the evaluation period, Eisenhower poured concrete sidewalks. There is a very good chance that the Access application will need to be replaced over the long term.
But that is a good thing.
It means that you have proven the need for the software. You will have significantly decreased the amount of risk involved in making your big decision. You can confidently commit the resources necessary to complete that large-scale software development project.
Of course, you might also decide you don't need sidewalks at all.