More and more, I find myself asking vendors and companies the same questions over and over. If you're thinking about developing your own application, these are 3 features that need to be integrated from day one in your application if you wish to conserve resources later.
Does your application…
- Have an API? It doesn't need to be special or a web service… any ol' plain XML will do. We will want to integrate it into our application some day to automate and make it easier for our clients to manage having multiple technologies. If I were to start an application today, I would work from the API out, worrying about the User Interface after… perhaps even having the UI integrate via the API to ensure we've built it well enough.
- Have an Agency Feature? We want to sell our clients into your application, but we'd like to be able to manage it for them. Here's an example: Why don't Domain Registrars have Agency Accounts where the client can maintain ownership of the domain, but the Agency can manage… and even pay… for the registration? I wrote my registrar tonight and recommended this.
- Have an Enterprise Feature? More and more companies are just collections of smaller ones. Reporting should aggregate at as many levels as an organization has. President to Division VP to Regional Manager to Account… everyone should be able to have permissions for access as well as summary reporting at any level in between.
The typical requirements of actually doing what it is you need as well as the security requirements always apply; however, the requirements I mention above are often overlooked or put on the backlog to be developed later. They wind up collecting dust on the backlog, as does your company's software.
If I were a Venture Capitalist funding technology businesses in the Web 2+ world, these would be my essentials. If you're not at least planning these features, I believe I'd take my money elsewhere. If I'm a prospect, I often do.