All too often, I hear the question, “how much will it cost to build this type of application?” With the proliferation of SaaS applications, you’d think companies were just about ready to move away from custom software development. They’re not, however, things have changed:
1) Cloud Apps and Cloud Services – Companies are building stuff on the cloud (that runs on the cloud). We witnessed the growth of SaaS-based companies, like Mint and Salesforce. We’ve seen online marketplaces emerge — Groupon. We’ve stumbled onto new web services, such as BancboxCrowd and AdRoll. Essentially, we’re seeing the cloud ecosystem come to life and everybody getting involved. So companies are buying SaaS apps and the service providers are either building their own SaaS app or working with a software vendor as an outsourced software development team.
Obviously, if companies are building stuff on the cloud — they’d need help with people who understand the cloud. We’re not really short of cloud offerings today (just have a look at number of SaaS-based marketing solutions available), and that’s a good thing.
Incidentally, Java is still selling! Java has been a big part of the major application development technology trends of the past decade. As simple client/server applications moved to a service-oriented architecture, and now, as enterprises are moving into cloud architecture and mobile applications, Java has continued to be a major force in enabling these technologies within the enterprise.
Here’s an interesting read: Where have all the Java developers gone?
2) Agile Development – It’s no longer enough. What I mean here is that other components of the organization today has adopted the “agile” mindset, and not just agile software development. Ever heard of agile testing? Even folks in the business development group are encouraged to practice scrums and iterations. This means we’ll have more engaged customers, and necessitates some creativity and flexibility on the part of the outsourced software team in bringing new development trends, new skills such as mobile development, and quick turnaround work.
3) Options, options, options. Build in-house. Contract with an offshore software team. Hire consultants. Or perhaps execute a hybrid approach. Some organizations prefer the hybrid approach to get the best of both worlds. A good friend tells me, “the world is flat now so that means any company can work with engineering talent from the Philippines, India, or South America as long as they deliver.” It’s absolutely essential to find the right dedicated people who will help you grow and understand the value of “success together“.
Our customer tells me that, “Common practice I see occurring in fixed price arrangements is developer service providers racing to the bottom with the lowest prices possible in order to secure the work. I guarantee that this insanely cheap price will be too tempting to ignore. I also guarantee that this will result in shoddy work, and a very poor customer experience. The customer becomes trapped as it becomes a very expensive exercise to change development providers, it then becomes a re-negotiation with the existing provider to attempt to save the project. I’ve seen it happen first-hand in large private enterprises, in publicly listed banks, and small development projects, and it happens nearly every time.”
And what about platform options? Do you build in Ruby on Rails, or Java? Do you build mobile-first?
What have you observed?