OUTSOURCING PRODUCTION SUPPORT

Similar documents
The Structure of a Software Development Team

Agile Development for Application Security Managers

AGILE SOFTWARE TESTING

Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

How to Build an Enterprise App in 5 Days 1

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

How To Benefit From An Automated Deployment

Establishing your Automation Development Lifecycle

Distributed Agile Development in the Cloud

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

SOFTWARE LOCALIZATION FOR AGILE, WATERFALL, AND HYBRID DEVELOPMENT

Improving Java Migration Outcomes with Rapid Assessment

Bridging the Gap Between Acceptance Criteria and Definition of Done

From Agile by Design. Full book available for purchase here.

DATABASE VIRTUALIZATION AND INSTANT CLONING WHITE PAPER

8 QUESTIONS YOU SHOULD ASK WHEN BUYING A CASH MANAGEMENT SOLUTION

Your Guide to VMware Lab Manager Replacement

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Managing Agile Projects in TestTrack GUIDE

Process Increments:An Agile Approach to Software Process Improvement

Develop enterprise mobile applications with IBM Rational software

A case for specialized BPM Support and Operations

Henrik Kniberg Agile Product Ownership in a nutshell

Getting Started with Kanban Paul Klipp

Effective Team Development Using Microsoft Visual Studio Team System

SHIFTING (CLOUD) GEARS

Agile support with Kanban some tips and tricks By Tomas Björkholm

Private cloud computing

Simplifying Human Resource Management

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Blackbird Management Suite Blackbird Group, Inc.

Managing Vulnerabilities for PCI Compliance White Paper. Christopher S. Harper Managing Director, Agio Security Services

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Manage projects effectively

As the use of agile approaches

By Alan Bustamante & Rahul Sawhney

Improving database development. Recommendations for solving development problems using Red Gate tools

ISTQB - Certified Tester Advanced Level - Test Manager

SAP Managed Services SAP MANAGED SERVICES. Maximizing Performance and Value, Minimizing Risk and Cost

!!!!!! "#$%&'&()%*+,-))!.'',(+-$(/#!0%,%-)%!.1$/2-$(/#!.!3%)$!4&-+$(+%!!!!

Lean QA: The Agile Way. Chris Lawson, Quality Manager

The Benefits of Deployment Automation

QUICK FACTS. Providing Application Development and Data Migration Support for a Leading Healthcare Company

WHITEPAPER. Improving database development

When to use Agile/Scrum

Kanban. Marek Majchrzak, Andrzej Bednarz Wrocław,

Testing in a Mobile World

An Introduction to Agile Performance Management

Recruitment and Selection

White paper: Developing agile project task and team management practices

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS.

The Following Is A Sample From Call Center Basics! Some Call Center Basic Terminology!

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Kanban kick- start. By Tomas Björkholm at Crisp, April 2011

Achieve Economic Synergies by Managing Your Human Capital In The Cloud

Agile So)ware Development

Best Practices for Monitoring: Reduce Outages and Downtime. Develop an effective monitoring strategy with the right metrics, processes and alerts.

Customer Activation. Marketing with a Measurable Purpose

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

business communications

When companies purchase an integrated learning

CRM Integration Best Practices

A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

Don t skip these expert tips for making your firewall airtight, bulletproof and fail-safe. 10 Tips to Make Sure Your Firewall is Really Secure

With managed services, you can:

Role Based Access Control: Why Groups Aren t Enough

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

A Guide To Evaluating a Bug Tracking System

Service catalogue and SLM: eight steps to success

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

SharePoint Managed Services: How to Make SharePoint Work for You

Key Benefits of Microsoft Visual Studio Team System

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Suggestions to Enhance Communication

How To Protect Your Network From Attack From A Network Security Threat

Basic Trends of Modern Software Development

A quick guide to setting up your new website

Grow Your Business with Confidence

White Paper. Managed IT Services as a Business Solution

Transcription:

WHITE PAPER Managed Global Software Teams OUTSOURCING PRODUCTION SUPPORT How to Engage a Remote Team with Minimum Risk

THE SITUATION You re slammed. The list of projects and requests keeps growing. You re responsible for a complicated ecosystem of applications that support every part of the business. You and your team are overloaded and while you need more help, you re wary of outsourcing support of live production applications to a remote team. What if it takes too long for a remote team to learn enough to be efficient? What if they are never efficient and you spend more time trying to manage them than it s worth? Here s one proven way to engage a remote team with little risk to uptimes and quality. The Solution: Tech-to-Tech By linking a technical person from your team with a competent technical lead from the remote team, it s possible to efficiently ramp up a team in a different location and time zone to support an application. We call this solution Tech-to-Tech. The technical person from your internal team must have broad domain knowledge and access to stakeholders. This person s technical background makes it easier to communicate and understand priorities and timelines. Let s refer to this person as the Backlog Owner, the only person with the authority to add, change, prioritize, and remove work items. As a result of having deep domain knowledge, the Backlog Owner is able to clearly document and explain requirements as well as make sound decisions to prioritize the team. The Team ROLES A team of full stack developers (at least somewhat familiar with each layer) and testers is led by a Technical Project Lead. Due to the changing needs in supporting a production application, full stack developers are more efficient because they pick up a wider range of work items. When you have a team of specialists and only one person has a specific skill set, that team member becomes a bottleneck. Using full stack developers and best practices like code reviews and knowledge transfer sessions, the team shares both technical skills and domain expertise. When team members can back up each other, you ll see greater efficiencies throughout the iteration. We also require software quality engineers (testers) who can cover the full testing lifecycle. Most importantly, we include as much test automation as possible. Depending on the application we are supporting, we may opt to require all developers to split the work of writing test scripts and testing their own work. In some cases, depending on the application, we do not need testers on the team. The outsourced team will need some time to ramp up on the business and domain, but with guidance from the Backlog Owner, its members will gain this knowledge and become increasingly efficient over time. Here is the minimum team configuration: FULL STACK DEVELOPERS TEST ENGINEERS SME OR BACKLOG OWNER TECHNICAL PROJECT LEAD DATABASE DEVELOPERS SIZE Ideally the team structure is between 5-7 (sometimes 7-9) people. With a team of more than 7 (or 9), we may experience communication overhead. With a team of fewer than 5, we may be missing some skills, suffer from lower velocity, and assume risk during the inevitable sick days and time off periods. WHITE PAPER: Outsourcing Production Support: How to Engage a Remote Team with Minimum Risk 2

THE WORK Once you ve assigned a Backlog Owner, you might wonder how to most efficiently manage or groom the backlog. We recommend the following strategies: 1. Break down the backlog according to fixability. Each work item is either a bug or enhancement/new feature. 2. The Backlog Owner and the team work together to classify and estimate backlog items. 3. Typically bugs and issues take higher priority by default. In the simplest form of categorization, each product item will be designated as new, work in progress, or complete. Changing Priorities And now folks, for the biggest challenge we face in supporting a production system: priorities change daily depending on business needs. How do you combat this challenge? TACTIC #1 Make the work in progress as small as possible. When priorities continuously shift, quickly completing smaller work items makes the team nimble. The overarching idea is to ensure you don t overcommit yourself to larger work tasks. Even if an iteration cannot be completed, a team member can easily wrap up a task and shift to something new. This approach is great for keeping the team feeling accomplished and successful and ensuring you have happy project stakeholders. TACTIC #2 Maintain your backlog on a daily basis. Daily review and grooming may be tedious, but it s necessary for optimal team efficiency. The Backlog Owner adds new backlog items based on stakeholder requests, shifts priorities as needed, and reviews completed items. And remember Tactic #1! Large work items are complicated and often require too much back and forth to ensure the item is built, tested, and released on time. TACTIC #3 Branch your code. Get your team in the good habit of code branching. This way, if anything is in progress, it will not impact the main or production branch. When you pick up an item to work on it, you create a new branch and only merge it back when it s ready to be delivered. If there is an urgent request in the middle of the week, we start from the production branch, create a new branch, make the changes, and merge it back in without impacting the production branch or the work-in-progress items. To keep your team efficient and ensure the business/ client sees a short- and long-term return on its investment, create a category in your backlog called Technical Debt. When the backlog contracts, the development team will switch gears to focus on reducing the technical debt every system accumulates. It s definitely good practice to go back and refactor, maintain, write more test scripts, etc., when you have the capacity. WHITE PAPER: Outsourcing Production Support: How to Engage a Remote Team with Minimum Risk 3

THE SCHEDULE With production support, it s all about continuous delivery. With this in mind, we suggest you maintain weekly releases. Start by measuring the strength of the team and its velocity. Using this as a basis, create an achievable weekly release schedule. By sticking with weekly releases in addition to smaller work tasks, you will be able to better control changing priorities and adjust quickly. More Benefits of Weekly Releases Happier stakeholders and internal clients. They ll feel the positive impact of frequent releases. Structured for efficiency. Weekly releases encourage teams to implement test automation because manual integration tests are time-consuming and tough to fit into a weekly cycle. Better measurements of workload. By consistently measuring the cycle time or amount of time it takes for a task to move from start to release, the team will forecast the time it will take to complete future work with greater efficacy. Tools Ideally, you re using a robust tool like Team Foundation Server, but you can also track a backlog in something as simple as Excel. If TFS is too large an investment for you, start a smaller team with TFS Online. It s free and should be sufficient to get a team going. When you see the value and you re ready for advanced features or need to support larger or multiple teams, you can always upgrade. TFS also comes with templates that support methodologies that are a good fit for production support teams like Kanban. WHITE PAPER: Outsourcing Production Support: How to Engage a Remote Team with Minimum Risk 4

Managed Global Software Teams WHY INTEGRANT In a perfect world, Agile software development teams work side-by-side, but in the real world this is not always possible. Outsourcing is one way to quickly add new technical talent, but quality is often an issue. With Integrant, you no longer have to compromise on quality when you extend your team because our focus is on providing quality service and a quality experience that leads to quality software. We ve created a proven model that facilitates our ability to build, extend, and manage global, distributed, and remote teams. Our Tech2Tech connection supports true collaboration among developers and testers within remote teams that s unprecedented in the outsourcing world. Contact us to learn more about how we can extend the capabilities of your internal development team. LONGEST CLIENT ENGAGEMENT 10+ Years and Counting! On average our clients partner with us for 5 years. AVERAGE EMPLOYEE RETENTION 5yrs Our employees are full-time, with benefits. IN BUSINESS SINCE 1992 Founded and headquartered in San Diego. LET S TALK CO-DEVELOPMENT We d love to hear about your custom software needs and how we can partner. Contact us today. Contact Integrant 858.731.8700 phone info@integrant.com 5405 Oberlin Drive San Diego, CA 92121 www.integrant.com