Project Management

Acceptance: A Tale of Requirements and Their Meaning

From the PMI Global Insights Blog
by , , , , , ,
Whether it’s in-person or virtual, PMI events give you the right skills to complete amazing projects. In this blog, whether it be our Virtual Experience Series, PMI Training (formerly Seminars World) or PMI® Global Summit, experienced event presenters past, present and future from the entire PMI event family share their knowledge on a wide range of issues important to project managers.

About this Blog

RSS

View Posts By:

Cameron McGaughy
Julie Ho
Heather McLarnon
Laura Schofield
Michelle Brown
Kimberly Whitby
James Turchick

Past Contributors:

Johanna Rusly
April Birchmeier
Nikki Evans
Dalibor Ninkovic
Dr. Deepa Bhide
Chris DiBella
Nic Jain
Nicholas Sonnenberg
Klaus Nielsen, MBA, PMI-ACP, PMP
Karen Chovan
Jack Duggal
Catalin Dogaru
Priya Patra
Josh Parrott
Scott Lesnick-CSP
Antonio Nieto
Dimitrios Zaires
Ahmed Zouhair
Carmine Paragano
Te Wu
Scott Bain
Katie Mcconochie
Fabiola Maisonnier
Erik Agudelo
Paul Capello
Kiron Bondale
Jamie Champagne
Esra Tepeli
Renaldi Gondosubroto
Mel Ross
Laura Lazzerini
Kim Essendrup
Geetha Gopal
David Summers
Carol Martinez
Tai Cochran
Fabio Rigamonti
Archana Shetty
Geneviève Bouchard
Teresa Lawrence, PhD, PMP, CSM
Randall Englund
Kristy Tan Neckowicz
Moritz Sprenger
Mike Frenette
O. Chima Okereke
David Maynard
Nancie Celini
Brantlee Underhill
Claudia Alcelay
Sandra MacGillivray
Vibha Tripathi
Sharmila Das
Gina Abudi
Greg Githens
Joy Beatty
Sarah Mersereau
Lawrence Cooper
Donna Gregorio
Seth Greenwald
Bruce Gay
Wael Ramadan
Fiona Lin
Somnath Ghosh
Yasmina Khelifi
Erik Rueter
Joe Shi
Michel Thiry
Heather van Wyk
Jennifer Donahue
Barbara Trautlein
Steve Salisbury
Jill Diffendal
Yves Cavarec
Drew Craig
Stephanie Jaeger
Diana Robertson
Zahid Khan
Benjamin C. Anyacho
Nadia Vincent
Carlos Javier Pampliega García
Norma Lynch
Emily Luijbregts
Susan Coleman
Michelle Stronach
Sydni Neptune
Louise Fournier
Quincy Wright
Nesrin Aykac
Laura Samsó
Lily Woi
Jill Almaguer
Mayte Mata-Sivera
Marcos Arias
Karthik Ramamurthy
Michelle Venezia
Yoram Solomon
Cheryl Lee
Kelly George
Dan Furlong
Kristin Jones
Jeannette Cabanis-Brewin
Olivia Montgomery
Carlene Szostak
Hilary Kinney
Annmarie Curley
Dave Davis

Recent Posts

PMI Training: Business Case - Best Practices for Success Recap

Are You Going to Be Bitter or Better? Top Takeaways from a Keynote on Change

Lessons Learned From PMI Global Summit 2023

Diversity Celebrated at PMI Global Summit

Lean Portfolio Management to Align Enterprise Strategy

Categories

Agile, Agility, alignment, Ask the Expert, Benefits Realization, Best Practices, Bonding, Business Analysis, Calculating Project Value, Capital Projects, Career Development, Change Management, Cloud Computing, Collaboration, collaboration, Communication, Complexity, Congress 2016 Ask an Expert, Construction, Curiosity, Digital Transformation, digital transformation, Documentation, Earned Value Management, Education, EMEA, EMEA Congress Reflections, Engagement, engagement, Ethics, Events, Extra Info, Facilitation, forecasting, future, Generational PM, Global Congress 2016, Global Congress 2016 - North America, Global Summit, Global Summit 2023, Good News, Government, Healthcare, Human Aspects of PM, Human Resources, Identity, Innovation, IT Project Management, Kickoff, Leadership, Lessons Learned, Mentoring, Metrics, Networking, New Practitioners, Nontraditional Project Management, organisations, Organizational Risk, PM & the Economy, PM Think About It, PMI, PMI Congress, PMI Congress NA 2016, PMI EMEA Congress 2018, PMI Global Conference, PMI Global Conference 2017, PMI Global Conference 2019, PMI Global Congress - 2016, PMI Global Congress 2012 - North America, PMI Global Congress 2013 - EMEA, PMI Global Congress 2014 - North America, Pmi global congress 2014 - North America, PMI Global Congress 2015, PMI Global Congress 2015 - Ask the Expert, PMI Global Congress 2016 - EMEA, PMI Hours for Impact, PMI PMO Symposium 2013, PMI Pulse of the Profession, PMI Training, PMI Virtual Experience Series, PMIEMEA17, PMIEMEA19, PMO, PMXPO, Portfolio Management, Procurement, Professional Development, Program Management, Programs (PMO), Project Delivery, Project Failure, project kickoff, Project Planning, Project Requirements, Reflections on the PM Life, Risk, Risk Management, ROI, Roundtable, Scheduling, SeminarsWorld, Social Responsibility, SoftSkills, Stakeholder, Strategy, Sustainability, Talent Management, Teams, Techniques, test, The Moon, Tools, Training, Translations, Videos, Virtual Experience Series, Virtual Teams, Volunteering, war

Date


Categories: PMI Training


By: Scott L. Bain

A developer was working for a large financial company. The company leaders had an idea for a new product that would allow their customers to participate in foreign stock exchanges without having to stay up all night to time their transactions.

There would be many things to develop. A website that allowed customers to enter buy, sell, limit, and margin orders throughout the day to be transacted later when the foreign markets were open. A database would store all these accumulated transactions. Marketing would have to come up with a plan to promote this new product. Also a component, running on the server, would trigger at midnight to access a web service and commit these transactions as a batch.

The developer in question was assigned to create that timed component. The requirements seemed rather simple: The component would run on the main server and watch the system clock.  At midnight it would activate, retrieve all the transactions that had been stored throughout the day, open a connection to the external service, commit the transactions in the order they were entered, receive a confirmation code from the service, and write a log entry into the company’s daily activity log that included that code.

They knew how to open that web service connection, what the correct logic was to “commit” a transaction, and how to access the company’s logging API. Of course, they knew was “midnight” was. They met with the database administrator to learn the exact nature of the SQL table that would hold the transactions and what key to use to retrieve them in order. All of this seemed relatively familiar and straightforward and so they gave a low estimate on time and effort needed to get the work done.

Indeed, they got the component finished well within that time frame and checked the code in. The website and marketing were still in development and so they moved on to other work.

A few weeks later, the rollout of this new service was scheduled for a Monday. The day arrived and the product launched. It was immediately popular; many transactions were entered all throughout the day and everyone was enthusiastic about the product. The developer went home at the end of the day confident that the component would trigger at midnight and process the orders.

In the wee hours of the morning, they received a text. Disaster occurred; everyone was being called into the office. None of the transactions had gone through and they were anticipating many unhappy customers, perhaps even some legal action taken against the company. The developer went into work feeling a sense of puzzled dread.

What had gone wrong?

The transaction batch did not commit on time. It was too late. An SEC rule stated that if not every transaction was committed then none of them could be as a matter of fairness, so the external service had rejected the entire batch. Massive financial implications were the result.

This developer was relating this story to me a couple of years later.  I knew this person because they had been a student in several of my courses and in them had studied design, analysis, and testing.

“I didn’t know there was a deadline, a window past which the transaction would fail,” they said.

“An unasked question; that’s often the problem,” I replied. 

“Sure,” they said, “but then I realized something.  Even if I had known what that window was, I had accepted the requirement that the batch commit had to happen at midnight.  At midnight.  Nothing can happen at midnight.  Midnight is an infinitely short period of time and computers are not infinitely fast, and neither are internet connections.  Once it is midnight, it is immediately after midnight, right?  So what did the requirement actually mean?  By midnight?  Then how long before midnight should or can I start?  Starting at midnight?  Then how long do I have?  Also, this SEC regulation about all-or-nothing was something I had no idea about.”

“It sounds like this was not your fault,” I said.

“I guess not,” they replied, “but I realize that now, today, the way I work would have prevented this.  Today I would be driving everything from tests and the tests themselves would force me to ask the questions I didn’t.  The acceptance tests would make me ask ‘how will I know if I’ve failed?’ because I would need to start with a failing test.  Also, I would have realized the SEC was a stakeholder to my work and I would have included someone who understood their perspective.  The unit tests would force me to think carefully about the design of the component itself so I could do things like test it without having to execute the test at midnight in my pajamas.”

“Separation of concerns,” I said.

They smiled.  “Exactly. I now know how to achieve that without overcomplicating my designs.  But the real crux here was the fact that I didn’t understand what the requirements really meant, because the communication and collaboration had failed.  I lost that job as a result.”

This is not uncommon, unfortunately.  Communication, especially between technical and non-technical people is extremely unreliable.  Even when everyone intends well, there are too many mismatches among perspectives and too many questions that are missed.

Acceptance Test-Driven Development (ATDD) seeks to address this problem in a fundamental and comprehensive way.  How can we achieve a complete, meaningful, shared view of the product that is being proposed?  How can we record the results of the collaboration in a way that can be validated against the actual work as it is completed?  How will we know when we’ve succeeded?  How will we know when we’ve failed?

ATDD is a framework for highly effective collaboration across all parts of an organization.  It produces tests, but is not a testing activity.  It is a way to ensure that a product’s requirements are fully understood, including everyone’s perspectives. 

It is not a difficult framework, but it is essential if you want to ensure that everyone is on the same page and that the work to be done will be in complete alignment with the business value that drives it. It is something that everyone needs to know how to do.

 

Join me at PMI Training 17-18 April for NEW! Acceptance Test-Driven Development: Improving Communication, Empowering Collaboration, and Creating a Shared Specification for New Products with Scott Bain (pmi.org). 

Interested in learning more about trainings specifically developed by project management experts for project managers in a small group setting? Check out the PMI Training website for upcoming offerings. 

Posted by Scott Bain on: March 15, 2023 10:53 AM | Permalink

Comments (6)

Please login or join to subscribe to this item
avatar
Luis Branco CEO| Business Insight, Consultores de Gestão, Ldª Carcavelos, Lisboa, Portugal
Dear Scott
Very interesting the theme that brought to our reflection and for debate
Thank you for sharing and for your opinions.
Does the ATDD solve the lack of maturity in the profession (technical and human)?

avatar
Scott Bain Senior Technical Trainer| PMI Wa, USA
Solve? No, but it increased that maturity level I would say. I think we need a lot of things in software development, including a more organized/defined way to train developers. Much like there are defined paths to become a doctor or a lawyer.

avatar
Mehdi Alibakhshi PM Specialist and Instructor| PHSA British Columbia, Canada
Dear Scott
Thank you for sharing your thoughts and experiences. It's really interesting to hear how Acceptance Test-Driven Development can help with collaboration and understanding requirements across an organization.

avatar
SANDEEP TYAGI Construction Manager| Larsen n Toubro Limited Ghaziabad, Uttar Pradesh, India
Dear Scott,
Thanks for sharing yours views. ATDD will definitely resolve the issue and we have to do a lot more work for software development.

avatar
Latha Thamma reddi Sr Product and Portfolio Management (Automation Innovation)| DXC Technology Mckinney, Tx, USA
Dear Scott, Thanks for sharing your views. ATDD

avatar
Latha Thamma reddi Sr Product and Portfolio Management (Automation Innovation)| DXC Technology Mckinney, Tx, USA
Very interesting thanks for sharing

Please Login/Register to leave a comment.

ADVERTISEMENTS

If you look at it, manure isn't such a bad word. You got the "newer" and the "ma" in front of it. Manure.

- George Costanza

ADVERTISEMENT

Sponsors