Everybody want’s an ‘App’. But software development is time-consuming and expensive. So here are some ideas to consider before developing your next ‘App’:
Focus on Data: Data is the be-all and end-all. Invest in the business process that capture and maintain data. Automate data collection and verification.
Focus on the Business Process: Know your business, know your processes. Most software will simply enhance or automate an existing process not revoluionise the business. Don’t start development until a clearly defined use case has been developed.
Buy, Don’t Develop: If at all possible, buy the software. Development and maintenance are expensive and time-consuming. Every line of code is a potential point of failure.
Budget for Upgrades: The sheer complexity of software means it is impossible to test every use case in the real. Any software that sees significant usage will show bugs and will require these bugs to be fixed. Furthermore, most users are not able to communicate what they want, and hence the product they specified, and the product that is delivered is unlikely to meet their actual needs.
Don’t Build Web Apps for One User: For single user applications, desktop solutions can be cheaper. The web is developing fast and web-based applications impose a significant development and maintenance overhead.
Don’t Build Single-Use Applications: If the software is only used occasionally to answer a single question, it may be cheaper to just pay for the answer. Don’t write an expert system to answer a single question once. The cost of developing and maintaining such a system will be greater than simply paying an expert forf the answer when and if it is needed.
Architecture Matters: No-one builds a house without a design, simply “telling” their bricklayer what the house should look like. But that is how most software is developed. By users “talking” to programmers. No design. No information architecture.