florath/rmtoo

View on GitHub
doc/other/FamousWhyInterview_20101203.txt

Summary

Maintainability
Test Coverage
QUESTION 1 
Rmtoo comes without a graphical interface and in exchange, it uses a
command line tool optimized for handling requirements. Why this
decision?

rmtoo is based on the long history of *nix commands: Let one thing do
one thing.  In the *nix environment there are lots and lots small
commands - each doing one thing - but perfectly, quickly and
applicable in many different applications and environments.

rmtoo handles requirements - nothing more - nothing less.  It does not
deal with things like version control, history handling, branching or
baselining.  There are other good tools around which do this (such as
svn, mercurial or git): so there is no need to reinvent the wheel.

The exact same argument applies to the GUI: there are lots of good
editing applications which are able to edit requirements.  There are
also lots of good programs for converting text files into graphs or
PDFs.

Selecting which program to use must be the choice of the user - not of
the requirements management tool.

At the moment, rmtoo interfaces with nearly a dozen other
applications: emacs, Open Office, graphviz, LaTeX, make, Ganttproject,
... and there are more to come.

One additional reason for this decision is that rmtoo is used in
continuous build environments - where the requirements and all the
requirements artifacts are stored in the same place as the source code
and the artifacts are automatically generated.  In this scenario, a
command line tool is mandatory - there is no way to handle it with a
GUI.

-----

QUESTION 2
Rmtoo is a powerful management tool. How can Rmtoo help a developer
handle its projects? 
 
The central idea behind rmtoo is that all requirements depend on other
requirements. Therefore rmtoo forces a developer to work in a
structured way.  When a developer solves a problem he splits up one
requirement into many 'steps' or 'solutions'.  When viewing this on
the next, higher level of abstraction, it's quite clear that these
'steps' or 'solutions' are also requirements.

A developer therefore turns the requirements he gets (e.g. from the
marketing department) into more and more requirements - until they are
'bite-sized' chunks that can be directly implemented.  Therefore rmtoo
forces the developer to think before he implements anything.

It has been proven useful for the developer to have the requirements
and the sources side-by-side - generally in a single version control
system.

-----

QUESTION 3
Can you tell us more about Rmtoo supported formats?

There is only one input format: text files.  This can be seen as the
database rmtoo operates on.

With rmtoo it is possible to either output (almost) everything in one
document or have only certain aspects of the requirements displayed.
The basis for document style output are 'Topics'.  These are a
meta-output descriptions of the document.  They make it possible to
have exactly the same content in, for example, a PDF document or HTML
pages.  It is also possible to define other topics which only include
specific themes.  It is therefore very easy to print out a
requirements document for a vendor which only delivers a small part of
your project - without the need to send him the whole document, which
may include confidential information.

Currently supported output formats are: 
* LaTeX document files with support for PDF creation including links to
  dependent requirements.
* Backlog files which can be used in SCRUM - also in LaTeX format.
* graphviz files which can be rendered in a graphic format like png,
  jpg. 
* HTML files including links to dependent requirements.
* XML files for interfacing with many other applications.
* GanttProject files: each requirement gets one line, dependencies and
  topics are used for project dependencies.
* Current requirement version as simple txt file.
* Pricing sheet in Open Office format.

AND: rmtoo is easily extensible.  Writing a small, new output module
can be done within hours - even complicated ones can be created in a
couple of days.
 
-----

QUESTION 4
Rmtoo received several important awards and it becomes more and more
popular with every day that passes. Are you happy with this success?
How do you image Rmtoo future? 

To date, rmtoo has been downloaded about 2500 times from the sites we
control.  There is also quite a high percentage of responses from the
community.  As far as I know, rmtoo is currently used in projects
in different technologies all over the world.

Of course it's nice when others like the ideas which have been
incorporated into rmtoo.  It seems that a niche in requirements
management tools has been found and that the rmtoo approach is needed
and rmtoo is useful.

The future of rmtoo heavily depends on the community and on
customers.  Their feedback directly influences the roadmap.  All
features which are currently available are actually used.

The next few releases will concentrate on documentation and testing.
At the moment there is a lot of documentation - but some small parts
are still missing.  Also, the current test suite 'only' covers about
92% of the code.  After finishing these things rmtoo might be placed
on some well known requirements management tool lists.

Also, there are a lot of requests for new features - so there are
enough things waiting on the road map for at least 10 releases. 

-----

QUESTION 5
Beside Rmtoo, is there any other project you are currently working on?
If yes, can you give us a few details about that project? 

Of course - I can give you some details.  

One project is to build a 'low power' office server.  The server is
designed so that it will not consume more than 30W power.  The server
will be the 'backend' server for a small office, handling things like:
high availability backup and file server using RAID6, Wlan access
point, SIP phone system (for Wlan and cable SIP phones).  Last but not
least it must be affordable - so only standard components are used.
It is not yet clear if this will be turned into a 'product'.  More
details can be found on the company's blog at
http://outer-rim.gnu4u.org - when looking for the server project,
there is a category 'SOHO'.

There are some more projects to come - but it is too early to talk
about them.

----

Published at '' (TBD).