Title: Software Requirements, Third Edition
Author: Karl Wiegers and Joy Beatty
Publisher: Microsoft Press
Although it’s been a long time since I studied SSADM, I've worked in the IT industry for some 18 years now and I remember the painful lessons learned in Trinity College all those years ago - and the even more painful lessons learned from ambiguous or incomplete requirements in the years since.
The authors of Software Requirements, Third Edition have clearly felt this pain too and have sought to minimise the amount of painful lessons learned by following good methodologies, learning from mistakes and learning how to work with the customer and all relevant stakeholders. They then kindly shared this knowledge in the form of this offering from Microsoft Press.
This is not a boring title droning on about how to obtain requirements however; the authors have looked at every facet of requirements gathering and requirements analysis and present information on every stage to the readers. Software Requirements, Third Edition begins most chapters with an anecdote - or perhaps horror story is more apt - which serve to highlight the need for the specific topic covered in the coming chapter. At the end of each chapter is a 'Next Steps' section which give you practical exercises to do to reinforce what you have learned.
I'm an advocate of humour in teaching as it helps to engage the audience that you’re trying to teach, makes it a little easier for your audience to focus and even makes it a little more bearable for the teacher too. As such, it’s always nice to find little gems in a book, as was the case here. Coming from initially a science background I loved the following comment in one of the case studies “The synthetic chemist who first makes the new chemical (he’s a real person, but a synthetic chemist)” and general witticisms offered throughout such as “It’s important to recognize the value of recording vital requirements information in a shareable form, rather than treating it as oral tradition around the project campfire” and headings such as “When bad requirements happen to good people”.
Software Requirements, Third Edition mostly assumes that you have experience in project management but still takes the time to explain the fundamentals, albeit at a high level. With that having been said, don't expect to use this as a learning text with zero prior knowledge - you won't be completely lost but you will find that it is outside of the scope of this book to teach you everything from scratch.
For it's horror stories alone I'd rate this 5/5, this book is a must for anyone involved in determining requirements. Buy it, read it, laugh at the 'horror stories' and then prepare for a similar fate if you don't heed the content!
Thanks for reading!