Click here to close now.


Microservices Expo Authors: Carmen Gonzalez, Liz McMillan, Elizabeth White, Ian Khan, Jason Bloomberg

Related Topics: Java IoT, Microservices Expo, Microsoft Cloud, Open Source Cloud

Java IoT: Book Review

Book Review: Executable Specifications with Scrum

A Practical Guide to Agile Requirements Discovery

This book is exactly what the sub-title "A Practical Guide to Agile Requirements Discovery" says it is. The book is a very detailed breakdown of the steps that should be taken by Scrum teams that want to succeed.

I have listed the chapters below to give you an overview of the topics the author covers in this book.

Chapter 1. Solving the Right Problem
Chapter 2. Relying on a Stable Foundation
Chapter 3. Discovering Through Short Feedback Loops and Stakeholders’ Decrements
Chapter 4. Expressing Desirements with User Stories
Chapter 5. Refining User Stories by Grooming the Product Backlog
Chapter 6. Confirming User Stories with Scenarios
Chapter 7. Automating Confirmation with Acceptance Tests
Chapter 8. Addressing Nonfunctional Requirements
Chapter 9. Conclusion

In the first chapter the author covers how the scrum teams can distinguish requirements from the solution. In other words the what from the hows.

In the second chapter the author shows how to develop guardrails which are basically the artifacts and activities that will keep the project within its defined scope. The examples that the author uses are a healthy team, involvement of all stakeholders, a shared vision, a meaningful common goal, a set of high-level features, and "can-exist" assumption.

In chapter 3 the author really drives home applying the trial and error method for discovering desirements through short feedback loops.

In chapter 4, Expressing Desirements with User Stories, the author does a great job of showing how to create user stories. He does a great job of breaking down the structure of the user story and introducing the questions that you ask when creating them- who, what, and why, questions. The author also touches on the importance of establishing Ubiquitous Language. Ubiquitous Language is a shared team language that defines a certain domain. Chapter 6 also touches on Ubiquitous Language. He ends the chapter by introducing how to use a product backlog to record desirements.

The next chapter, Refining User Stories by Grooming the Product Backlog, is all about roles and activities that need to be in place in order to managing the product backlog correctly. Topics include Managing the Product Backlog, Collaborating to Groom the Product Backlog, Ranking User Stories with a Dot Voting Method, Illustrating User Stories with Storyboards, Sizing User Stories Using Comparison, Splitting User Stories Along Business Values, Tracking User Stories with a Collaboration Board, and Delivering a Coherent Set of User Stories.

Chapter 6 is all about confirming your User Stories by scripting scenarios that validate them. The author also introduces two tools for automating validation. He introduces the Framework for Integrated Test (FIT) and the Given-When-Then syntax the Behavior-Driven Development (BDD) community uses. He also touches on Ubiquitous Language again and its importance.

Chapter 7 is all about automating confirmation, which is done by turning scenarios into acceptance tests. This chapter explains how to make the scenarios “executable” by a computer. The author introduces existing BDD automation frameworks which include Cucumber for Ruby, JBehave for Java, and SpecFlow for Microsoft .NET. I downloaded SpecFlow which is a solid framework backed up by very thorough documentation.

The last chapter before the concluding chapter covers Nonfunctional Requirements (Quality Attributes). Quality attributes are all about tradeoffs and constraints. The author does a great job of explaining quality attributes, showing how they are broken down into internal and external categories, and then applied through constraints (which he calls restrictions).

The two things I like most about this book was the flow of the chapters and the author's recognition of the importance of architecture.

The chapters build on each other so I definitely recommend a cover to cover read of the book. The author has a great writing style, so that is easy to do.

When the author spells out what roles make up a team he includes architects. He defines architects as members of the development team who are responsible for designing the structural foundation upon which the solution is built. Their role is to ensure the development team builds the software right and delivers quality work. I have seen a lot of confusion in Scrum teams when it comes to architecture, because a lot of the Scrum material out there today discounts it.

All in all I found this book a very enjoyable read. If you are involved with agile development teams, you should definitely read this book. The elicitation of requirements is really lacking in most of the agile teams I encounter. This book can help to remedy that.

Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery

More Stories By Tad Anderson

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

@MicroservicesExpo Stories
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York and Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty ...
Internet of @ThingsExpo, taking place June 7-9, 2016 at Javits Center, New York City and Nov 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 18th International @CloudExpo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo New York Call for Papers is now open.
Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Day 2 Keynote at 17th Cloud Expo, San...
In his General Session at DevOps Summit, Asaf Yigal, Co-Founder & VP of Product at, explored the value of Kibana 4 for log analysis and provided a hands-on tutorial on how to set up Kibana 4 and get the most out of Apache log files. He examined three use cases: IT operations, business intelligence, and security and compliance. Asaf Yigal is co-founder and VP of Product at log analytics software company In the past, he was co-founder of social-trading platform Currensee, which...
There are over 120 breakout sessions in all, with Keynotes, General Sessions, and Power Panels adding to three days of incredibly rich presentations and content. Join @ThingsExpo conference chair Roger Strukhoff (@IoT2040), June 7-9, 2016 in New York City, for three days of intense 'Internet of Things' discussion and focus, including Big Data's indespensable role in IoT, Smart Grids and Industrial Internet of Things, Wearables and Consumer IoT, as well as (new) IoT's use in Vertical Markets.
The Internet of Things (IoT) is growing rapidly by extending current technologies, products and networks. By 2020, Cisco estimates there will be 50 billion connected devices. Gartner has forecast revenues of over $300 billion, just to IoT suppliers. Now is the time to figure out how you’ll make money – not just create innovative products. With hundreds of new products and companies jumping into the IoT fray every month, there’s no shortage of innovation. Despite this, McKinsey/VisionMobile data...
One of the most important tenets of digital transformation is that it’s customer-driven. In fact, the only reason technology is involved at all is because today’s customers demand technology-based interactions with the companies they do business with. It’s no surprise, therefore, that we at Intellyx agree with Patrick Maes, CTO, ANZ Bank, when he said, “the fundamental element in digital transformation is extreme customer centricity.” So true – but note the insightful twist that Maes adde...
Just over a week ago I received a long and loud sustained applause for a presentation I delivered at this year’s Cloud Expo in Santa Clara. I was extremely pleased with the turnout and had some very good conversations with many of the attendees. Over the next few days I had many more meaningful conversations and was not only happy with the results but also learned a few new things. Here is everything I learned in those three days distilled into three short points.
Using any programming framework to the fullest extent possible first requires an understanding of advanced software architecture concepts. While writing a little client-side JavaScript does not necessarily require as much consideration when designing a scalable software architecture, the evolution of tools like Node.js means that you could be facing large code bases that must be easy to maintain.
As organizations realize the scope of the Internet of Things, gaining key insights from Big Data, through the use of advanced analytics, becomes crucial. However, IoT also creates the need for petabyte scale storage of data from millions of devices. A new type of Storage is required which seamlessly integrates robust data analytics with massive scale. These storage systems will act as “smart systems” provide in-place analytics that speed discovery and enable businesses to quickly derive meaningf...
DevOps is about increasing efficiency, but nothing is more inefficient than building the same application twice. However, this is a routine occurrence with enterprise applications that need both a rich desktop web interface and strong mobile support. With recent technological advances from Isomorphic Software and others, rich desktop and tuned mobile experiences can now be created with a single codebase – without compromising functionality, performance or usability. In his session at DevOps Su...
You may have heard about the pets vs. cattle discussion – a reference to the way application servers are deployed in the cloud native world. If an application server goes down it can simply be dropped from the mix and a new server added in its place. The practice so far has mostly been applied to application deployments. Management software on the other hand is treated in a very special manner. Dedicated resources are set aside to run the management software components and several alerting syst...
It's been a busy time for tech's ongoing infatuation with containers. Amazon just announced EC2 Container Registry to simply container management. The new Azure container service taps into Microsoft's partnership with Docker and Mesosphere. You know when there's a standard for containers on the table there's money on the table, too. Everyone is talking containers because they reduce a ton of development-related challenges and make it much easier to move across production and testing environm...
People want to get going with DevOps or Continuous Delivery, but need a place to start. Others are already on their way, but need some validation of their choices. A few months ago, I published the first volume of DevOps and Continuous Delivery reference architectures which has now been viewed over 50,000 times on SlideShare (it's free to registration required). Three things helped people in the deck: (1) the reference architectures, (2) links to the sources for each architectur...
Continuous processes around the development and deployment of applications are both impacted by -- and a benefit to -- the Internet of Things trend. To help better understand the relationship between DevOps and a plethora of new end-devices and data please welcome Gary Gruver, consultant, author and a former IT executive who has led many large-scale IT transformation projects, and John Jeremiah, Technology Evangelist at Hewlett Packard Enterprise (HPE), on Twitter at @j_jeremiah. The discussion...
Hiring the wrong candidate can cost a company hundreds of thousands of dollars, and result in lost profit and productivity during the search for a replacement. In fact, the Harvard Business Review has found that as much as 80 percent of turnover is caused by bad hiring decisions. But when your organization has implemented DevOps, the job is about more than just technical chops. It’s also about core behaviors: how they work with others, how they make decisions, and how those decisions translate t...
In today's enterprise, digital transformation represents organizational change even more so than technology change, as customer preferences and behavior drive end-to-end transformation across lines of business as well as IT. To capitalize on the ubiquitous disruption driving this transformation, companies must be able to innovate at an increasingly rapid pace. Traditional approaches for driving innovation are now woefully inadequate for keeping up with the breadth of disruption and change facin...
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound...
PubNub has announced the release of BLOCKS, a set of customizable microservices that give developers a simple way to add code and deploy features for realtime apps.PubNub BLOCKS executes business logic directly on the data streaming through PubNub’s network without splitting it off to an intermediary server controlled by the customer. This revolutionary approach streamlines app development, reduces endpoint-to-endpoint latency, and allows apps to better leverage the enormous scalability of PubNu...
I recently attended and was a speaker at the 4th International Internet of @ThingsExpo at the Santa Clara Convention Center. I also had the opportunity to attend this event last year and I wrote a blog from that show talking about how the “Enterprise Impact of IoT” was a key theme of last year’s show. I was curious to see if the same theme would still resonate 365 days later and what, if any, changes I would see in the content presented.