SOA helps ADP deliver new services to customers, but the development process can be complicated and fraught with problems.
Service-oriented architecture has been a huge time-saver for Automatic Data Processing as it expands into markets beyond its flagship payroll services business. Software components created to support its payroll business--such as one that records a customer's contact information--can be used for ADP's time and labor management, human resources, benefit administration, and other services.
SOA helps speed new products to market and sell more IT-based services. That's important to ADP, which ranked No. 2 on this year's InformationWeek 500; expansion beyond payroll services is a big factor driving its growth, with sales in the fiscal year ended June 30 up by 10% to $8.5 billion. But SOA is complex and introduces many problems as developers conceive, code, test, provision, and deploy new programs. At ADP, those problems become more complicated as different groups in the company use their own tools and methods to develop computer-based services to sell to customers. Creating consistency among productdevelopment teams and the services they create has become a major challenge.
To meet that challenge, ADP is creating a system to automate and synchronize software development, testing, and deployment. "This is the glue that allows us to take all these different software groups and bring them together," says Bob Bongiorno, CIO of ADP's biggest unit, Employer Services. The system uses BladeLogic's data center automation software running on Linux on Intel-based servers.
By automating the processes, ADP reduces the time to develop, test, and deploy IT-based commercial services by up to 70%. Manual processes that took nearly three hours can be implemented in about 45 minutes using the automated system. And the system will let ADP release multiple commercial services simultaneously, rather than one at a time. That will help in marketing the services as each can work seamlessly with the others.
But it's not only speed. Replacing the manual system with an automated one should eliminate common mistakes, such as using wrong IP addresses and server names. "As the environment gets more complicated, the problem gets bigger with SOA because everything is interconnected," Bongiorno says.
Automating processes also provides a consistent and repeatable test environment that captures existing and previously used components and procedures, thereby allowing better use of hardware and employees' time. A system audit trail tracks the entire life cycle of product delivery. That in turn makes complying with regulations as simple as clicking a check box in a portal window.
Role-based access controls in the system identify where one step in the workflow ends and another begins on the 1,200 Windows and Unix servers ADP uses to develop and test apps. That's important because ADP employs some 2,000 people--developers, testers, and operations personnel--for those processes. The system defines actions an employee can and cannot perform on the software at specific times as software evolves from creation through deployment.
Bongiorno says the system reminds him of how he deals with his children. "They're always getting fingerprints on everything, and I'm yelling at them, 'Don't touch, don't touch, don't touch!'" the CIO says. "We're doing the same thing with these different groups, so this gives us a more structured accessibility--who can touch things and at what stage of the process they can touch things."
Ensuring that only the right people deal with a program as it progresses through the development process is vital in an SOA environment, because problems introduced in one component could adversely affect a wide variety of product offerings. With each development unit at ADP using its own tools and methods to create software, it's tough to sustain uniformity between environments and debug defects introduced when data is exchanged.
Bongiorno doesn't expect the automated provisioning and deployment system to be fully rolled out until next July. Still, he expects better decision-making and more accurate planning to dramatically cut the time it takes to deliver applications, which in turn will reduce costs.
Systems such as software provisioning and deployment will become more important as companies like ADP partner with other businesses to offer joint products that depend on Web services. ADP sells payroll services to small companies that purchase Microsoft Small Business Accounting software, for example. "This is the linchpin in the middle of it that everybody is working on," he says. "Everything is so interconnected now."
Typically, when IT develops software that will be part of a commercial service, a demo shows top executives how the product works, which in turn helps win it funding. But when the demo illustrates an internal process, it often draws blank stares from the corporate chiefs who bankroll IT projects. That's why pilots are so important; they create a business case to demonstrate the value of a system.
"It isn't sexy, it's infrastructure," Bongiorno says. "It's the basic blocking and tackling, and it's blocking and tackling made more complicated because with SOA you added more dimensions to the field." Bongiorno declined to say how much ADP invested in the system or the return expected on it.
Those multiple dimensions can put stress on the common components. It's critical that components be constantly available because if one fails, multiple commercial services could stop working, resulting in hundreds of thousands of users being denied access to critical applications. Each component must reliably operate 99.99% of the time, not 99.9%, Bongiorno says. "If a single system failed once a year, that's pretty good," Bongiorno says. "But if you bought 12 products from us and had an outage every month, that's not very good. ADP would always be 'down' in people's minds, so we need to go to a higher level."
But with an automated system to provision and deploy software, Bongiorno sees few threats to the ADP brand from system failures. And that's a big accomplishment for a company moving into new markets.
Easier Software Development
ADP has multiple groups involved in the delivery of products and services and the software development involved in producing them. With each group applying its own tools and methods to the development process, it's difficult to maintain consistency among environments, debug defects introduced in exchanges, and perform maintenance and upgrades.
To smooth these processes, ADP has piloted a workflow, provisioning, deployment, and asset management system that spans the entire software life cycle. This system manages handoffs among groups, synchronizes application environments, and automatically delivers software into development, test, and production environments. Among the improvements are:
Upgrades and maintenance that previously took weeks can be performed in a single maintenance window.
Consistency and repeatability in test environments can be achieved through the capture of existing and previous environments, enabling better use of hardware assets and people's time.
An audit trail tracks the entire life cycle of product delivery, providing a controlled process that makes regulatory compliance as simple as a check box.