Is lack of functional requirements agile?

by Landeeyo   Last Updated July 11, 2019 13:05 PM

Nowadays everybody wants to be agile. In every team I worked with, the shape of agile was different. Some things are common - like daily stand-ups or planning, but other parts vary significantly.

In my current team there's one detail which I find disturbing. It's lack of functional requirements. Not only there's no written form of expectations but also in the tasks it's rather vaguely defined what needs to be done.

The project goal is to rewrite of the old system using new technologies. Old system doesn't have any reasonable documentation as well. For sure up to date one doesn't exist. Business owners' description of requirements is - let's do it in new implementation the same way as old. It seems reasonable but it's not. Old system is kind of spaghetti code and extracting business requirements from it is costly. It seems that the situation affects planning in a negative way. For sure it's prone to mistakes and bugs in new implementation (omitting some details).

Therefore I'm thinking - is it truly agile to have no business requirements in case of rewriting old system?

Answers 1

Whether or not lacking functional requirements is agile, it is a recipe for disaster. You cannot rebuild a system when you do not know how that system works.

You need to tell the business owner that you have no idea how the old system works.

Your best option is to work with your business owner or a few experienced users to understand the business processes at play, and develop your own acceptance tests. If you can work with some end users you might get more feedback about how the old system works.

Failing that, you'll need to do some exploratory testing in a non production environment to gather your own requirements. Many times when a business owner says "make it work like the old one" they are constrained on time, and are not able to help you out like a business owner should. You need the expertise of some seasoned users, or a whole lot of manual testing on your part to understand how the old system works.

Inform the business owner that a lack of requirements and understanding of the old system will greatly increase the time it takes to rebuild it — around triple the time or greater. Faced with the increased timeline and cost, the business owner will either give you the expertise required to gather requirements faster, or decide the rewrite is not economically feasible at this time.

You'll get one of the following:

  • Proper requirements and a faster development cycle
  • Time to gather requirements and rebuild the software
  • A new project that won't end up being a black mark on your career
Greg Burghardt
Greg Burghardt
July 11, 2019 12:50 PM

Related Questions

Updated August 24, 2017 19:05 PM

Updated December 01, 2017 18:05 PM

Updated November 27, 2017 17:05 PM

Updated July 05, 2019 15:05 PM