Click here to close now.

Welcome!

@MicroservicesE Blog Authors: Lori MacVittie, Cloud Best Practices Network, Liz McMillan, Elizabeth White, Michael Kanasoot

Related Topics: Java IoT, @MicroservicesE Blog, 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
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain fact is that established IT processes reflect a very different set of goals: stability, infrequent change, hands-on administration, and alignment with ITIL. So how does an enterprise IT organization implement change...
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
The cloud has transformed how we think about software quality. Instead of preventing failures, we must focus on automatic recovery from failure. In other words, resilience trumps traditional quality measures. Continuous delivery models further squeeze traditional notions of quality. Remember the venerable project management Iron Triangle? Among time, scope, and cost, you can only fix two or quality will suffer. Only in today's DevOps world, continuous testing, integration, and deployment upend...
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations migh...
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Mashape is bringing real-time analytics to microservices with the release of Mashape Analytics. First built internally to analyze the performance of more than 13,000 APIs served by the mashape.com marketplace, this new tool provides developers with robust visibility into their APIs and how they function within microservices. A purpose-built, open analytics platform designed specifically for APIs and microservices architectures, Mashape Analytics also lets developers and DevOps teams understand w...
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud envir...
Sumo Logic has announced comprehensive analytics capabilities for organizations embracing DevOps practices, microservices architectures and containers to build applications. As application architectures evolve toward microservices, containers continue to gain traction for providing the ideal environment to build, deploy and operate these applications across distributed systems. The volume and complexity of data generated by these environments make monitoring and troubleshooting an enormous chall...
Containers and Docker are all the rage these days. In fact, containers — with Docker as the leading container implementation — have changed how we deploy systems, especially those comprised of microservices. Despite all the buzz, however, Docker and other containers are still relatively new and not yet mainstream. That being said, even early Docker adopters need a good monitoring tool, so last month we added Docker monitoring to SPM. We built it on top of spm-agent – the extensible framework f...
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
SYS-CON Events announced today that the "Second Containers & Microservices Conference" will take place November 3-5, 2015, at the Santa Clara Convention Center, Santa Clara, CA, and the “Third Containers & Microservices Conference” will take place June 7-9, 2016, at Javits Center in New York City. Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities.
The causality question behind Conway’s Law is less about how changing software organizations can lead to better software, but rather how companies can best leverage changing technology in order to transform their organizations. Hints at how to answer this question surprisingly come from the world of devops – surprising because the focus of devops is ostensibly on building and deploying better software more quickly. Be that as it may, there’s no question that technology change is a primary fac...