Magdy Hanna teaches disciplined approaches to software development, from the writing of requirements through to coding and testing. With an emphasis on methodology and techniques, development shops can better guarantee the results of their efforts, he maintains.

Beginning in 1992 at the University of St. Thomas in Minnesota, Hanna worked with his graduate students to build prototypes of a solution that could be used to bring rigor to what he identified as the six most critical functions of the development life cycle: management of projects, requirements, issues (defects), change and control, tests, and use cases.

After the project was outsourced to be completed by engineers in Egypt, by December of 2009, Rommana was complete, and the Rommana Software company was born.

Hanna, the founder of Rommana, believes in the concept of scenario-based development and testing, which somewhat combines the techniques of requirements-based development and test-driven development, he explained.

“Test-driven development is a great idea,” Hanna said. “But are developers going to write tests and then write code? Developers don’t want to do unit testing.”

Further, he wondered, do organizations want to trust that their developers are getting the requirements right, and that the developers and testers each have the same understanding of the requirements?

“The right place to do TDD is above development, when tests and developers together can break down requirements into scenarios,” Hanna added. “Developers can still write test cases before coding, but the unit testing test cases will be more precise,” since scenarios are more explicit than a requirement, he said.

As an example, he said one requirement might involve 30 scenarios. For instance, a requirement of “allow booking of a flight” might involve scenarios of changing seat assignments, or upgrading and paying for a seat in a better class. “Basically, a scenario is almost any condition that can happen during use of the application,” he said.

The Rommana tool suite allows this type of work to be done with one common UI and with one common back-end repository, Hanna said. Version 10.1 (so named because it’s the first release of 2010) adds some 39 new features, Hanna said. Among the most important is the addition of support for ad hoc testing and reporting.

“This speaks to the notion of exploratory testing, which I had opposed; but in Rommana, we believe in it as long as you limit it to no more than 10% of the work. I call it exploratory testing with discipline. Describe what you expect, and describe what you got,” said Hanna.

The ability to collaborate on requirements is also new. “Developers and testers can submit notes, saying, ‘I understand it but have a question.’ This will alert the business analyst who wrote the requirement,” Hanna said.

In describing Rommana, he emphasized the price point of US$80 per month per person. “If you have six people working on a project for six months, the total cost is less than $3,000,” he said, saying that figure is significantly lower than offerings from other, larger tool vendors.