The tutorials will be offered on the fourth day of the conference (September 6, 2012), after the Main Track and the Industrial Track. See the conference program for schedule details.

A Practical Introduction to CMMI for Services (Eileen Forrester)

A Practical Introduction to CMMI for Services
Manager of the CMMI for Services program at the Software Engineering Institute, USA
September 6, 9:00–17:30
Interested attendees will have the possibility to receive credit from the Software Engineering Institute equivalent to a one-day course.

This one-day tutorial introduces service providers, appraisal team members, and process group members to concepts fundamental to superior service. The CMMI for Services (CMMI-SVC) model defines effective practices to ensure that quality services are delivered to customers and end users. Some types of services that would benefit from using CMMI-SVC include operations, logistics, maintenance, IT, and many other services in government and industry.

The tutorial covers effective service practices and how each might be implemented in real-world scenarios. After completing it, you will be able to describe the CMMI-SVC model and its usefulness for your organization, discuss the model’s process areas, and apply relevant information in the model to your own scenarios.

Who should attend?

  • Service providers and process implementers
  • CMMI-SVC appraisal team members
  • Candidate CMMI-SVC instructors and lead appraisers
  • Anyone interested in learning about CMMI-SVC


  • Benefits of Using CMMI for Service Improvement
  • Making CMMI Practices Work for You: How to Choose What to Improve
  • Capacity and Availability Management
  • Incident Resolution and Prevention
  • Service Continuity
  • Service Delivery
  • Service System Development
  • Service System Transition
  • Strategic Service Management

Successful completion of this tutorial enables participants to do the following:

  • Apply CMMI-SVC to improve performance in their own organizations
  • Describe the unique elements of CMMI-SVC
  • Locate information in the CMMI-SVC model

None required, but Introduction to CMMI-SVC is helpful preparation.

Participants will have the opportunity to download a number of helpful documents, including

  • CMMI-SVC model document
  • Quick references
  • Use case scenarios

Program Development with Parameterized Unit Tests and Code Contracts (Ethan Jackson)

Program Development with Parameterized Unit Tests and Code Contracts

(Due to a medical emergency, the planned tutorial by Mr. Ethan Jackson has been canceled)
(Due to unforeseen circumstances, the planned lecture by Mr. Wolfram Schulte will be performed instead by Mr. Ethan Jackson, from the same research group)

September 6, 9:00–17:30
This tutorial presents a program method on how to develop reliable and correct sequential object-oriented programs. The method is supported by two tools: Code Contracts and Pex. Taken together they utilize specification constructs for advanced testing, runtime checking, and static checking of object-oriented .NET programs.
Code Contracts provides a speciation technique for expressing method pre- and postconditions as well as object invariants as code. These specifications are then used for runtime checking and advanced static checking using abstract interpretation. The specifications are also understood by the advanced unit-testing tool, Pex. Pex performs a white box code analysis using a constraint solver to determine relevant test inputs. Preconditions allow pruning of irrelevant test inputs, and postconditions guide test generation and allow detecting bugs; object invariants serve both purposes. Furthermore, Pex enables the concept of Parameterized Unit Tests which are essentially parameterized usage scenarios annotated with specifications to state assumptions and assertions. The result of Pex’s analysis is a small unit test suite which often achieves high code coverage.
Code Contracts and Pex enable each other. A drawback of static checking is for instance the presence of false warnings and the effort to determine whether a warning is warranted or not. Pex often helps alleviate this problem by being able to point out inputs to a method that actually trigger the violation. Pex reports the issues as source code that can be debugged immediately by the developer. Furthermore, Pex and/or Code Contracts can suggest new preconditions at appropriate places to avoid future problems.
For more info on Code Contracts, see http://research.microsoft.com/contracts/, for more info on Pex see http://research.microsoft.com/pex/.
This is joint work with Michael Barnett, Manuel Fahndrich, Francesco Logozzo, Peli de Halleux, and Nikolai Tillmann.

Hands-On with Scrum: A Practical approach in Scrum Implementation (Isabel Ferreira)

Hands-On with Scrum: A Practical approach in Scrum Implementation
Isabel Ferreira
Coordinator of Quality Management, Sinfic
September 6, 9:00–17:30
This tutorial has the purpose to give an overview of the knowledge of the Scrum framework, promoting a joint analysis of the implementation of Scrum in various organizational contexts. A group dynamic exercise will be performed involving a project life cycle over three sprints reflecting the interaction of different Scrum roles, artifacts and ceremonies.