Implement a Pilot Program
First and foremost, it’s important to not overinflate the whole team’s expectations. In other words, start small - select the right pilot project, and roll out additional virtualized APIs as your organization sees successes in your initial implementations of API virtualization.
In the first iterations of your pilot, your goals should be to familiarize yourself with your new API virtualization tool, prove it works, and project how much time and effort it will save you in the future. Some tips: don’t select a new API that’s in development, or one with several interfaces, or one that calls multiple third-party APIs. Start by picking one small, stable API that seldom changes.
It will be tempting to initiate your API virtualization program based on a major pain point in order to prove that your API program can solve all of your existing API woes. However, in some cases, the complexity of the problem will overshadow your initial goals. The risk in piloting your program based on a problematic API is that due to complexity and high visibility, should your initial implementation require fine-tuning, the perception of failure can doom your program’s future. So, follow this process: familiarize, prove, project.
Pick the right team
You don’t always get to handpick your team. But to ensure the pilot succeeds – and your API program gets adopted you need a small innovative team. Select team members who are positive and imaginative, people who want new ideas to work. Second, find a project champion.
A dev manager or scrum master who already believes in the technology and how it can benefit is ideal.
Their enthusiasm can help drive the team forward and later can help socialize the technology across all of DevOps.
It’s likely that you already have employees in your organization that meet the criteria above. Make sure that you seek them out and make a case to build them into your team – you need their positive attitude to succeed.
Evangelizing the Results
It’s important to set specific and realistic goals for the outcome. There are several possible results that can occur during a pilot, such as personnel reassignment and project reprioritization.
APIs may also change rapidly, causing team members to lose sight of the value of virtualization, so defining success for your project is crucial. Be specific, and don’t hesitate to state exclusions – tangent issues that can kill a pilot.
Lay out your project plan or your first sprint, and go meet those goals. As you’re rolling out your first virtualized API, don’t hide your progress along the way.
You don’t have to detailed emails each day to the whole department to socialize how your implementation is progressing. But your team will benefit if you’re vigilant about communicating results. Let your organization know you’re doing something big – and they will reap the benefits. Broadcast your success - post messages or articles on SharePoint, Yammer, Jive or whatever enterprise social network you use. Host brown-bag lunches to answer questions.
Publish yourself in internal communications or e-newsletters, focusing on the broader benefits or API virtualization to groups besides your own.
Of course, there will be skeptics along the way, and you need the rest of DevOps to not only accept, but embrace your virtualized API program. Because naturally, the program will not be a success if your virtual APIs go unused by the stakeholders for which it was designed.
Some people are naturally open to new technology and new processes – you probably picked those for your pilot team. Others are entrenched with “the way we’ve always done things.” After all, change is hard, especially without proven benefits.
So how can you counter that inertia? Paint the broader picture and be transparent. Make sure that you communicate the following often: the reason for virtualizing your APIs, the method for implementing your pilot, and the results as compared to project goals.
Ensure your organization is aligned on the checklist for API virtualization tool selection. Be honest about what successes you saw in your roll out, and what improvements could be made in future iterations of your virtualized APIs - focus on the positive, but don’t hide the negative.
And finally, let the numbers talk. The beginning of this guidebook outlined the benefits associated with API virtualization – these are actually not difficult to quantify:
- Staff hours or days saved: How many hours did your testing team work on a virtualized API while the production API was still in development? What would the time implication have been if these processes were not parallel? Given the cost of staff, how many man-hours and dollars were saved?
- Time to market shortened: Using the hours above, how much sooner were you able to deploy your API and move forward with the next development cycle?
- Pay-as-you-go 3rd party API costs reduced: You already know how much you have paid to test 3rd party APIs, historically. How much was that cost reduced?
For the pilot, these numbers may be small or non-existent. But for future implementations, keep the above questions in mind and make these calculations as a method to prove your success. There are a few important talking points you can use to lead the conversation about why this is a critical tool for your organization:
- Front-ends depend on APIs: Your team can’t afford to leave testing APIs to later in the software delivery lifecycle. The performance and functionality of your application depends on the APIs that power it. Virtualization allows you to speed up the testing process, without having your QA team wait for dev to put APIs into production.
- Testing the real API isn’t always feasible: Whether you’re waiting to test an API that’s being developed internally or have limited access to a third-party API, virtualizing your APIs will help. Don’t leave the performance of your application to chance.
- You need more control, not less: Virtualization provides a level of control that is not possible when depending on third party APIs. As teams push to deliver high-performing applications, on time and under budget, having the control you need will be even more critical.
- Virtualization cuts down on unnecessary wait time: By replacing downstream components with virtual APIs, you remove the wait time that’s traditionally involved in developing APIs. Because testers aren’t losing time waiting for an environment to be ready, you’ll be able to shorten test cycles and improve QA productivity.
- Automating with virtualization helps you refocus testing efforts: Rather than spending time and resources dealing with the challenges outlined in this eBook, virtualizing your APIs enables you to setup a system where testing for your applications are setup and run automatically. This will help you refocus your testing efforts to improve performance and security.
- The whole team benefits: Everyone from developers to testers, designers and stakeholders who are vested in getting applications out in a high quality manner will benefit from API virtualization.
Selecting the Right API Virtualization Tool for You
As the connected world grows, teams face increasing pressure to release high quality applications quicker than ever before just to maintain a competitive edge. Finding the right people and processes are great first steps to successfully launching lightweight API virtualization to your team, but you need the right tools to accomplish your goals quickly and painlessly. Here are some features you’ll want to consider when virtualization solutions:
- Web protocols – SOAP, REST, JMS, other?
- Payloads: XML, JSON, XML-RPC, JDBC, other?
- Ease-of-use: Installation, setup, configuration and support?
- Lightweight: API virtualization versus server virtualization?
- Simulations: Support for latency and error simulation for 3rd party APIs?
- Training requirements: Can existing resources standup and modify an API?
- Scalability: Support for performance and load testing?
- Evaluation copy of full-featured product?
- Quality and responsive support and assistance?
Virtualization in ReadyAPI helps you deliver great applications on time and under budget, and does so for a fraction of the cost typically associated with traditional enterprise service virtualization suites.