=Paper=
{{Paper
|id=Vol-344/paper-19
|storemode=property
|title=Supporting Participatory Requirements Engineering in an ERP Software Community
|pdfUrl=https://ceur-ws.org/Vol-344/paper19.pdf
|volume=Vol-344
|authors=Harris Wu
|dblpUrl=https://dblp.org/rec/conf/caise/Wu08
}}
==Supporting Participatory Requirements Engineering in an ERP Software Community==
Supporting Participatory Requirement Engineering in
an ERP Software Community
Harris Wu1
1
Old Dominion University
Norfolk, VA, 23529
hwu@odu.edu
Abstract. The paper presents a prototype1 aiming to widen user participation in
requirement engineering for an open source ERP software company. The
prototype utilizes a set of templates in a wiki system to allow community
participation, and yet maintain necessary processes and models in the software
development. The prototype informs developers about the ongoing work of
others, in part to avoid conflicts. An XML-based infrastructure is being
developed to improve interoperability with other tools such as discussion
forums, issue tracking and documentation systems, to further utilize community
efforts in software development.
Keywords: requirement engineering, participatory, community, collaboration.
1 Introduction
Participatory and collaborative software engineering has drawn much attention in
recent years [1]. In fact, requirement engineering is participatory by its nature.
Requirements engineering consists of the cohesive collection of all tasks performed
by various stakeholders related to the identification, analysis, specification, and
management of requirements [2]. Requirements engineering is the key bridge between
users, system analysts, developers and other stakeholders of a software system. As
software becomes the core of business processes, and software development becomes
an integral part of the global economy, the roles of users, system analysts and other
stakeholders are continuously blended.
With the increasing use of packaged software and industry acceptance of inter-
organizational collaboration, the “participatory” need of requirement engineering has
to be stressed. Compared to proprietary systems, off-the-shelf software packages have
much larger stakeholder communities. Information sharing, reuse and web
collaboration have gained industry acceptance and even become part of the industry
culture, as evident from active user groups and discussion forums in many
commercial software communities and the success of open source software. However,
the existing collaboration tools for requirement engineering do not always scale to
support larger stakeholder communities. The rapid advance of technology (such as
1 Supported in part by the United States National Science Foundation, Award No. 0725277.
74 Proceedings of CAiSE’08 Forum
Unified Modeling Lanugage) and the deployment cost of software tools often raise
the barrier of entry for participation.
This paper presents a prototype developed to support participatory requirement
engineering for an open source ERP software company. The prototype aims to widen
and utilize community participation. In the following sections, I first review a
research roadmap for collaboration in software engineering, which will be used as a
framework in subsequent discussion. Then I describe the software company and its
needs for collaboration tools when trying to widen community participation in
requirement engineering. I will present the prototype and preliminary results. The
paper is concluded with a discussion of the next steps.
2 A Roadmap for Collaboration in Software Engineering
In a seminal roadmap [1] outlined at the recent “Future of Software Engineering”
conference, tools developed specifically to support collaboration in software
engineering fall into four broad categories: model-based, process oriented, awareness
support, and infrastructure. Table 1 provides a summary of this roadmap.
Table 1. Four categories of collaboration tools for software engineering
Tools Support
Model-based Allow engineers to collaborate in the context of a specific representation
of the software, such as a UML diagram.
Process Represent all or part of a software development process. Systems using
support explicit process representations permit software process modeling and
enactment. In contrast, tools using an implicit representation of software
process embed a specific tool-centric work process, such as the check-out,
edit, or check-in process of most SCM tools.
Awareness Inform developers about the ongoing work of others, in part to avoid
conflicts.
Infrastructure Improve interoperability among collaboration tools, and focuses primarily
on their data and control integration
3 Requirement Engineering Challenges to an Open Source
Software Company
xTuple is an Enterprise Software company, author of the open source ERP solution
Postbooks (http://sourceforge.net/projects/postbooks). The company gains revenue by
selling training and support for Postbooks implementations. xTuple also sells
OpenMFG, a manufacturing-enhanced ERP solution with a community code model
built on the same open source code base. In 2007 xTuple was a finalist in eWeek
Excellence awards and received a 5 star rating from the Channel Web Network
(crn.com).
xTuple receives requirements for its software through two online communities.
The Postbooks project ranks in the top 10 on sourceforge.net, had over 100,000
Proceedings of CAiSE’08 Forum 75
downloads in the past six months and has about a dozen regular voluntary
contributors. The commercial OpenMFG community (openmfg.com) has around
twenty implementation partners and a hundred licensed customers. xTuple product
support and development teams discuss requirements with users in both communities
mainly through emails and discussion forum threads, often hundreds of them a day.
xTuple hopes to utilize community efforts in capturing, reviewing, organizing,
prioritizing, negotiating, cleansing and documenting the requirements using Web 2.0
concepts. To support requirement engineering among a large, diverse software
community, xTuple has a number of needs summarized in Table 2:
Table 2. xTuple’s needs for collaboration tools in requirement engineering
Tools Needs and Challenges
Model-based As an enterprise software company, xTuple needs diagramming tools and
structured documents to support modeling of complex enterprise business
processes. However, the tool should not require advanced technical
knowledge or commercial software licenses.
Process As a commercial software company with a sizable base of paying
support customers, xTuple needs a rigorous process to manage how requirements
are prioritized, priced, negotiated, approved and implemented. However,
the cyclic and the parallel nature of its software development and the
blurred role definitions (users versus developers) render most workflow
tools too restrictive.
Awareness With a large number of users involved in creating, modifying or
discussing the requirements, xTuple needs to be aware, and also keep its
community informed, of the constant requirement changes coming from
both open source and commercial software communities. Furthermore, it
needs requirement provenance, i.e. to figure out why a certain
requirement was added or modified.
Infrastructure Improve interoperability among collaboration tools, including the existing
forum, bug tracker and documentation tools
4 Prototype
The prototype builds upon a number of open source tools (Figure 1) to fulfill the
needs in Table 2. It also attempts to keep the current tools used by the community
intact. The center component is MoinMoin, a popular wiki system. Besides wysiwyg
editing, MoinMoin supports editing of diagrams, section editing and conversion of
documents into/from XML. Templates for a growing set of requirement categories are
being developed, including new module requests, enhancement requests, and bug
fixes. The templates are further refined such as by client/server (user interface or
application logic) and functional modules (accounting, customer relationship, etc).
Users can create a wiki document by answering a simple questionnaire. Or, users can
create a new wiki document through a link from the discussion forum (phpBB), and
the discussion will be copied to the new wiki document. Various checks are
performed to prevent duplication of the same requirement. Once a requirement
document is created, it can be re-cast to other templates. The whole requirement
76 Proceedings of CAiSE’08 Forum
workflow including requirement creation, negotiation, pricing and approval is carried
out through fleshing out of the templates by different stakeholders. Different
templates result in different workflows. Awareness is supported by email notifications
to stakeholders based on the template. Users can register for notifications by
modifying the Notifications section of the document. Users can trace the requirements
by inspecting the revisions and various metadata on the wiki document/template. The
wiki system is integrated with Joomla!, a popular content management system, which
provides single sign-on and access to a mysql database. XML is used for moving
content in and out of MoinMoin.
Sourceforge Intranet
Mantis (issue tracking) Email and notifications
Joomla!
phpBB (discussion forum) (content/user management) Docbook assembly
Translation Classification, tagging
MoinMoin (wiki, template, workflow, version control, xml import/export)
Fig. 1. Overview of the prototype.
5 Preliminary Results and Next Steps
The prototype has learned from the wiki tool in [3]. The wiki approach has gained
initial organizational acceptance by xTuple, which is a considerable feat given that
several key developers had doubts about using wiki to manage requirements. The
effectiveness of the prototype will be assessed by examining the quality and quantity
of requirements created, negotiated, cleansed or organized in the system. The
prototype is being integrated with several existing tools supporting the xTuple
community. The immediate enhancement tasks include classification and tagging for
requirement reuse, dynamic translation (using Google), and requirement prioritization
(using Mantis).
References
1. Whitehead, J. (2007). Collaboration in Software Engineering: A Roadmap. Future of
Software Engineering (FOSE) 2007.
2. IT toolboxwiki, http://wiki.ittoolbox.com/index.php/Requirements_engineering.
3. Decker, B. et al. Wiki-based stakeholder participation in Requirements Engineering, IEEE
Software, March/April 2007.