10 ways to implement fast IT without risking failure

Fast IT relies on flexible methodologies to deliver quick results. Here are 10 ways to do it effectively.

Image: iStockphoto.com/filrom

Many IT project spans have shrunk from 12 to 18 months--and down to two to six months--over the past three years. Business users and company customers want new applications faster, and the pace of business today demands innovative and experimental IT that works. But a lot of IT work must happen under the hood. These are the technical underpinnings (network configurations, database building, etc.) that must be constructed for applications to run on but that IT end users never see. The same users also don't expect to see many hiccups when projects are delivered in a rush. So how do you satisfy users by "doing IT fast," without exposing yourself to the risks of IT failures because of shortened times for builds, tests, and burn-ins?

1: Use cloud-based app development tools

IBM's Bluemix is an example of an application development toolkit in the cloud where you can choose the platform(s) you want to run your apps on, as well as the necessary app infrastructure for what you want to build. For instance, if you want to build an app for voice, you can virtually click on a telephone icon and the entire app infrastructure is built for you. You just need to add the business code. More sites are considering rapid app development tools like this because the tools can preconfigure apps and they are easy to use. This enables apps to be written and deployed quickly.

2: Document agreements with users for fast IT deliverables that might be less than perfect

Websites, especially if they are for the corporate intranet, are a great example of apps that users are happy to use in less than perfect states. In these cases, IT and end users meet. They define the website and its workflows. Then a prototype--one that actually gets placed into production and incrementally modified as new ideas and/or bugs come up--takes over.

The concept is uncomfortable and even chilling to most IT'ers, who are committed to strong app quality and checkout standards. But an increasing number of users, who are already comfortable with mobile apps failing and mobile phones dropping calls, are also comfortable with slightly flawed apps they can at least start using. This technique should be applied only if users are in total agreement that they would rather work with an imperfect but relatively functional app than wait for something more polished. This approach should never be used on an app that your end customers are going to see or on an app that must conform to rigorous governance standards.

3: Split projects into smaller, incremental deliverables

Many projects can't be done in two to six months, but they still have impatient business user sponsors. The best approach in such a situation is to split the projects into a series of bite-size projects, where users can incrementally see and use the functionality coming into existence in the shorter time intervals they are asking for.

4: Say no when you have to

The second approach for projects that are simply too large to meet short timeframes is to "just say no" to the requesting users. An ERP (enterprise resource planning) integration is an example of a project that will likely take more than six months to complete. In this case, you should explain to users in nontechnical terms why the project is complicated. They might not like what you have to say, but they will respect your integrity and straightforwardness.

5: Do your testing and application development off premises

For cost reasons, many large enterprises now use cloud-based services for development and testing of applications. However, there is an additional silver lining to this cloud. The cloud provider (whether you use IaaS or PaaS) can readily deploy the application development and testing infrastructure you require, and your internal staff doesn't have to do it. This can cut setup time for app development and testing, especially if your data center resources are taxed and you have to take them down, use them for something else, and then redeploy them all over again.

6: Use agile/collaboration

Agile software development is a methodology that relies on collaboration between cross-functional IT and end-user teams. It fits well with evolutionary application development because it builds strong communication lines between all app stakeholders. This creates a higher potential of success for the app.

7: Put users on application development and checkout teams

If you're being tasked with rapid application development, it's vital to have the requesting end users alongside you throughout the process--from the point where the app's requirements are first defined, through design, app prototyping, build, test, checkout, and deployment. Rapidly developed projects carry higher risks, so any corner-cutting to launch an app more quickly should be mutually agreed to and signed off on by end users and IT.

8: Don't accept major enhancements

If you're going to rapidly develop and deploy an application, the app's requirements should be thoroughly defined and agreed to by end users. There should also be agreement between IT and end users that no major enhancements will be made to an app with a tight launch date. Instead, new enhancements should be documented and then scheduled for a later release.

9: If possible, don't outsource

Applications that have to be developed rapidly and that demand constant interactions and collaboration between IT and end users are best developed in-house. That way, IT can focus directly on the work without worrying about coordinating project efforts with a third party.

10: Use known and stable platforms

IT departments that do a good job of developing and delivering apps quickly stick with computing platforms and methodologies they're familiar with. If you know that you will need to use a new methodology or computing platform for an upcoming project, avoid making a project deadline commitment that doesn't allow for learning curves and mistakes.

Also read...

Other fast IT strategies?

How does your organization take advantage of the fast IT concept? What projects have you led that required rapid development and deployment? Share your advice and experiences with fellow TechRepublic members.