Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry.
> Shop now
Bridging the Communication Gap is a book about improving communication between customers, business analysts, developers and testers on software projects, especially by using specification by example and agile acceptance testing. These two key emerging software development practices can significantly improve the chances of success of a software project. They ensure that all project participants speak the same language, and build a shared and consistent understanding of the domain. This leads to better specifications, flushes out incorrect assumptions and ensures that functional gaps are discovered before the development starts. With these practices in place you can build software that is genuinely fit for purpose.
{"itemData":[{"priceBreaksMAP":null,"buyingPrice":24.87,"ASIN":"0955683610","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":30.2,"ASIN":"1617290084","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":41.87,"ASIN":"0321534468","isPreorder":0}],"shippingId":"0955683610::debZ1ip2qbmIg40px9KrM0EajjN2FxR3pOOUluvJyDAuX6y9OHzVE9v6LR7z2f1BihD0vRyP%2Bhh0mPEMYdBaZgXQlEAdbsHiSF7gmVLL%2BYwIjCr1LwxbaQ%3D%3D,1617290084::SkL%2B9FlBJ8FSZG1MzXgzDhq4hbudaImJeq3Kug%2BkdkgSFT0FkaxgxMgqK5uCf5InELyafCGAwmm%2FyI%2FUsbs2x%2FzRwQzOVn1kY2NYIqx2XfnjQmWbT8QRIQ%3D%3D,0321534468::UpmmmjatHNVfhlXUZNEdEG0gbM2ihytH0hVUoLrp5W%2FCcTnnV3NPPhLwmAh2lgBEHFtyUG%2Ft%2BwIA17cT%2BlbF9g7YlXBnUDUBmKzK2NXhRSY%3D","sprites":{"addToWishlist":["wl_one","wl_two","wl_three"],"addToCart":["s_addToCart","s_addBothToCart","s_add3ToCart"],"preorder":["s_preorderThis","s_preorderBoth","s_preorderAll3"]},"currenyCode":"USD","shippingDetails":{"xz":"availability","yz":"same","xy":"availability","xyz":"availability"},"tags":["x","y","z"],"strings":{"showDetails":"Show details","differentAvailabilityAll":"Some of these items ship sooner than the others.","addToWishlist":["add to wishlist","Add both to Wish List","Add all three to Wish List"],"shippingError":"An error occurred, please try again","differentAvailability":"One of these items ships sooner than the other.","preorder":["Pre-order this item","Pre-order both items","Pre-order all three items"],"addToCart":["Add to Cart","Add both to Cart","Add all three to Cart"],"showDetailsDefault":"Show availability and shipping details","priceLabel":["Price:","Price for both:","Price for all three:"],"hideDetailsDefault":"Hide availability and shipping details","hideDetails":"Hide details"}}
Gojko Adzic is a strategic software delivery consultant who works with ambitious teams to improve the quality of their software products and processes. He specialises in agile and lean quality improvement, in particular agile testing, specification by example and behaviour driven development.
Gojko's book Specification by Example was awarded the #2 spot on the top 100 agile books for 2012 and won the Jolt Award for the best book of 2012. In 2011, he was voted by peers as the most influential agile testing professional, and his blog won the UK agile award for the best online publication in 2010.
"Bridging the communication gap" by Gojko Adzic is a much needed book on a very important topic that finally is deserving the attention it needs: Agile acceptance testing. This practice is also known as "automated acceptance testing" or as "acceptance-test-driven development." It has evolved over the last decade, but was known and used in a relative small group. Every year there would be a couple papers on the topic, Lasse Koskela covered it a bit in his "Test-Driven" but now finally Gojko takes the subject further and devotes a whole book on it.
What is it? Agile Acceptance Testing is a technique for closing the communication gap between business, developers and testers. A way to write specifications as examples which become executable. The specification are created together in a workshop and not handed over like traditional requirements.
The book is written in four parts. The first part is an introduction to the topic, describes an overview of the technique. An important part of this part (and the whole book) is the focus on communication instead of test. This is reflected in the excellent discussion about naming. Agile Acceptance Testing is perhaps one of the most poorly named practices, but... still... thats the name it became popular with (or with A-TDD). The second part is the most important parts of the book, which describes how to write specifications, why to work with examples, how to run specification workshops and what to do after these workshops. The part ends with a discussion about change in projects and how the automated acceptance test help with that.
The third part discusses implementation. It starts with how to fit this technique in an iteration and how to adopt the practice. Next is a chapter on user stories and its relationship with acceptance tests. Then the part dives in the tools by first covering the current tools and then discussing the requirements for the future tools. The last part of the book describes the impact of agile acceptance testing on the different functions: business analyst, developer and tester.
Bridging the Communication Gap is a small book (300 pages) and is easy to read. It could have been smaller, the writing is sometimes a little too wordy. It doesn't contain too much pictures, which is too bad when a book talks so much about workshops. Yet, despite these drawbacks, I think this is an excellent book and a much needed contribution to the modern software development/agile development literature. It was one of the few practices that did not have its own book yet and Gojko provided that.
I was doubting between 4 and 5 stars for this review. 4 because this book is certainly not perfect. 5 stars because it is good still. Because this is a first in a new area and because I consider this an important area, I decided to go for 5 stars. This will certainly be a book that I will be recommending to other people (and in fact, I already have). Great work Gojko!
Teams transitioning to agile development tend to focus on process rather than values. But you can't simply master a set of practices and be successful. Your whole team needs to understand what your business needs so you can deliver value. Your whole team needs to commit to creating a quality product.
This book not only explains how to use examples to understand requirements and create tests that drive coding, it explains the cultural shift needed for successful software development. The author explains the communication gap, why we should care about it, and how we can fix it.
Whether you're new to agile development, or are on an experienced team wondering why you keep missing or misunderstanding the business requirements, this book delivers critical value.
One of the first lessons of the book is that we in IT should pay more attention to the marketing of our methods. Thet second big lesson that the book describes is how specifications can me made more clear by working together as a team and saving lots of time when we store the specifications in testing tools in a format that customers can read and understand.