De rol van requirements bij global development 19 & 25 november 2008 Rini van Solingen Requirements zijn een noodzakelijk kwaad Immers, als wij elkaars gedachten konden lezen hadden we geen requirements nodig
Belang van requirements The Chaos Report Meer dan 44% van de projecten faalt door requirements problemen Echter Robert Glass (CACM/IEEE SW) how can such a crisis exist, in an era that simply wouldn t be possible if we didn t have astoundingly successful software to make all those computers do the wonderful things they do. Inhoud Introductie GDSE TU-Delft SWERL en GDSE GDSE en Requirements Conclusie
Introductie GDSE What is GDSE? Globally distributed software engineering is: the discipline of design, implementation and validation of software products and/or components on at least two geographic places and at least two continents
Adding a global perspective to SE Source: Carmel & Agarwal, IEEE Software 2001 Source: Carmel & Agarwal, IEEE Software 2001
What is GDSE? GDSE involves: Distributed software engineering Technological support and enabling tools Globalisation effects Cross-cultural communication Virtual teams and organisations Globally Distributed Software Engineering Trust Education Language Communication Motivation Culture Knowledge Collaboration Business drivers Overhead Transition Organization Work distribution Control Management Distance People Engineering Geographical Timezone Cultural Coordination Virtual Teaming Travel Process Technology Development tools Life-cycle Architecture Infrastructure
Why do GDSE? Faster and round-the-clock development Access to scarce resources and expertise Lower development cost due to lower wages Close geographical distance to customers History (mergers and acquisitions) No way back Why do GDSE? Source:Javier, Outsourcing Comes of Age, presentation, PWC, 2007
Making the promise reality 13 Centrifugal forces of GDSE Source: E Carmel, Global Software Teams, 1999 14
Centripetal forces of GDSE Source: E Carmel, Global Software Teams, 1999 15 On Culture. Geert Hofstede (www.geert-hofstede.com) Power Distance Index (PDI) Individualism (IDV) Masculinity (MAS) Uncertainty Avoidance Index (UAI) Long-Term Orientation (LTO)
Publications on GDSE Verder: IEEE Software, issue March/April 2001 Jacobs en Van Moll, proefschrift TU/e, 2007 Conference: www.icgse.org TU-Delft Software Engineering Research Laboratory SWERL Research and Agenda
The Delft Software Engineering Research Group (http://www.se.ewi.tudelft.nl/) Group size: ~25 fte, including ~15 full time researchers (PhD candidates, postdocs). Teaching: Programming and project skills of Delft computer science students ~20 MSc projects p/y in software engineering Research: Software evolution Reverse engineering Software testing Services Model-driven engineering Web engineering Embedded systems Globally distributed Sw Eng Close collaboration with industry
Allen Curve 30 meter principle Probability of Communication Weely Communication 5 4 3 2 1 0 0 20 40 60 80 100 Distance (meters) Source: TJ Allen, The Organization and Architecture of Innovation, 2007 The Research Challenge for GDSE Our Quest for GDSE research: Creating the virtual 30 meters Deep understanding of GDSE issues Both theoretical and practical Allen already showed that people more than 30 meters apart communicate no more frequently than those separated by oceans
Although: the Virtual 30-meters. for Software Engineers Source code My tasks Task status Product features
Virtual 30-meters: Traceability Requirements Source code related to task Task status Test cases related to requirements The virtual 30-meters Why ask if you already know? Why look if you can already see? Why check if you already trust?
Current SERG Research on GDSE Successful GDSE practices How to get it right and done Technological support for Distributed Agile development Follow-the-Sun software development Teaching GDSE dynamics, understanding what it takes to successfully practice GDSE Success factors of GDSE development Industrial Collaboration on GDSE practices Exact, ISM, ihomer, Tridion, Current practices Definition of Done Team tooling Distributed development tool chains Distributed SCRUM.
Technological Support for Distributed Agile development Routing for Follow-the-Sun Http://www.follow-the-sun.org
IT-Billionair: GDSE Game Running GDSE company Deciding Lab locations Defining Strategy Customer focus Projects vs Products Advance decision making Teaching GDSE dynamics Playing the IT Billionair Board Game
Management Game Setting GDSE en Requirements
GDSE en Requirements Organizing GDSE projects Along Functional areas Expertise, domain knowledge Product structure Conway s Law Process steps V-model, e.g. req/des, implementation, test Customization model Product line concepts Source: Grinter, Herbsleb, Perry, ACM 1999
Requirements meestal onderschat Communication, coordination en control Requirements zijn communication en voorkomen communication Requirements zijn een uitstekend vehicle voor coordination Requirements faciliteren control GDSE zonder requirements is eigenlijk onmogelijk GDSE stelt extra eisen aan requirements (taal en begripsvorming) GDSE maakt de noodzaak voor requirements groter Requirements ook vaak overschat Het gaat niet om de requirements, maar om het begrip: Eenduidigheid in begripsvorming is een voorwaarde voor succesvol GDSE Requirements voorkomen communicatie en voorkomen daarmee begripsvorming en vragen daarmee om extra communicatie Contact met de klant/opdrachtgever vaak veel belangrijker: feedbackcycles zijn noodzakelijk Requirements worden niet verkocht
Level of detail Scrum: Back-Log Incorporating change Limiting work Conclusions Turn GDSE challenges into strengths Communication/coordination/control difficulties Lean on them, don t prevent them (Agile!) Focus on requirements: they are essential GDSE as enabler for requirements improvement Requirements need communication too The product is sold, not it s specs Beware of consultancy business models Never stop thinking!!
GDSE Research continues Globally Distributed Software Engineering is a topic for at least the next 10-20 years No way back for companies Many problems still to solve Generic topic: the virtual 30 meters Software engineering on board room agenda s TU-Delft s SWERL takes part in GDSE research Research and industrial community is still being built Dank u voor uw aandacht D.M.vanSolingen@tudelft.nl Rini.vanSolingen@mavim.com Rini@vanSolingen.nl