Faced with budgetary and time limitations, companies are using Web 2.0 technologies to speed, simplify and reduce the cost of software development. Making individual software components reusable and interoperable—like children’s building blocks—means these components can be rearranged and combined without limit to meet the demand for larger, more complex applications. However, we believe that to take full advantage of the software development benefits afforded by Web services, a business must understand the new principles of development engagement.
At MasterCard, we established these principles when our teams worked on two public-facing applications based on Web services. The first, Find-A-Card, was produced by multiple teams working together to deliver a sophisticated, powerful online product that enables MasterCard-affiliated banks to easily market their card products. Find-A-Card’s intuitive, rich user interface enables consumers to determine which credit or debit cards best suit their requirements by answering a few basic questions about their preferences regarding interest rates, card features and introductory offers.
The second application, ATM Locator, harnesses the power and popularity of Google Maps to create MasterCard Location Services. This expands a successful mashup with our existing ATM Locator application to enable search capability for merchants accepting MasterCard PayPass cards, prepaid Travel cards and ePower gift cards.
User searches yield the familiar Google map format, with icons indicating each service location. Location Services can be customized to meet specific branding needs, allowing it to integrate seamlessly and effortlessly into any delivery channel.
Based on these experiences, we’ve devised these four guiding principles to keep in mind during any application development involving Web services.
1. Application developers have to be more than just good coders.
In the past, software developers merely took orders from the business owner, but they now must consider themselves full partners in the business and act accordingly. They need to understand the business’s objectives and requirements backward and forward, so they can design and build applications based on how the business operates, rather than creating applications to which the business must adapt.
This means that developers must move their technology expertise to the background and act like members of the customer-facing staff. They must help drive the organization forward by anticipating future business needs—and make sure to explain how the technology can be leveraged to help create practical solutions that will serve those needs.
Individuals who do this will elevate their worth to the company and become known internally as “business technologists.” It can’t be said often enough that advancing the business is the obligation of every team member.
In addition, application developers must keep a clear destination in mind. The current half-life of business software is relatively short, so what developers build must be stable and be usable for a short period—and then lend itself to being repurposed, rebuilt and enhanced.
The business and technology teams behind Find-A-Card agreed from the project’s start on a few overriding objectives. These included employing a common, parameter-driven back end that could be implemented quickly in many different languages and achieving seamless integration into other Web sites and delivery channels.
In addition, both sides reached consensus regarding the revenue-generating potential of the finished product: It was quickly agreed that lowering our customers’ acquisition costs and increasing card-application approval rates were essential to making this product a success in the marketplace.
The payoff? Although Find-A-Card’s overall development time was comparable to that of earlier one-off Web applications, this platform can be rapidly and easily reconfigured to accommodate new countries and other languages. Follow-on implementations, which once required three to six months of additional development, can now be accomplished in a day.
2. Managers must realign their organizations to foster Web services.
The attitudes and methods that organizations have traditionally used to develop core software systems do not apply in a Web 2.0-driven world. Managers have to commit to altering their organizational structure and culture. From the CIO down, supervisors must acknowledge that utilizing Web services is totally unlike building other customized software: It requires vigilance, constant management attention and repeated reinforcement of why it has value to the organization.
Successfully implementing Web services requires that all members of an organization share technology and best practices across silos, so that the software applications produced will be compatible and interoperable. That may require changes in corporate governance, less reliance on top-down directives and greater emphasis on midlevel cooperation. Compensation policies might also need to be adjusted to reward managers and developers who demonstrate that they can collaborate effectively.
Companies need to select a few senior-level technologists to make sure that the appropriate application development guidelines and procedures are adhered to throughout the organization. Such individuals should be charged with thinking across organizational boundaries and ignoring old-style concerns that an application might be “not invented here.”
They should also verify that new applications use available software components or facilitate future reuse. The best candidates for this role will think fast on their feet and bring credibility and persistence to the task.