When 27% of software development projects are delivered late, 21% are over budget, and 16% fail to meet end-user expectations, according to a CIO and iRise study, what are Chief Information Officers (CIOs) to do? For 42% of CIOs, mobile application development is high priority, but there are barriers.
The top five issues CIOs face
- IT skills and resources
- Budget – need to reduce costs
- Culture
- IT & business alignment
- Technology challenges – capability, reliability, systems availability, etc.
Why are so many applications set to fail, and what options are available to enable quicker delivery of better applications?
Waterfall approach versus agile approach
The traditional waterfall approach to software development has its limitations, especially when requirements are poorly defined or not meaningful in a fast-paced environment.
On the other hand, an agile methodology involves customers in all aspects of the development cycle — from the very beginning — to overcome these very drawbacks.
Application program interfaces (APIs)
Applications not taking advantage of APIs — which allow programs to communicate with one another — and those working with third party software that doesn’t offer APIs can significantly increase development time and make enterprise integration very difficult.
Piecemeal approach versus holistic planning
Many application development projects tend to start as one-offs to patch existing applications or implement niche software as a service. The challenge with this approach is that enterprise integration with other applications is difficult or near impossible, resulting in extended development time frames or inferior applications.
Automated development environment
The absence of a good development environment with infrastructure access, automated tools, and a dynamic interface can also increase development time and frustrate developers.
The following tips can help developers shorten timelines and bring greater success with user-accepted applications:
1. Build prototypes
Start with a mock-up or wireframe and adapt it based on user feedback. This can help reduce expenses and increase user acceptance. It’s always more expensive to rewrite code. Incorporating user feedback along the way can also help decrease the probability of rewriting major modules toward the end of development.
2. Rely on APIs
APIs enable faster application development in all areas. According to the MakeUseOf article, even the U.S. government has made APIs available via open data sets from open data initiatives. Many large social networking businesses such as LinkedIn, Twitter, and Facebook also enable developers to use open APIs.
3. Work with a backend-as-a-service platform
Backend as a service (BaaS) is a relatively new concept and a “turn-on infrastructure” for mobile and web applications. BaaS providers make it easy for developers to connect applications to back-end cloud storage and processing while simplifying setup. They enable user management, push notifications, and social networking integration. Application development is quicker with BaaS as developers don’t need to worry about infrastructure challenges.
4. Partner with a holistic MSP
Managed service providers (MSPs) come in all shapes and sizes. The right MSP can quicken your application development. In addition, the perfect MSP can assist with outsourcing and cloud hosting. Skill and talent gaps present significant barriers to on-time and on budget application development. An MSP with breadth and depth can provide you with the access to the talent that can overcome your IT and go-to-market challenges.
An integrated approach to application development is the best way to reduce timelines and deliver high-quality applications that meet user requirements. In addition, a visionary MSP with experience and resources can go a long way toward improving application development.