IT is often accused of being misaligned with business objectives. One of the biggest problems is that managements see IT as slow to adapt to ever-changing business conditions. A sound middleware strategy can give IT an agile platform to support where the business wants to go. A well-defined middleware strategy should separate presentation - what the user sees - from business logic. It should also embrace code reuse, which, ultimately, will help IT to deliver applications quickly.
Staffing a team for a middleware project can be tricky, and the key role to fill is that of the architect, says Dave Murphy, a vice-president at middleware vendor Tibco who heads the company's professional services division. The architect's task is to define not only the initial configuration of the middleware technology, but also the deployment strategy for rolling it out, and the monitoring processes for the live system.
Gurvant Pattni, a middleware project specialist at IT consultancy Quantix, says a middleware development project will also need a network specialist, an expert in the operating system on which the project is being deployed, a database administrator, and application specialists who understand the systems being integrated. Also, Murphy says, organisations should involve their operations and system management teams in the project as early as possible. "One of the keys to successful deployment is to involve them at a stage when they can influence the design," he argues.
Although these roles do require some initial understanding of middleware, staff filling them should pick up most of what they need to know during the course of the project. The overall project manager also doesn't need to be greatly familiar with middleware, says Murphy, but does need experience in managing enterprise-level projects that affect multiple systems and departments.
Whether you choose to fill these roles by training existing staff, hiring new permanent staff, bringing in contractors or outsourcing to an IT consultancy will largely depend on the complexity of the processes you are trying implement, how critical they are to the business, and the number of elements you are trying to integrate, says Murphy. "If you're dealing with core functions where you need to own the architecture, for instance, you'll want to upskill your own staff."
Peter Carter-Greenan, a lead instructor with Firebrand Training, which delivers accelerated learning courses for various kinds of middleware, agrees, "By upskilling, you are investing in staff who have an existing knowledge of your infrastructure and have already proved themselves," he says. "Hiring new permanent staff means you have none of those advantages, and the chances are that you will have to pay them a higher ongoing salary. On the plus side, you don't need to invest in initial training, and can keep existing staff in roles where you know they perform well."
Contractors may be a good option if this is your first middleware project because they will enable you to deliver the first implementation more quickly and you can use them to transfer knowledge to in-house staff, who can then handle further developments. The downside, says Pattni, is that they won't be as familiar with the business and the systems being integrated, which could delay the project.
Hiring contractors is likely to be more expensive than hiring or upskilling permanent staff. Figures from IT Jobs Watch suggest contract rates for Java developers average about £430 a day, while rates for .net developers are a little lower at about £370 a day. Salaries for permanent Java roles start at £45,000 a year, while those for .net developers are again lower, about £37,000.
The final option is outsourcing a project or bringing in an IT services company. Pattni says this approach will give you easy access to a pool of middleware experience, and the contract can be written to ensure delivery on time. But Carter-Greenan warns, "While outsourcing can have the obvious advantage of bringing in all the required skills through a single contract, the main disadvantage I've experienced is that it can be harder to enforce service-level agreements and deadlines without the direct reporting and responsibility you get from an in-house team."
A good compromise, Pattni suggests, may be to use an in-house team but to supplement it with spot skills from contractors or consultants who really understand the technology and who have experience of multiple implementations, when it comes to tasks such as setting up monitoring and management processes. You are likely to source this consultancy through third parties: although most middleware suppliers provide consultancy services, they tend to work only with the largest organisations.
If you want to upskill your existing staff, you can turn to suppliers and independent training companies for middleware courses. Staff attending these courses will need a grounding in most areas of IT, including a basic understanding of operating systems - because middleware components are now integrated into most operating systems - as well as application software, database management and service-oriented architectures. Trainees attending Firebrand's .net courses, for instance, are expected to have used either VB.net or C# for at least a couple of months, and most have about six months of hands-on experience.
Typical full-time middleware courses last between one and two weeks and may cost up to £1,600 per trainee, but staff should be able to move immediately into a developer or lead developer role on a middleware project.
IT managers need to ensure the team they deploy on a middleware project is not only technically adept, but can also demonstrate experience in change management, which can make or break a project.