Tutorials

Print

ICGSE 2012 Tutorials

ICGSE 2012 will host five tutorials: Global Software Engineering – Lessons from Industry, Applying Agile Methods to GSD Projects, Aligning GSE with corporate strategy, Quality Assurance in Distributed Agile teams and Using Ethnographic methods in Software Engineering Research. See the workshop information below:

Tutorial 1: Global Software Engineering – Lessons from Industry – Distributed Software Development, Outsourcing, and Supplier Management (Half day)

Tutor: Christof Ebert, Vector, Stuttgart, Germany

Aims: Managing global software engineering on an industry scale has rapidly become a key competence for successful engineers and managers. The diversity of suppliers, cultures and products require dedicated techniques, tools, and practices to overcome challenges. The tutorial aims at providing the following useful recommendations:

Presentation method: This tutorial summarizes experiences and guidance from industry in a way to help knowledge and technology transfer. It looks to processes and approaches for successfully handling global software development and outsourcing and offers many practical hints and concrete explanations to make GSE a success. Session attendees can raise specific questions from industry practice or academic research to get first-hand insight into GSE state of practice as well as new thoughts and trends that will shape the future.

Outline of the content: The tutorial addresses in detail

It covers topics such as managing people in distributed sites, managing a project across locations, mitigating the risk of offshoring, processes for global development, practical outsourcing guidelines, collaboration and communication. Based on the author’s vast experiences through the past two decades in managing and setting up global engineering sites, it shares best practices from companies of different size, organization layout, cultures and industries around the globe. Perhaps most relevant even, the tutorial highlights means and strategies to survive in a globally dispersed work environment.

Target Audience: Software engineers, team leads, project managers, line managers, experts and managers from procurement / sourcing and quality, consultants.

Level: Basic – Intermediate. The tutorial specifically addresses industry persons who want to fast ramp up on best practices in GSE

About the tutor:

Christof Ebert is managing director at Vector Consulting Services. A trusted advisor for companies around the world, he supports clients to improve product development and product strategy and to manage organizational changes. He sits on a number of advisory and industry bodies. Prior to that, he held engineering and management positions for fifteen years in IT, transportation and aerospace. Over the years he had set up several offshoring sites and supported numerous companies in mitigating global software engineering and outsourcing risks and thus get concrete benefits from such programs. He is the author of the best-selling book "Global Software and IT" published by Wiley and IEEE in 2011. He serves on the executive board of the IEEE International Conference on Global Software Engineering (ICGSE) series, teaches at the University of Stuttgart and is a SEI certified CMMI Instructor. Contact him at This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

"Global Software and IT" details and promotion code: www.vector.com/global-software


Tutorial 2: Applying Agile Methods to GSD Projects (Half day)

Tutor: Maria Paasivaara and Casper Lassenius, Aalto University, Finland

Aims: To discuss and give examples on:

Target audience: Practitioners interested in the application of agile methods to GSD.

Presentation method: Interactive lecture with practical case examples and short exercises
Prerequisites, and technical requirements: Basic knowledge on agile methods.

Outline of the content:

Schedule:

About the tutors:

Dr. Maria Paasivaara & Prof. Casper Lassenius from Aalto University, Finland. Both presenters have studied GSD projects since 2000 and the adoption of agile methods to GSD projects since 2006. The presenters have experience from in-depth studies of over 20 agile GSD projects. The largest projects applying agile methods have been distributed to five sites and used over 20 Scrum teams. Companies we have collaborated with include e.g., Ericsson, Nokia Siemens Networks, F-Secure, Vaisala, Tieto and IBM.


Tutorial 3: Aligning GSE with corporate strategy – Boardroom considerations for leveraging GSE benefits (Half day)

Tutor: Marc Gill’ard, Verdonck, Klooster & Associates and Rini van Solingen, Delft University of Technology, the Netherlands

Aims: GSE is often started out of cost considerations: reducing the labor cost of the software engineers. This is just one of the strategic reasons, but definitely not the most important. IT development is an investment where benefits and return on investment need to be managed more dominantly. This tutorial gives the attendees insight in the full scope of strategic drivers for developing software globally.

Presentation method: The tutorial provides guidelines for a well-founded business decision; when to apply GSE and when not. In the tutorial, participants gain knowledge and experience in considering the full portfolio of business drivers in direct relation to their strategy. Furthermore, they have used some practical tools in an exercise setting and understand how to continue this in their own situation, company and/or organization.
After this tutorial participants have an overview of the business drivers for successful GSE strategies and understand the business decision process to fully leverage GSE opportunities. Furthermore, participants gain insight in the essence of the business case for GSE, the main decisions in the sourcing strategy for GSE and into the organization of GSE. The participants have practiced with aligning corporate strategy with the current GSE deployment of their own company/organization.
Participants to the tutorial receive a free copy of the best-seller "The Power of Scrum"
http://www.forbes.com/sites/stevedenning/2012/03/01/the-power-of-scrum/

Outline of the content:

Schedule:

00:00 – 00:15 Opening objectives and current issues inventory
00:15 – 01:00 Presentation: GSE opportunities and business strategy alignment
01:00 – 02:30 Interactive business alignment evaluation exercise (break out in working groups; a 30 minute coffee break is included in this exercise)
02:30 – 02:55 Presentation: Examples and best-practices for leveraging GSE strategically in practice
02:55 – 03:00 Wrap-up and closure

Target Audience: This tutorial is primarily aimed at business managers and directors who want to gain knowledge and insight in how to their GSE efforts to optimize their business value, and to consultants who advise them on this topic. Furthermore, the tutorial is of interest for GSE specialist and researchers that intend to look beyond the primary GSE content and want to look at the business impact and strategic issues of GSE.

Level: Introductory / intermediate. The expected knowledge of participants should consist of a direct interest in or experience with managing GSE and/or developing business strategy.

About the tutors:

Marc Gill’ard (M.Sc. MBA). Marc Gill'ard is a partner at the leading Dutch strategy- consulting firm Verdonck, Klooster & Associates. He is manager of the Strategy and Architecture practice. In his client engagements, he consults the major Dutch companies and organizations on strategy, innovation and sourcing. Marc has over 15 years of experience in the field of business-IT alignment. Marc publishes frequently in periodicals like Holland Management Review, Management Executive and Finance & Control. He is a regular guest lecturer at several bachelor and master studies, e.g. at the University of Amsterdam and The Hague University. He enjoys the role of chairman and keynote speaker at conferences. Marc achieved his Master of Business Administration (MBA) degree at the Rotterdam School of Management (RSM) in 2001 and his master in Information Technology at Delft University of Technology in 1994. In 2007, he completed the executive education program Leading Professional Service Firms at Harvard Business School.

Rini van Solingen (prof.dr.ir.) is a part-time full professor in Global Software Engineering at Delft University of Technology (department of Electronics, Mathematics and Computer Science). Furthermore, Rini is Chief Technology Officer at Prowareness (www.scrum.nl). Rini is an expert in industrial product-, process and performance improvement of software and systems development; especially in contexts with (globally) distributed development teams. Rini's specialties are: design and deployment of distributed development organizations (onshore/nearshore/offshore), Scrum coaching, training and deployment support, and establishing RoI analyses and developing quantitative business cases for GSE. He is a frequent speaker and teacher at business conferences and courses. He received a M.Sc. in Computer Science from Delft University of Technology and a Ph.D. in Technology Management from Eindhoven University of Technology, both in the Netherlands.


Tutorial 4: Quality Assurance in Distributed Agile teams (Half day)

Tutor: Hari Baran and Jose Mathias Gusso

Aims: Sharing experiences of Quality Assurance in distributed Agile teams, focusing on software testing tasks and providing insight to some of the most common problems QAs face as well as practices to address these challenges.

Presentation method: This tutorial will bring world-wide experiences from multiple distributed projects. It will be based off of a set of interactive activities with the attendees accompanied by a deck of slides to help set context.

Outline of the content: Starting the session with an ice breaker, the group will be led into an expectations exercise where they will post what they want to learn with this tutorial. After that an explanation session about some of the main topics about distributed project will take place, leading the attendees to think about their own understanding of what distributed mean.
In the sequence we will run a game called "lego game", and this is an adaptation of a regular game that is played locally to something that will be done by different groups physically separated simulating QA teams. They will have two or three different handy communication tools and will face the challenge of collaboration to reach their goals (which will be to validate and fix a given structure using Lego blocks). Within all the interactions, regular communication problems, such as language, culture, technical, etc will either surface or purposely injected.
At the end of this exercise a board showing the common types of distributed teams problems QAs often face will be posted for the attendees to compare with their experience. When talking about them, strategies to mitigate the problems will be commented and proposed.
The last piece will consider a retrospective over the expectations people had in the beginning, and will close with a final questions and answers session.

Benefits: The attendees will get to experience different problems that QAs in distributed teams face and will be able to identify root causes for some of the problems. After this tutorial they should be able to spend time fixing the source of the problem instead of mitigating their symptoms.

Target Audience: Quality Assurance professionals, testers, analysts, engineers and consultants.

Level: Basic. This tutorial aims to have an audience composed by professionals that are new to distributed software development and have experience with testing and quality assurance.

About the tutors:

Hari Baran is a Senior Quality Assurance Consultant at ThoughWorks. He has been working in the IT for more than 10 years playing multiple roles such as Lean Consultant, QA Manager and Agile Coach. He has work experience in Turkey, France, Germany, the Netherlands, Australia and Brazil. Since 2011, Hari has joined ThoughtWorks Australia and have been working with distributed teams in India and China.

Jose Mathias Gusso is a Project Manager at ThoughtWorks Brazil, managing a distributed project between US and Brazil. He has 8 years of experience in software testing with automation practices, manual testing and test strategy definition at Hewlett-Packard. He has 2 years of experience in distributed project applying some agile methods such as cardwall, burndown chart, scrum and continuous integration at ThoughtWorks.


Tutorial 5: Using Ethnographic methods in Software Engineering Research (Full day)

Tutor: Yvonne Dittrich, Cleidson de Souza, Helen Sharp and Jennifer Ferreira

Aims: Ethnography aims at understanding a situation from the point of view of a participant in that situation. As a research method in software engineering it allows the researcher to focus on how a software team achieves a certain outcome without intervention and without imposing preconceptions about how software should be developed. Ethnography thus allows the researcher to ground eventual improvements in a sound understanding of software development practice.
As with many inter-disciplinary methods, ethnographic approaches can be misunderstood and misapplied, leading to results being dismissed with a “so what?” response. The tutorial will provide a sound understanding of ethnography as a research method and how it can be meaningfully applied in software engineering research. This tutorial distills tutors experience and lessons learned about how to make the most of ethnographic studies within empirical software engineering research, illustrating how these methods can lead to insightful results both in research and in practice. At the end of the tutorial, attendees should be able to:

Target audience: The course is aimed at researchers interested in deepening their knowledge and skills in qualitative empirical research. The main addressees of the tutorial are researchers and graduate students with a basic knowledge of empirical studies in software engineering, who are interested in increasing their repertoire of empirical methods. The tutorial can also be relevant for practitioners who participate in ethnographic research or plan to do so. The tutorial is especially appropriate for those wanting to study the complexities of software development practice.
Attendees will leave the tutorial with practical advice about how to apply the technique in their own setting, to provide an in-depth understanding of the socio-technolo-gical realities of software development practice and how to use this knowledge to improve processes, methods and tools as well as to advance the observed industrial practices. Pointers to literature and example studies will be provided.

Presentation method: This tutorial will be presented mainly as a lecture but with scheduled points of discussion, comment and exercise. Throughout, examples from the presenters’ own experience and that of other software engineering researchers, together with lessons learned and practical activities will be used to illustrate and amplify the points being made.

Outline of the content: This tutorial presents an overview of the role of ethnographic methods in Software Engineering research. It describes the use of ethnographic methods as a means to provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice. The knowledge gained can be used to improve processes, method and tools as well as develop the observed industrial practices. As mentioned before, this tutorial is presented in four different sessions.
The tutorial starts with a brief historical account of qualitative methods in Software Engineering research. This is follow by a discussion of ethnographic methods in the fields of Software Engineering, Computer-Supported Cooperative Work (CSCW), Information Systems and other related areas, and how these methods can be used to both understand and improve software engineers’ work. This is presented in the first session of the tutorial.
The second session of the tutorial presents an overview of ethnographic methods in the Social Sciences (e.g., the work of Malinowski and The Sociology School of Chicago), and how these methods have been used by researchers in CSCW and Human-Computer Interaction for the design and evaluation of software systems. This is followed by a discussion about the types of research questions ethnographic methods are suited for.
This introductory discussion about qualitative and ethnographic methods sets the stage for a more in-depth discussion of how to conduct an ethnographic study, which includes the description of methods for data collection and analysis used in these studies. It follows by describing how these methods can be and have been used by software engineering researchers to understand developers’ work practices, to inform the development of processes, methods and tools and to evaluate the applicability of current processes, methods and tools. This discussion is usually conducted in the entire third session of the tutorial, in addition to approximately half of the fourth and last session.
Finally, the tutorial concludes with reflections about practical issues concerning the selection and use of ethnographic methods by software engineers. This is presented in the second half of the last session of the tutorial.

Schedule: The tutorial is organized in four different sessions, each one lasting about 1,5 to 2 hours.

About the tutors: The presenters led a similar tutorial at ICSE 2010, ICSE 2012 and at the International Advanced School on Empirical Software Engineering 2010 in conjunction with ESEM 2010. In addition, the first three presenters have long experience in teaching qualitative methods in her educational institutions.

Yvonne Dittrich is an associate professor at the IT University of Copenhagen, Denmark. Her research addresses software development as cooperative work and use oriented design and development of software. She has more than 10 years of experience with qualitative empirical research methods. She developed a research approach combining ethnographical methods with action research.

Cleidson de Souza is a Researcher at the Vale Technological Institute and a faculty at the Federal University of Pará. His main research interest is in understanding how software engineers work collaboratively to develop software. He has been using ethnographic methods in his research since 2002 and has published in leading conferences and journals, including ICSE, FSE, IEEE TSE and jCSCW.

Helen Sharp is Professor of Software Engineering at The Open University, UK. Her research focuses on the social nature of software development, and she has been conducting qualitative studies of software development teams since the early 1990s. More recently, her focus has been on agile software development. She is joint author of a leading textbook on Interaction Design, which includes ethnographic methods in software development.

Jennifer Ferreira has recently completed her PhD studies at The Open University, UK, involving ethnographically- informed studies of Agile developers and User Experience designers working together in organizational settings. The results have been published at the XP2010 conference and the journal Software: Practice and Experience.


Tutorials Co-Chairs:

Darja Smite
Blekinge Inst. of Technology, Sweden
This e-mail address is being protected from spambots. You need JavaScript enabled to view it

Tayana Conte
UFAM, Brazil
This e-mail address is being protected from spambots. You need JavaScript enabled to view it