Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Podcasts Ivar Jacobson on Use Case 2.0

Ivar Jacobson on Use Case 2.0

This is the Engineering Culture Podcast, from the people behind and the QCon conferences.

In this podcast Shane Hastie, Lead Editor for Culture & Methods, spoke Ivar Jacobson about his work on the latest approach to use cases – Use Case 2.0.

This is the second of two podcasts with Ivar – the first one exploring the Essence of Software can be found here

Key Takeaways

  • Use Case 2.0 expand on the ideas embodied in user stories
  • Some up-front design is needed in all software development projects
  • For any product you need the skeleton system that has the key requirements embodied in it early on
  • Any system should be able to be represented by between 10 and 20 key use cases

Show Notes

  • 00:13 Introduction
  • 00:28 Introducing Use Case 2.0
  • 00:36 Use Case 2.0 has been adapted to work well with agile teams to find elements for the backlog 
  • 00:51 These ideas have evolved over the last seven years
  • 01:04 Use Case 2.0 expand on the ideas embodied in user stories
  • 01:18 Requirements in any format have a huge impact on what is built
  • 01:26 This does not mean you need a written requirements specification document
  • 01:35 Requirements can be tacit knowledge but they should be made explicit in some form because they play such a key role in software development
  • 01:47 They are a key input from business analysis – will the product you plan to build make money?
  • 02:00 Clear requirements are important for creating a useable architecture – you don’t want to have to constantly redesign the architecture of the product
  • 02:14 Some up-front design is needed in all software development projects
  • 02:27 You need the skeleton system that has the key requirements embodied in it
  • 02:36 With this approach, as you add more requirements you don’t need to change the skeleton, you simply flesh out the rest of the product
  • 02:44 To be able to test a product you need to have requirements to test against  
  • 02:51 Testing is impacted by the ability to communicate good requirements 
  • 02:57 Reusability is another important focus for requirements
  • 03:12 User stories are good as backlog elements in modern software development
  • 03:31 Use cases serve multiple roles from ideation through design and development to testing
  • 03:45 Use cases give you the big picture
  • 03:52 Product inception activities include identifying who the users are and what the system needs to do for those users – these are the use cases
  • 04:01 This does not need to take a long time to do – within 3-4 hours you can get a good picture of why the key users are and what they need from the system
  • 04:14 This big picture is very valuable for the whole team to understand
  • 04:28 From these big-picture use cases you can slice them into small, meaningful value-contributing pieces called use case slices
  • 04:36 A use case is a set of use case slices.  Each use case slice is the equivalent of one or two user stories
  • 04:43 Use case slices populate the product backlog
  • 04:48 You continue breaking them down progressively until you get to elements that can be implemented in one sprint
  • 04:55 The people who need to see the high-level picture get the use case model, the people who need the detail get that detail as they need it
  • 05:08 Any system should be able to be represented by between 10 and 20 key use cases
  • 05:30 This size is a product that will take a reasonable amount of time to build and will add value to the organisation
  • 05:36 The big picture is understandable by senior leaders and they can identify important missing elements and see where customer value is derived
  • 05:53 You can communicate the ideas to customers using the higher-level use case models
  • 06:02 At the detailed level, use case 2.0 supports test-driven development
  • 06:13 The use case model provides persistence of understanding over time and supports multiple releases of a product
  • 07:16 The progressive elaboration nature of use case 2.0 allows an initial understanding of the big picture with an evolving understanding of the detail as work progresses
  • 07:36 These use cases are not just useful for the development team, they are understandable by other stakeholders who contribute to product success 
  • 07:48 Salespeople can use the use case model to communicate with customers or potential customers
  • 08:01 The use case model helps identify the product architecture – the highest priority use cases and their most important slices form the basis for the architecture
  • 08:36 The term Use Case has become commonly used because it conveys the intent clearly
  • 08:56 There is great value in seamlessly moving identified use cases into a development environment
  • 09:11 Use cases provide common context and clarity of understanding across different interested parties
  • 09:57 How use cases identify and address identifying the non-functional or quality aspects of a product
  • 10:12 Describing the structure of a use case using a banking transaction example
  • 10:45 Some non-functional requirements are common across the whole system and these need to be articulated separately
  • 11:04 Most of the non-functional requirements in a system are use case specific and can be communicated in the use case text
  • 11:31 All use case slices for a single use case will inherit the non-functional requirements from the parent use case
  • 11:56 Use cases are discrete and independent from one another; use case slices are very dependent on one another and on the parent use case
  • 12:08 There will be a logical sequence to the use case slices used to build the product
  • 12:51 Introducing the idea of a scenario as a described path through a use case
  • 13:15 The ebook on Use Case 2.0 is freely available
  • 13:25 There is also elearning available for Use Case 2.0
  • 13:47 There is an online portal available with lots of use case content freely available
  • 15:05 Use cases, user stories, Scrum and other techniques are just practices – the work on Essence is about creating a platform for all practices so practitioners can find the ones that work best in their context


More about our podcasts

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and the Google Podcast. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article