Pragmatic Modelling with UML and Use Cases

Pragmatic Modelling with UML and Use Cases


How to translate agile requirements in smart use cases and UML diagrams in a practical, pragmatic, productive and agile way ?

ON REQUEST
Location: In-company (YOUR COMPANY)
Presented in English by Sander Hoogendoorn
Price: ASK FOR PRICE QUOTE (excl. 21% VAT)

 Learning Objectives

The use of modelling techniques in software development projects leads to higher productivity and better quality of both the design and the code, as well as improved maintainability of the produced software. A picture says more than a thousand words. By combining UML modelling with agile techniques, these models will be used by end users, business analysts, developers, and testers to discuss the software under development.

Why UML ? Why smart use cases ?

The modelling language UML is now a worldwide standard for modelling requirements, functionality, components and services. UML 2.x (currently UML 2.4) contains some modelling techniques like use case diagrams, activity diagrams, communications diagrams, class diagrams and package diagrams. These modelling techniques are used during the various phases of system development, like analysis, design, implementation and even during testing.

However, the UML specifications define the structure of these modelling techniques but not how to use them in practice. This workshop will provide insight in the different diagrams and particularly the power of the use case.

During this workshop, Sander Hoogendoorn presents the smart use case implementation cycle in UML, where agile requirements, scope, business processes and smart use cases are identified, modelled and implemented in an agile way.

Why should you attend this workshop ?

This workshop begins where most other UML workshops end: you know the theory of UML, but this workshop teaches you how to use UML and use cases in a practical, pragmatic, productive and agile way !

Companies that use UML and use cases in their software development projects, should also implement a method to use the use cases in a pragmatic way throughout the development life cycle. This approach is also documented in Sander's book Pragmatisch Modelleren met UML 2.0. This method is used in many larger but also smaller organizations, and taught at various schools. You get this book free with your registration.

During this workshop, you get a number of essential tips and tricks to model UML diagrams and use cases in a pragmatic way. This method starts with the identification of business processes, all through the domain modelling, testing and estimation. By using a case study throughout the workshop (an online dating web site), the modelling process is explained and refined in group exercises.

We have already organized this workshop over 35 times, and the comments by participants vary from good to great.

This workshop answers these and other questions:

  • How to identify business processes
  • How to deduct (smart) use cases from these processes
  • How to model (smart) use cases
  • How can (smart) use cases be the "fil rouge" in your project?
  • What is the link between various UML modelling techniques ?
  • How to model the business domain and business logic ?
  • How do we test requirements and functionallity using smart use cases ?
  • Can we use UML and smart use cases in a pragmatic, agile and iterative development process ?

Who should attend this workshop ?

This workshop is aimed at everyone who is involved in the different phases of software development:

  • business analysts and requirements gatherers
  • software and IT architects
  • information analysts
  • developers
  • software designers, information modellers
  • testers, ...

Preferably, participants are (or will be) involved in the modelling, realization and testing of software, and have some knowledge of UML, although deep practical knowledge is not required.

Sander's book "Pragmatisch Modelleren met UML 2.0" provides background reading material for this workshop.

 Full Programme

Both workshop days start at 10h00. We welcome the participants with coffee/tea and croissants from 9h30 onwards, and both days end around 18h00. Spread over 2 days, we will cover:

1. The smart use case approach:

Short overview of the workshop, how it all fits together

  • Agile software development and agile requirements
  • Determine project scope
  • Identify business processes
  • Identify smart use cases
  • Model smart use cases
  • Estimate smart use cases

2. Agile software development and agile requirements

A pragmatic and agile modelling approach to systems development projects

  • Why model ?
  • Why agile ?
  • How does agile work ?
  • Different levels of requirements: cloud, kite, sea and fish level
  • User stories, huge use cases and the YAGNI (you ain't gonna need it) principle
  • A pragmatic modelling approach, from business process to working application

3. Identifying scope and business processes

How to deal with business processes

  • How do you set the scope of your project ?
  • Which business processes are supported by the new application ?
  • How do you model chronological and hierarchical processes ?
  • Elementary business processes
  • How do you use the OTOPOP (one time, one place, one person) rule to limit the scope of use cases ?
  • The transition from business processes to smart use cases
This workshop starts where most UML trainings end: you will learn how to use UML and use cases in a practical, pragmatic, productive and agile way !

4. Identifying smart use cases

Smart use cases as a "fil rouge" in a project: how does this work ?

  • Different levels of use cases - sea level and fish level
  • From business processes to smart use cases
  • How do you identify smart use cases in your project ?
  • How to distinguish between the different types of smart use cases ?

5. Modelling smart use cases

  • How to model use cases diagrams ?
  • How to describe use cases
  • Actors and use cases
  • Use case scenario's

6. Implementing & Testing smart use cases

  • The smart use case implementation cycle
  • Writing use cases
  • Test scenarios and test cases
  • Unit testing smart use cases
  • Testing in the agile life cycle
  • Estimating projects, releases and iterations

7. Domain Modelling

  • How to model class diagrams
  • Modelling attributes, value objects, references, enumerations, associations, aggregations, composition, dependencies, ...
  • What is domain-driven design

8. Requirements in Agile Projects

  • Agile requirements. Business Analysis in an agile environment
  • Roles in agile development
  • Best practices when you use UML and smart use cases in agile projects
  • The smart use case as a guideline for the "Definition of Done"

 Speakers


Sander Hoogendoorn (This is Agile)
This is Agile

Sander Hoogendoorn is an independent consultant. He works as a mentor, trainer, coach, software architect, developer, writer, speaker, using the company name ditisagile.nl (after the Dutch title of his latest book This Is Agile).

In his role of Principal Technology Officer and global agile thought leader at Capgemini over the past decade, drs. ing. Sander Hoogendoorn has coached many clients and has contributed to many Capgemini propositions, including the agile Accelerated Delivery Platform (ADP), the free agile and Kanban board www.speedbird9.com, the Capgemini Agile Framework (CAF), and numerous Flying Squads. During this period, he learned a great deal and contributed to the innovation of software development at Capgemini and its many international clients.

Sander's expertise ranges from (agile and non-agile) software development methodologies, software architecture, design patterns, object orientation, component-based development, anti-patterns, business process and software modeling, UML, model driven software development, .NET, Java and software development tools.

Sander has coached many organisations and projects, has written books on UML and agile software development, and published over 200 articles in international magazines. Sander is a member of Microsoft's Partner Advisory Council for .NET and several other editorial and advisory boards, and he was the chief architect of Capgemini's agile software development platform Accelerated Delivery Platform (ADP).

Sander's book "Dit is Agile - Van Introductie tot Implementatie" is a European bestseller, and has been translated into German and English: "This is Agile: Beyond the basics. Beyond the Hype. Beyond Scrum."

Sander maintains a blog and a collection of his publications at sanderhoogendoorn.com.

Follow Sander on Twitter via @aahoogendoorn

Check out our related in-house workshops:

dit is een inhouse

Questions about this ? Interested but you can't attend ? Send us an email !

-->