Developing Continuous Services : Real world experiences of the Team Foundation Service engineering team
Play Developing Continuous Services : Real world experiences of the Team Foundation Service engineering team
Continuous services are rapidly emerging as essential ingredients of the portfolios of packaged software development and IT organizations. Continuous services enable organizations to extend the reach of their products and services at an internet scale. Whether investing in a new online delivery model for a product or enabling connected device experiences for existing solutions, continuous services are essential components of a software organization’s portfolio in the modern and always connected world. Internet scale, Always on and Continuously evolving are 3 top level traits that distinguish continuous services from conventional boxed products and IT applications. Transitioning from shipping long cycle time boxed products and IT applications to delivering continuously evolving internet scale services, requires a re-imagination of the conventional app lifecycle and development practices. The TFS team had followed a process of developing in milestones and shipping a boxed product every two to three years. In 2011, we commenced our transition to a continuous services cadence to deliver continuous customer value at a faster pace and extend the reach of our solution. We deployed our new online service (tfspreview.com) in April, 2011 and began the transformation to an online service team that also ships an on-premises server product. After struggling with large updates, we realized that shipping frequently would reduce risk and increase agility. We realized that the continuous delivery cadence could also be applicable and of value to our on-premises product rollouts. We now successfully ship the TFS service every three weeks, and we are beginning to ship the client and on-premises server updates at a quarterly cadence. In this session we describe our experience making these changes and what we have learned in the process of transitioning to the new delivery cadence.