Welcome!

Microservices Expo Authors: Liz McMillan, Pat Romanski, Elizabeth White, Stackify Blog, Andreas Grabner

Related Topics: Microsoft Cloud, Microservices Expo, Machine Learning

Microsoft Cloud: Book Review

Book Review: Mastering the Requirements Process

Getting Requirements Right

Today we have a lot of different software development processes to choose from. We have Scrum, XP, the Unified Process, the Rational Unified Process, the Open Unified Process, the Enterprise Unified Process, Lean Processes, DSDM, TDD, Cleanroom, RAD, Spiral, and Waterfall. I am sure there are plenty more. Those are just the ones I can think of sitting here waiting on the train.

All the different processes out there have one thing in common, not getting requirements right is their Achilles' heel. Wrong requirements mean a lot of rework at best, and complete project failure in the worst scenarios.

The Volere Requirement Process described in this book can be used with any of the processes listed above. Every process needs to gather requirements.

After starting with some fundamental truths about requirements gathering and an introduction to the Volere Requirement Process the author digs into the detail of the process's activities and resulting artifacts. I have listed the chapters below. The titles give you an idea of the variety of topics covered.

1. Some Fundamental Truths
2. The Requirements Process
3. Scoping the Business Problem
4. Business Use Cases
5. Investigating the Work
6. Scenarios
7. Understanding the Real Problem
8. Starting the Solution
9. Strategies for Today’s Business Analyst
10. Functional Requirements
11. Non-functional Requirements
12. Fit Criteria and Rationale
13. The Quality Gateway
14. Requirements and Iterative Development
15. Reusing Requirements
16. Communicating the Requirements
17. Requirements Completeness
A. Volere Requirements Specification Template
B. Stakeholder Management Templates
C. Function Point Counting: A Simplified Introduction
D. Volere Requirements Knowledge Model
Volere: Requirements Resources

The authors really give a lot of great advice on techniques for eliciting (they refer to it as trawling) requirements. They have outlined some great ways to interact with the project stakeholders that will get them thinking about the requirements that need to be met. It is clear the authors understand how difficult it can be working with stakeholders. The elicitation techniques account for stakeholders who have no idea what they are looking, to those that think they know what they want but need convinced otherwise, because they don't have a full picture of the context yet.

The attention given to non-functional requirements was great. I have seen some requirements books that mention them but stay within the context of functional requirements. This book has a full chapter on them and treats them throughout the rest of the book as first class citizens. The reason I mention this is, that as a software architect, the non-functional (quality attributes) are what I am interested in during the architecture phase.

One of the things I really like about the book is that it includes the entire Volere Requirements Specification in one the appendices. My one gripe with the book is that you have to pay $55 to download the electronic version of the template from the author's web site.

The authors do a really great job of covering the full requirements gathering process using a case study. They cover a ton of deliverables and they cover them in depth.

One of the other things I found really cool was the Requirements Knowledge Model. It shows the collected knowledge you gain throughout the requirements process It also provides a common language to use for managing and communicating requirements.

The reason I found this to be so cool is that the number one thing documenting a system does for me is give me the detailed knowledge I need to understand it. More problems are usually found trying to communicate a system to different stakeholders than are found just running it.

Overall I found this book easy to read and understand. The authors have a great writing style.

If you have anything to do with requirements, no matter the process, this book belongs on your shelf.

Mastering the Requirements Process: Getting Requirements Right

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Microservices Articles
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
SYS-CON Events announced today the Kubernetes and Google Container Engine Workshop, being held November 3, 2016, in conjunction with @DevOpsSummit at 19th Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA. This workshop led by Sebastian Scheele introduces participants to Kubernetes and Google Container Engine (GKE). Through a combination of instructor-led presentations, demonstrations, and hands-on labs, students learn the key concepts and practices for deploying and maintainin...
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
As software becomes more and more complex, we, as software developers, have been splitting up our code into smaller and smaller components. This is also true for the environment in which we run our code: going from bare metal, to VMs to the modern-day Cloud Native world of containers, schedulers and micro services. While we have figured out how to run containerized applications in the cloud using schedulers, we've yet to come up with a good solution to bridge the gap between getting your contain...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
DevOps is speeding towards the IT world like a freight train and the hype around it is deafening. There is no reason to be afraid of this change as it is the natural reaction to the agile movement that revolutionized development just a few years ago. By definition, DevOps is the natural alignment of IT performance to business profitability. The relevance of this has yet to be quantified but it has been suggested that the route to the CEO’s chair will come from the IT leaders that successfully ma...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, will discuss why containers should be paired with new architectural practices such as microservices ra...