In this final chapter, we take a look at how service virtualization plays (or can play) a role in some of the major IT trends from recent years, such as Agile and lean software development and the Internet of Things. We’ll explore realistic scenarios in which service virtualization has a positive impact on software development and testing efforts within each of these trends.
The practice of Agile software development, especially its popular Scrum variant, involves cross-functional teams that incrementally deliver working software every couple of weeks. In each iteration, or sprint, software is developed, tested, and presented to the stakeholders, which might lead to adjustment of the goals for the next sprint(s) or even for the remainder of the development trajectory.
Being able to deliver working software iteratively requires of the development team that it be able to rapidly and continuously assess the quality of the product, often through means of automated testing. This is impossible without having the required dependencies and test environments in place and correctly configured throughout each sprint.
If the team must wait until the end of every sprint to perform the necessary testing because dependencies have not been delivered on time or test environments are otherwise unavailable, the risk of sprint goals not being met and the project degrading to “iterative waterfall” increase ...