If it's true that change is good, then 2010 ought to be a banner year for software developers, at least according to a new report entitled The Top Five Changes For Application Development In 2010 from Forrester Research.
So what kind of change can programmers expect? According to analysts Mike Gualtieri, John Rymer, and Jeffrey Hammond who authored the report, five changes will trump all others:
- Developers need to embrace cloud computing as an emerging platform. In particular, developers need to focus on public clouds like that from Amazon Web Services and salesforce.com right away. Why? Because public clouds will let you:
- Speed delivery of custom applications.
- Scale up and down.
- Access clouds from three entry points -- IaaS, PaaS, SaaS.
- Cloud computing is well suited to big data and many Web apps.
Moreover, according to the report, access to clouds like Microsoft Azure, included with the Visual Studio 2010 license, are available now and don't cost anything but time to get up to speed with.
- Even big shops need to think -- and act -- like little shops. Enterprise-level application development groups need to operate like startups. Successful startups:
- Have limited resources, focus on what is most important, and have little room for missteps, and every line of code they produce needs to solve a business problem and be linked to revenue.
- Successful startups don't adopt elaborate processes and expensive platforms. They have just enough business-focused process and technical tools and platforms to get them to a solution as quickly as possible.
- Respond quickly to changing customer requirements and competition, sometimes making big shifts very quickly.
- Flexibility and cost are more important than platform loyalty. .NET and Java EE are the top dogs, but Forrester is seeing low-cost alternatives like Adobe Flex, Apache Tomcat, The
Dojo Foundation, Drupal, Google Web Toolkit (GWT), Open Source Matters Joomla!, Red Hat JBoss,
Ruby on Rails, SpringSource, and the Zend Framework gaining traction. Dev shops need to assess existing projects and determine whether they are overbuying software and hardware in the name of standardization.
- User experience will be increasingly important. Users increasingly expect and demand an experience that's valuable, easy to use, aesthetically pleasing, and emotionally satisfying. The user experience has definable business benefits, including:
- Customer will be willing to purchase. Forrester Research has found that, on average, companies that provide a superior customer experience have 14% more customers who are willing to consider them for another purchase.
- More customers will resist doing business with competitors. Compared with companies that offer a poor experience, companies that offer the best experience in their industry have 16% fewer customers who are likely to consider doing business with a competitor.
- More customers will recommend you. Companies with the highest experience scores have 17%
more customers who are likely to recommend their products or services compared with their
Forrester suggests that developers immediately start making user experience design best practices part of their app development process.
- Find, coach, and keep the best software developers. Forrester has found that the top qualities of great developers is their understanding of the business domain and their technical skills. Great talent has both. You find top developers by:
- Raising your standards beyond just skills. You need application developers who know how to devour business requirements, break down a problem, find creative solutions, and write clean code.
- Finding talented application developers who may be hiding in plain sight. Review your current application development professionals through the lens of both skills and the other skills they bring to the table.
- Assessing smarts, not just skills and experience. Smarts can often trump experience and skills.
- Empowering application development talent in the business.
According to Forrester, each of these five changes will force considerations of broader change, but lead to a more efficient application development organization.