Harnessing the Power of Distributed Agile Teams: A Service-Level Orientated Approach Alan Ettlin Dr. sc. EPFL, Dipl. Inf.-Ing. ETHZ Senior Consultant
Agenda Introduction The temptation of outsourcing and offshoring Outsourcing and offshoring risks SLA-Based Model of Collaboration Service-based cooperation agreement Behaviour-Driven Development (BDD) Complexity-based estimates
The Temptation of outsourcing and offshoring Tactical cost saving Global competition for talent Shortage of computer scientists in advanced economies Offshoring moves up the value chain Workforce management strategy Improved organisational flexibility Better focus on core competencies Couto, V.; Mani, M.; Lewin, A. Y. & Peeters, C. (2006), The Globalization of White-Collar Work, Booz Allen Hamilton Lewin, A. Y.; Zhong, X. & Gallagher, K. (2011), Organizational Flexibility: The Strategic Differentiator of Global Sourcing Effectiveness, Duke University Offshoring Research Network (ORN)
Offshoring Risks / Difficulties Rank Risk Importance 1 Lack of top management commitment 9.2 2 Original set of requirements is miscommunicated 8.1 3 Language barriers in project communications 7.7 4 Inadequate user involvement 7.7 5 Lack of project management know-how by client 7.4 6 Failure to manage end-user expectations 7.3 7 Lack of business know-how by offshore team 7.3 8 Poor change controls 7.3 9 Lack of required technical know-how by offshore team 7.2 10 Failure to consider all costs 7.1 Nakatsu, R. T. and Iacovou, C. L. (2009), A comparative study of important risk factors involved in offshore and domestic outsourcing of software development projects: A two-panel Delphi study, Information & Management, 46 (1), p.57-68
Traditional Approach Comprehensive requirements specification up-front Often forms basis of rigid contract Often hand-in-hand with sequential project plan Prevents maximal benefit from Agile methods
SLA-Based Approach Service Level Agreement between client and vendor Service Implementation of work items Functional requirements defined as acceptance criteria Non-functional requirements defined as constraints Level of service Quantity specified in terms of complexity Quality according to market / project characteristics Agile software development Iterative / incremental project plan Agile requirements engineering Details deliberately deferred
Offshoring Risks / Difficulties Rank Risk Importance 1 Lack of top management commitment 9.2 2 Original set of requirements is miscommunicated 8.1 3 Language barriers in project communications 7.7 4 Inadequate user involvement 7.7 5 Lack of project management know-how by client 7.4 6 Failure to manage end-user expectations 7.3 7 Lack of business know-how by offshore team 7.3 8 Poor change controls 7.3 9 Lack of required technical know-how by offshore team 7.2 10 Failure to consider all costs 7.1 Nakatsu, R. T. and Iacovou, C. L. (2009), A comparative study of important risk factors involved in offshore and domestic outsourcing of software development projects: A two-panel Delphi study, Information & Management, 46 (1), p.57-68
Agile requirements engineering
Agile requirements engineering Traditional RE Perfecting of requirements Maximal depth of knowledge Accumulate requirement specifications Homogenous requirements engineering techniques and tools Formal correctness and reproducibility Classification and stabilisation Driven by completeness; Satisfy need for security Agile RE Optimise requirements engineering process Depth of knowledge optimised for each situation Minimise unused requirement specifications Techniques and tools chosen for individual requirements Collaboration and communication Permanent change and changeability Driven by priority; Omit less important requirements
Agile Requirements Product backlog (Task List) Small work packages, highly detailed, ready to be implemented Sufficient for 1-2 development iterations Medium size scope, Medium level of detail Large scope Low level of detail To be implemented in some future
Acceptance tests
Shared understanding We need a vehicle to transport people and their luggage.
Shared understanding Offshore Team Development Business Testing
Shared understanding BDD Development Offshore Team Business Testing
BDD practices Business-readable and -writable acceptance criteria / tests Use of ubiquitous domain-specific language Driven by business-value Stakeholder involvement Software behaviour described by example Test automation for quick feedback / regression Chelimsky, D.; Astels, D.; Dennis, Z.; Hellesøy, A.; Helmkamp, B. & North, D. (2010), The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends The Pragmatic Bookshelf
Specification by Example Given following vehicles can be produced by the manufacture Type Passengers Luggage [kg] Price Bicycle 1 25 500 Rickshaw 3 25 1500 Motorbike 2 50 4000 Small hatchback 4 100 8500 Limousine 5 350 23500 Lorry 3 5000 18000 When I order a vehicle for 3 passengers and 200 kg of luggage Then following vehicles satisfy my requirements Type Limousine Lorry
BDD The Living Specification / Documentation
The Organisation ScrumMaster ScrumMaster In-house Team Offshore Team
The Organisation ROI Requirements Engineering Productivity Product Owner ScrumMaster ScrumMaster Product Owner In-house Team Offshore Team
The Organisation ROI Requirements Engineering Productivity Product Owner ScrumMaster ScrumMaster Product Owner In-house Team Offshore Team
The Synchronisation ROI Requirements Engineering Productivity? 13 Product Owner ScrumMaster ScrumMaster 13 13 8 Product Owner In-house Team Offshore Team
Complexity Estimates 1? Product Owner 2 3 3 3 5 8 In-house Team Offshore Team
Offshoring Risks / Difficulties Rank Risk Importance 1 Lack of top management commitment 9.2 2 Original set of requirements is miscommunicated 8.1 3 Language barriers in project communications 7.7 4 Inadequate user involvement 7.7 5 Lack of project management know-how by client 7.4 6 Failure to manage end-user expectations 7.3 7 Lack of business know-how by offshore team 7.3 8 Poor change controls 7.3 9 Lack of required technical know-how by offshore team 7.2 10 Failure to consider all costs 7.1 Nakatsu, R. T. and Iacovou, C. L. (2009), A comparative study of important risk factors involved in offshore and domestic outsourcing of software development projects: A two-panel Delphi study, Information & Management, 46 (1), p.57-68
SLA-based Outsourcing with Behaviour-Driven Development SLA with service implementation of work items specified with acceptance tests and complexity estimates Shared and agreed domain-specific language Acceptance-test-driven development with acceptance test automation Automated living software specification containing all acceptance criteria ever agreed on Leverage on realising business value in offshore / outsourcing software development environment
Thanks! Questions? alan.ettlin@bbv.ch