Tag: Use Cases

PMTimes_May13_2022

Why Does a Project Need a Product Development Roadmap?

Many teams work on software development projects: developers, testers, designers, and so on. Specialists have their own tasks, which they must complete by a certain date. How do you coordinate the actions of all teams? How to make sure that the design work goes according to plan and the product will achieve its goal? A product development roadmap helps to solve these issues. We will tell you why it is needed for a project.

What is a product roadmap?

A product roadmap is an important document, it is as necessary as Vision&Scope, SRS, Backlog and User Story Mapping.

A product development roadmap is a visual communication tool for a project team that is used when outsourcing project management services. This document describes the vision of the product and records the current working progress and long-term project goals.

 

PMTimes_May13_2022

Source: venngage.com

 

The main stages of work on the product are included in this plan, without dividing them into separate tasks. There, the names of performers and deadlines are indicated. Information is drawn up in tables, presentations or special programs. The picture must make it clear who is working on this or that task at a certain time.

 

The purpose of a roadmap is not to describe each project task but to give a visual representation of the global stages of work. It explains to the team why they need to implement certain functionality by a specified time. It illustrates what goals the product will achieve in the future. If specialists understand how the product will develop, it is easier for them to set up work on individual tasks.

 

PMTimes_May13_2022

Source: habr.com

 

In other words, a roadmap is a product guideline for project teams, the marketing department, and customers. Project managers can change the roadmap when:

  • the client modifies the requirements.
  • it is necessary to enable a new feature at the request of users.
  • there are internal problems.
  • the market is changing.

 

The product development roadmap informs the project team and external interested parties (shareholders, customers, partners) about the main ideas and work progress.

 

Who needs a product development roadmap?

The product roadmap is used by internal development teams and external interested parties. Each professional benefits from this document and applies it differently:

The roadmap clearly illustrates to the project team how the product will develop. Engineers plan sprints and follow the progress of the project and the performance of the team. They see when additional specialists need to be involved in the project and rely on the document to bring the product to its final goal.

The marketing department relies on the product development roadmap when developing an advertising strategy and building a pricing policy.

The customer support department is using the product roadmap to answer user questions for future updates.

Project managers use a roadmap (product development roadmap) to report on the work done to the customers, investors, and partners. They see how the team is working on the product and how it will be developed in the future.

 

Advertisement

 

Why a product roadmap is important for a project?

A roadmap helps project team members to understand the essence of a product. It also gives several benefits:

  • It helps to define the product strategy.

 

Experts see what kind of work needs to be done right now and in the future. Project managers and customers see the full picture of what is happening on the project as part of the strategy.

  • It is a good means of communication.

 

Usually, reviewing projects with each of the leaders takes hours of calls and discussions. The roadmap clarifies all the issues of software development. It is easy to create and update and takes less time to learn than during online discussion.

The map can be shared with everyone associated with the project (colleagues, management, and so on). With the help of this document, it is easier to convince investors of the prospects of the product and get funding.

  • It helps to “navigate the terrain”.

 

When a team works on a new project, they face three obstacles:

  • it is easy for them to “get lost” because they don’t know how to get to their destination.
  • team members may be late because they don’t know how quickly they need to complete tasks.
  • the team may run out of specialists when they are not aware of what work they have to cope with.

The product development roadmap addresses all these issues. Project participants see the current state of affairs and prospects. They know that this month they need to create an admin panel, and next month they need to do a third-party integration. They understand that a mobile version is being designed alongside the web application.

The roadmap proves that the custom software development company’s team is moving in the right direction at every stage of development.

How to create a product roadmap

For a separate project, a unique product roadmap is built. But there are general principles that should be considered when building. It is necessary to:

  1. Define the project strategy.

For a roadmap to be useful, the following issues need to be considered:

  • It is important to focus on the results of product development. Detailed tasks with estimation are not included in the map. They will simply confuse the workers of project management outsourcing companies, external departments, and investors. This information is recorded in other documents.
  • You should create a document for all project participants. Each specialist (manager, marketer, or customer support employee) looks at the roadmap differently. Some are interested in business goals, others focus on product areas, prioritization and timing, and so on. So as not to create a separate roadmap for different departments, it is worth considering one that will be useful for everybody.
  • You should communicate the vision of the product. The map illustrates the history of product development. The team members see this and take steps in the same direction.
  • The product roadmap must be regularly updated. Changes often occur in projects: the customer changes requirements, asks to implement a new function, and so on. These changes must be included in the product roadmap, otherwise, it will become useless, and the team will go astray.

 

  1. Gather product requirements.

To determine the stages of work on the product, you need to know what functionality needs to be created. To do this, a business analyst collects product requirements, which are then documented (Vision & Scope, SRS, Backlog and User Story Mapping). This data can be used to point out top features, prioritize them, and build a product development roadmap.

 

  1. Select the roadmap format.

A product development roadmap can be drawn up in Excel, PowerPoint, or special tools. However, whichever program the project manager uses, they will choose one of the three traditional types of the roadmap:

  • Product roadmap without dates. It is used on agile projects where priorities change quickly.
  • Hybrid product roadmap. Such a map has approximate dates (by months) and stages of work sorted into current, upcoming, and future periods.
  • Product roadmap with dates. Stages of work are planned with an accuracy of days in a month. This is especially convenient on projects where several departments are involved, and their tasks are related.

If the PM does not need strict deadlines, they choose the first and second options. Usually, this means planning works for a month or a quarter.

 

  1. Adapt the roadmap for all participants.

The product development roadmap is a guideline for internal and external teams:

  • The management wants to see in it a product strategy and information about the current state of the market.
  • Marketers are interested in seeing the product in comparison with competitors and its potential.
  • The sales department is more concerned about the time of the release of the product and its competitive advantages.
  • For developers and other IT professionals, requirements, deadlines, and sprints are more important.

Therefore, it is worth considering how to include this information in one document.

 

  1. Share the product roadmap.

The roadmap illustrates the team’s work progress and future goals. If the project manager shares the map with everyone, the participants will always be aware of the current state of the product and possible changes. Therefore, specialists will not spend hours clarifying the details of the project and other issues.

Customers value transparency in the work of their IT partners. Constant feedback, honesty and openness are big advantages for custom software development companies.

 

Which projects need a product roadmap?

Roadmaps can be used on traditional (Waterfall, Spiral) and flexible (Agile, Scrum) projects. This document focuses on the strategy of the product, not on the methods of its implementation.

For classic projects, a product development roadmap with dates will do. Flexible projects are limited to monthly and quarterly scheduling without clear dates.

 

The main difference is in the following:

  • Waterfall projects are usually business-oriented and based on financial metrics. Agile teams are focused on customers and customer satisfaction.
  • Waterfall roadmaps are usually scheduled for a year. An Agile map illustrates quarterly work.
  • Waterfall teams communicate sequentially as new specialists join the project. Agile project participants work in a cross-functional environment and are simultaneously involved in the project.
  • Roadmaps for Waterfall projects are more static. Maps for Agile projects are as flexible as the methodology itself.

 

Either way, both classic and agile teams will benefit from a product roadmap. They will be able to follow the strategy, meet deadlines and lead the product in the right direction.

 

Conclusion

A product development roadmap is created to make life easier for all project participants. It is a tool that developers, testers, designers, sales teams and businessmen are guided by. It ensures that the product develops according to plan and reaches the market on time. With a roadmap, the product is not a mere abstraction. It is a completely tangible solution with short-term and long-term goals and a visible result.

Think Project Management is boring? Here’s how it doesn’t have to be

The role of a project manager is no less than critical for any industry and for any organization – big or small.

Some of the traits this role requires in depth insight to technicalities, team building and management skills, discipline and effective time management.

Although many responsibilities fall under the umbrella of project management, the project manager is chiefly responsible for two things: to get a quality product delivered on time and to keep the team in sync while working towards success. While this role juggles between technical requirements to provide the customer with a satisfactory result, it has to deal with the human aspect by steering the team clear of politics, bias and uncertainty towards integrity, collaboration and confidence.

To many, this role may embody a serious persona that embodies an “all work, no play” attitude –eyes set on optimising the project at hand with little or no time for anything else. However, project management does not have to be dry and stressful. There are many ways to make work fun, interesting and create a surrounding where teams look forward to coming every day.

Here are three ways you can enjoy being a project manager without compromising on quality of project and efficiency of your team. Let’s begin.

Give autonomy to your team

Autonomy means the space and discretion to carry out a responsibility. By giving your team the freedom to complete activities on their own, you can instil a sense of ownership and encourage innovation. This will not only help you in getting better work performance on the project but teams also show innovative ways of achieving goals faster without the need to micromanage them.

According to Joan F. Cheverie, manager of professional development programs at the higher education and IT non-profit EDUCAUSE, autonomy is the antithesis of micromanagement and it may be the best way to ensure your employees are happy at work. [2]

A 2013 Workplace Survey by Harvard Business Review shows that the choice and autonomy not only keep employees happy, but also motivate and boost performance. They are also more likely to be satisfied with their jobs. [3]


Advertisement

Make it cooler with technology

Who doesn’t like cool apps and gadgets? It’s downright delighting when a new app helps you identify pending issues in a project in half the time or that gives you the power to manage multiple teams without going back and forth between software tools.

Did you know that a survey by The Economist Intelligence Unit finds that employees that believe their workplace effectively makes use of mobile technology have more satisfaction, creativity well as show more productivity at work.

As a project manager, you constantly have to identify issues and come up with possible solutions or better yet, identify risks beforehand and have back up plans devised. Using a tool to structure your tasks and projects, helping your team collaborate better and that can give you more control on your project timeline can save you a lot of time and money. It definitely takes the stress out and lets you enjoy the creative aspects of the project taking care of the monotonous and repetitive activities.

Get more involved

Although project management comprises managing projects and teams, however, as a project manager, you can feel more connected by actively getting involved in team tasks and activities. This does not mean you have to micromanage your team. However, you can do a lot more by working on small tasks with your team such as attending the daily scrum, holding informative sessions on how to present projects better or simply by testing out the software module yourself via the newly purchased QA tool with the rest of the team.

Would you believe that about one in three projects fail because of a lack of involvement from senior management?

Divan Dave is the CEO of OmniMD, a leading healthcare IT company. According to Dave, a good project manager stays aware and alert about potential problems. He recommends that a project manager should hold frequent status meetings with team members. This ensures that the tasks and objectives are met on time, the issues that are being faced and ways to solve them and also, discuss if any of the activities in the project plan needs to be revisited.

Your involvement in the project’s workflow on different levels diminishes the chances of feeling disconnected and you can look forward to new accomplishments in each team. These little achievements can help you go a long way and the collaboration with your team can help keep things light and stress free.

Use Colours!

You don’t have to settle for dry and monotonous documentation and presentations. Instead, give your workplace a boost of energy with vibrant colours. From your user stories to presentations in the meeting room, give it a fizz of creativity.

Use coloured markers, post-its, stickers and props to design and plan a project. Colour code tasks by priority.

The 6 Essential Project Management Books

Whether you are managing your first project, or have been doing it for years, you’re always looking to improve your skills with the best project management books.

While there is nothing like learning from experience, taking the hard-won advice from experts in the field will save you from making countless avoidable errors. But with so many project management books out there, it’s hard to know which are actually useful.

I’ve searched the internet, read through Amazon reviews, and asked other project managers to find the best project management books on the market.

Based on the research, here are the 6 essential reads for project managers.

1. Alpha Project Manager by Andy Crowe

Based on his survey of 860 project managers, Andy Crowe breaks down all the key traits that make the best project managers achieve more. His research debunks common knowledge about what it takes to succeed as a project manager. For example, his survey found that the best project managers send fewer emails per day and spend less time in meetings than their less-successful counterparts.

What makes this analysis stand out is that fact that they also surveyed 4,398 clients, team members, and senior management that worked with these project managers. As a result, the findings reflect a comprehensive view of the project manager’s performance, and not subject to biases of many self-reported surveys.

If you are ambitious and looking for strategies to propel you up the corporate ladder, this book has a lot of great insights.

2. The Five Dysfunctions of a Team by Patrick Lencioni

Good project management isn’t just about what strategies and tools you use. It’s also about the people. That’s the focus of Patrick Lecnioni’s compelling book.

Through an engaging fable about a troubled Silicon Valley company, he uses the power of storytelling to highlight five common areas where teams fail. This book is a quick read filled with helpful insights that you can take and implement on your team right away. If you want to get better at improving team dynamics, this one will be a great asset.

3. A Guide to the Project Management Body of Knowledge by the Project Management Institute

This book (known as PMBOK) is considered absolutely essential for anyone studying for the Project Management Professional (PMP) certification exam, an important industry-recognized certification. Project Management Institute (PMI), who is responsible for setting industry standards, write each edition of this text.

Yes, this book is academic and dense (over 600 pages!), but it is one of the most comprehensive guides out there. Definitely recommend it for anyone who wants to take the PMP exam or deepen their project management knowledge.


Advertisement

4. Getting Things Done by David Allen

This is one of the most influential business and personal productivity books ever written. The Getting Things Done (GTD) method emphasizes the importance of getting your tasks out of your head and breaking them down into an organized system. When you do this, it frees up your mind to think creatively and make better decisions. The book is filled with practical guidance on how to set up task lists and structures that help you feel less stressed and more organized.

For all project managers overwhelmed by stress, the book has the answers you need.

5. Strategic Project Management Made Simple: Practical Tools for Leaders and Teams by Terry Schmidt

This book is a practical guide to turning ideas and goals into coherent, actionable plans. The author suggests that there are 4 critical questions that a project manager must answer to build a strong project plan:

  • What are we trying to accomplish and why?
  • How will we measure success?
  • What other conditions must exist?
  • How do we get there?

This mental framework ensures that you have considered all important aspects of a project before you get started. If you are looking for a more strategic approach to project management, check this book out!

6. Good to Great: Why Some Companies Make the Leap and Others Don’t by Jim Collins

This is a classic business book that should be on anyone’s bookshelf. Jim Collins and his team did an in-depth analysis of 28 companies and discovered what were the key determinants that led to significant improvements in performance. Although not specific to project management, this substantive analysis into how companies made real improvements in performance has lessons you can apply in any context.

If you are looking to improve your leadership skills, this book is the one for you.

Honorable mentions

While they didn’t make our top 6, here are some other great books you may want to explore:

  • Rescue the Problem Project: A Complete Guide to Identifying, Preventing, and Recovering from Project Failure by Todd Williams
  • Project Management for the Unofficial Project Manager by Kory Kogan
  • When: The Scientific Secrets of Perfect Timing by Daniel K Pink
  • The Power of Habit: Why We Do What We Do in Life and Business by Charles Duhigg

What is Agile Iterative Approach and where is it used?

To keep up with the market demand, the fast-evolving scenarios of the digital business have placed mounting pressure on CIOs, to deliver equally fast software development.

According to Gartner, growing number of IT organizations are opting for Agile development to speed up project deliveries and illustrate business value.

The 12th Annual State of Agile report found that one of the top five reported reasons for adopting Agile methodologies, was accelerated software delivery, increasing to 75% in 2018. Whereas Iterative Planning, with an 88% increase, was the second most employed Agile Technique in 2018.

What Is Agile Iterative Development?

Agile methods of software development are most commonly described as iterative and incremental development. Iterative strategy is the cornerstone of Agile practices, most prominent of which are SCRUM, DSDM and FDD. The general idea is to split the development of the software into sequences of repeated cycles (iterations). Each iteration is issued a fixed-length of time known as a timebox. A single timebox typically lasts 2-4 weeks. [1]

The Agile Iterative Model is perhaps best explained by Craig Larman in his book Agile and Iterative Development – A Manager’s Guide.[2] Larman explains that the model functions on an ADTC Wheel (Analysis, Design, Code, Test). This is to say that each iteration cycle incorporates the Analysis of the plan, the Design, its Code and simultaneously the Test. The ADTC wheel is more technically referred to as the PDCA (Plan, Design, Check, Adjust) cycle. The agile team implements the PDCA cycle on each iteration separately in the following manner:

P (Plan) – Iteration Planning. In this event, the team collaborates to discuss the objectives for the next iteration. It also summarizes the work done and determines the team backlog required for the next iteration.

D (Design) – Iteration Execution. This is the ‘do’ step where the development of the software, its design and coding takes place. If it’s a second or third iteration, then functionality testing is also conducted. The team collects user stories and prepares for the next step, that is Iteration Review.

C (Check) – Iteration Review. Also known as the ‘check’ step, Iteration Review is carried out with the Product Owner. The team shows the tested deliverable to the Product Owner, who then reviews the completed work and ascertains whether all criteria have been met.

A (Adjust) – Iteration Retrospect. In this event, the team evaluates the entire process of the iteration from the first step. It essentially works on any improvements that are gathered in previous iterations. New problems are identified along with their causes. Before the team starts the next cycle again, team backlog is refined for future reference. [3]


Advertisement

The iterations are repeated for optimizations and improvisations and, the lessons learned from previous cycles are applied in the next cycle. Until a fully functional software is ready to hit the market.

wilson 06272018a

Benefits of Agile Iterative development

Agile Iterative development was created as a more flexible alternative to the otherwise traditionally rigid method of Waterfall. 

The waterfall method is a linear approach that proceeds sequentially from one phase to next, without allowing the development to return back to the previous step. Goes without saying, the waterfall method causes impending repercussions, that include but are not limited to: increased development costs, prolonged software delivery and additional resource input. [4]

Sudhakar Gorti, CIO for Environmental Data Resources agrees, “One of the major benefits of agile over waterfall is that you see a deliverable on an iterative basis and the Product Owner can decide to make changes to the product backlog”.

Customer Involvement – Agile Iterative development encourages user contribution. After each iterative cycle, customer feedback is obtained, and the product is then subjected to necessary changes based on that feedback. This aspect brings adaptability into the project’s framework.

Favors Evolution – The planning in agile iterative development process is a continuous feat, that allows space for evolving ideas, instead of an extensive planning that only precedes execution and testing in waterfall.

Risk Assessment – Agile iteration allows risk identification and mitigation early on in the development to avoid speed bumps later down the timeline.

Rapid Delivery – The work is divided into small cycles, allowing team members to dedicate their focus and deliver on time. Moreover, testing is conducted simultaneous to coding and design in every iteration, which greatly reduces the time needed to achieve completion. [5]

Where is Agile Iterative Development Employed?

Agile Iterative approach is best suited for projects or businesses that are part of an ever-evolving scope. Projects that do not have a defined set of requirements intended for a defined set of time. For such cases, Agile iterative approach helps minimize the cost and resources needed each time an unforeseen change occurs. [6]

nTask, a new, smarter task management software was created using SCRUM methodology. SCRUM enables independent team work using the ADCT wheel, for which various nTask teams worked collaboratively in two-week sprints (iterations). Since the scope of nTask is continuously evolving, and additions are made on a weekly basis, the iterative approach enables the nTask development to switch back and forth for optimizations.

Brad Murphy, CEO of Agile consultancy Gear Stream, believes that Agile Iterative approach is now extensively serviceable in zones other than software development.

He explains how Digital Marketing can benefit from the iterative approach by using the element of frequent delivery to collect customer feedback. Fastly solicited feedback can directly aid in improving subsequent iterations to attract larger traffic. [7]

According to the investigations of The Deloitte Center for Government Insights, 80% of major federal IT projects termed themselves to be “agile iterative” in 2017. One reason for this rise was easily accounted by the reduction in time taken to complete a project in harmony with the total cost of the project. [8]

Another report from Deloitte in 2015 reveals banks like Barclays have also begun utilizing iterative approaches such as SCRUM on more than 20% of their internal audits. Barclays conceded to benefiting from SCRUM in areas such as risk management and planning.

Agile I.A is not limited to IT organizations and financial firms only. Walmart, one of the world’s largest retailer also employs the use of Agile I.A for internal audits. One of their many successes post-agile induction included time saving in comparison to traditional audit approach. [9]

Ricky Barr, managing director Internal Audit, United Airlines, sums his experience of employing Deloitte’s Agile Internal Audit as “a faster audit-cycle-time via time-boxed iterations”.

Up until 8 years ago, many corporations such as Gartner’s vast majority of clients still used traditional waterfall methods for application development. But with demonstrable benefits of Agile over the years, that ranged from increased business value to strong organizational impact, the Agile community has expanded from start-ups to Global brands like that of IBM and Cisco. 

References
1. https://www.linkedin.com/pulse/agile-iterative-incremental-waterfall-manish-thakkar
2. https://www.amazon.com/gp/product/0131111558?ie=UTF8&tag=alaridsblo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0131111558
3. https://www.scaledagileframework.com/iterations/
4. https://www.cio.com/article/3048535/leadership-management/how-to-get-agile-to-work-at-your-company.html
5. https://www.linkedin.com/pulse/why-consider-agile-project-management-manish-thakkar?articleId=6119346380818440192#comments-6119346380818440192&trk=prof-post
6. https://www.upwork.com/hiring/development/agile-vs-waterfall/
7. https://blogs.gartner.com/jake-sorofman/agile-isnt-just-for-geeks-anymore/
8. https://www2.deloitte.com/insights/us/en/industry/public-sector/agile-in-government-by-the-numbers.html
9. https://www2.deloitte.com/content/dam/Deloitte/uk/Documents/finance/deloitte-uk-putting-agile-ia-into-action.pdf

A PM’s Guide to Use Cases – Part 3: Use Case Narratives

As promised, this is the fifth article in our modeling series and the third on use cases. We’ll start with a short summary of the main concepts covered previously.

Summary of previous articles

Here are the highlights of the requirements modeling articles written to date:

  • To get good requirements, we need to ask the right questions. We need to ask both high-level consultative questions to determine the true business need, as well as questions about the features, characteristics, and functionality needed to develop the end product (solution). Modeling helps uncover requirements related to these product features and functions. Asking questions enables us to model the requirements. Modeling requirements, in turn, uncovers gaps that lead to further questions and ultimately helps us deliver the product that our stakeholders want and expect. See previous article at: http://www.projecttimes.com/elizabeth-larson/a-project-managers-guide-to-requirements-modeling.html
  • A model is a representation of reality, like a model car, airplane prototype, or graphical design (e.g., a CAD drawing) of a house. As they relate to requirements, models usually consist of text, graphics representations, or both. See http://www.projecttimes.com/elizabeth-larson/a-project-managers-guide-to-requirements-modeling.html
  • As PMs we might not do business analysis work ourselves, but we need to ensure that work is done. So it’s important for us to be able to have enough understanding of these models to ask the right project questions of the resources who will be doing the elicitation and modeling. Refer to http://www.projecttimes.com/elizabeth-larson/a-pms-guide-to-requirements-modeling-part-2-concurrent-requirements-modeling.html
  • There are different categories of requirements, including data and process. Use cases describe a third category—interaction. When we use any kind of user interface, such as a mobile phone app or enter any information into any screen or web page, we are interacting with the “system.” Use cases describe this interaction between us (actors) and the system. See http://www.projecttimes.com/elizabeth-larson/a-pms-guide-to-use-cases-part-1-what-is-a-use-case-and-why-should-pms-care.html
  • In other words, a use case describes the conversation back and forth between actors and a system. The system contains all the work we want to do on the project, and a use case diagram is useful in helping us determine this scope of work as it relates to the final product. Actors always interact directly with the system, but are always outside the system. They can initiate a use case, provide input to it, and/or receive outputs from it. Actors can be people, other systems, time triggers, or event triggers. http://www.projecttimes.com/elizabeth-larson/a-pms-guide-to-use-cases-part-1-what-is-a-use-case-and-why-should-pms-care.html
  • Use cases help our projects in two very different ways. Use case diagrams are immeasurably helpful in understanding scope and the use case narrative is invaluable for getting the detail needed to build the product or service. Although used primarily in software development, use cases are also helpful when creating processes and developing equipment. They work wherever there is interaction between people and what those people need to do. Refer to: http://www.projecttimes.com/elizabeth-larson/a-pms-guide-to-use-cases-part-1-what-is-a-use-case-and-why-should-pms-care.html
  • Use case models contain the use case diagram that we described in the last article and a textual description of each use case shown on the diagram. We have described the diagram in great detail in the last two articles. Here we will describe the purpose of the use case narrative, the five questions these narratives help answer, and how invaluable this information is to both the business stakeholders and development team. 

Use Case Narratives

The use case diagram shows the use cases, which are the features contained in the system. Each use case is shown as an oval and named as a-process with a verb to describe the action, such as Request Item or Ship Item. Use case narratives describe the process steps inside each use case. The narratives are needed because while it is great to see the features at a glance, no one really understands what these process names mean until we describe the detailed steps. If we told a developer to build a feature and all we gave them was the name “Request Item,” they would have to ask tons of questions and/or make lots of assumptions about how people would interact with the system when they wanted to request items from a website. We have found that those developers who actually read them love these narratives because they save so much time.

Below is an example of a use case narrative that describes the process steps involved in reserving an item in inventory in an Order system. To create the narrative we include the following:

  • A number and name that identify the use case. These are often assigned according to the organization’s standards, templates, and/or requirements processes. 
  • The pre-and post-conditions describe the scope of each use case. Since each use case begins and ends, we need to tell it where to begin and when to end. 
  • A matrix with what the actor does and how the system responds to each actor request. 
  • Primary, alternate, and exception flows, which we explain below. 

Below is an example of a use case narrative. The numbers on the use case narrative correspond to five important questions that use case narratives answer and which are listed below the narrative example. 

LarsonDecemberFigure 1 – Example of a Use Case Narrative

  1. At what point is the use case ready to begin? That is, what has to occur before the use case process can begin? Our example is about what the system does to reserve an item in inventory after it has been requested by a customer. When does this use case begin? Is the customer already logged in? Can they reserve items without being identified as a customer? These are business rules that have to be answered by stakeholders. Is the system available? Which user interface (screen/web page) are they on? The use case pre-condition answers this important question and if it is not known when the developers start working on it, they will struggle and lose time arguing about it. 
  2. When is the use case complete?  In other words, when is done “done?” What do we mean by complete? That’s another tricky question to answer. The use case narrative answers this question in the post-condition(s). The post-condition(s) together with the pre-condition set the boundaries of the use case. Again using our example, is the use case done when the item is shipped to the customer? When the item information is sent to the warehouse for packing and shipping? We don’t know and we should not assume. If the use case is about reserving items in inventory, shipping the item to the customer is clearly out of scope for this use case, although in scope for a different use case, one relating to shipments. 
  3. What is the most common way of getting from the beginning of the use case to the end? That is, from the pre- to the post-condition. This is our primary path, sometimes known as the happy path. Let’s have a quick peek at the happy path. We always start with the actor action and always end with the system response, or how the system responds to the actor request. The system response lists all the process steps in response to an actor action until another actor, if any, triggers another response from the system. These steps continue until the post-condition is reached. 
  4. What other ways can we get from the beginning to the end? These are our alternate paths. We’ll reach our post-condition, but not in the most routine way. That is, we’ll take a different route. Sometimes we return to the main path, sometimes not. In the above example, we return to the primary path. 
  5. What might prevent us from reaching our post-conditions? These are our exceptions. Exceptions take us off the path entirely and terminate the use case. 

To better explain this example, let’s use the example of getting home from work—in this case by car. Let’s say that our pre-condition is that we have left our office building. Our post-condition is that our car is parked in our garage at home. Our routine way to get home is to drive on the interstate. Some days, however, the traffic is so bad that we take side roads. We still get to our post-condition, just in a different way. This path, then, is the alternate path. However, let’s say that we try to start the car and the car won’t start and has to be towed some place for repairs. That is an exception that prevents us from reaching the post-condition. 

Test scenarios, acceptance criteria, and “Given-When-Then”

The three narrative flows are similar to test case scenarios. One of the advantages of taking the time to create use case narratives is that test scenarios will be pretty much complete as well. In addition, the post-condition(s) will help us determine the acceptance criteria. Finally, many Agile projects use a “given-when-then” format to help with testing. The use case narratives provide this information. The “given” is the pre-condition(s), the “when” are the actor actions, and the “then” are system responses. Let’s refer to our use case narrative example.

Given that the system is available, the customer is logged on, and that the customer has navigated to the page to enter line items, when the customer enters the item number, then the system verifies the number with a digit check verification, and so forth.

Summary

Use case narratives take time to create. However, it’s not creating the model that takes the most time. It’s the thought process about the interactions between actors and the system that take the most time. The time that it takes to think through these interaction steps is time that has to happen regardless of what format is used to document it. Use case narratives provide a structured way to get us through the thought process, helping us ask the necessary questions, and giving us complete interaction requirements, which are needed to build a solution that works for our stakeholders.

  • 1
  • 2