Consultant Assistant — A Tool for Collaborative Requirements Gathering and Business Process Documentation Pietro Mazzoleni 1 , Sweefen Goh 1 , Richard Goodwin 1 , Manisha Bhandar 1 , Shyh-Kwei Chen 1 , Juhnyoung Lee 1 , Vibha Singhal Sinha 2 , Senthil Mani 2 , Debdoot Mukherjee 2 , Biplav Srivastava 2 , Pankaj Dhoolia 2 , Elad Fein 3 , Natalia Razinkov 3 1 -IBM Research Watson - {pietro, sweefen, rgoodwin, bmanisha, skchen, jyl}@us.ibm.com, 2 -IBM Research India -{vibha.sinha, sentmani, debdmukh, sbiplav, pdhoolia}@in.ibm.com, 3 -IBM Research Haifa – {eladf, natali}@il.ibm.com ABSTRACT In this paper we present Consultant Assistant (CA), a tool to assist business consultants in collaborative requirements gathering and business process documentation. CA is a web tool that uses a model-based approach to capture the requirements. CA allows users to select relevant components of industry-specific process hierarchies, reuse documents from past engagements, collaboratively author requirements, and publish these requirements in a document based format. These documents can further be published to an asset repository for future reuse. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirement/Specifications Tools General Terms Management, Documentation Keywords Requirements Gathering, Project Management, Information Reuse, Business Transformation, Packaged Applications 1. Background Requirements-gathering in any medium-to-large sized business transformation project is a complex activity that involves multiple participants from both the client and the consulting company. Typically, in such projects requirements are gathered adhering to methodologies built using standardized process hierarchies (e.g. Oracle Unified Methodology [1]). The client’s business processes and requirements are captured as gaps with respect to industry reference models and appropriate resolutions (new development, enhancements or reuse of existing implementations) are outlined. There are a plethora of general purpose requirements-gathering tools available but they do not support complex methodologies out of the box and require significant customization or configuration to be used in a specific client project. Therefore, consultants prefer to gather and share requirements using general-purpose documentation tools, such as MS Word and Excel. However, as the project progresses, keeping track of information embedded in such documents becomes a cumbersome task. Some of the problems include: (1) maintaining traceability between various pieces of information embedded in these documents; (2) coordinating multiple copies of the same information contained in multiple documents; (3) sharing and multi-user editing of documents; and (4) difficulty in reuse of such artifacts among members of the same project, and across projects. For example, it is non-trivial to list all the requirements in a given project, as requirements are identified in the context of designing a process and each process is documented in a separate process description document (PDD). The common practice is to manually collect all the cross process information from the source documents and then correlate the information between these documents. This may not be accurate or efficient and is clearly prone to human error. Also, consultants often refer to information gathered in previous projects to identify process customization and whether parts of the solution could be reused. However, a document-based approach does not support such reuse as information captured in a document loses the associated semantic meaning and the correlation between different information pieces. Additionally, a document centric approach compromises project management as there is lack of project-wide visibility on the progress or status of the requirements-gathering phase and lack of guarantee that all requirement details have been well captured. With Consultant Assistant (CA) we aim to solve some of these problems. CA helps practitioners in: (a) Visualizing existing reference process models and documenting the requirements in context of these reference process hierarchies. (b) Collaboratively editing information and finding relevant information from current as well as past engagements. (c) Enabling reuse of information across projects by maintaining traceability between different information pieces in a project (d) Enabling project management by extracting the overall status of the requirement-gathering activities and generating early warnings. 2. Approach CA follows a model-based approach to capture information instead of document-based approach. As opposed to creating free format or templatized documents, consultants use CA to capture information into a set of pre-defined model entities such as Business Process, Key Performance Indicator, Gap, Variant etc. The model is semi-automatically built from business methodologies and can be customized for each project level instantiation. The model also captures all allowable relationships between the model entities. Figure 1(a), shows a sample of the model instance. CA provides a well defined interface for information entry for each model entity that allows consultants to add/delete/edit information and linkages to other entities defined in the system. Figure 1(b), shows the information entry interface for a Gap. Further, a set of deliverable templates can be defined as views over the information model. These deliverables are auto- generated and mapped to the formal deliverables in the projects, which corresponds to the documents consultants produce in non- CA approach. Copyright is held by the author/owner(s). OOPSLA 2009, October 25-29, 2009, Orlando, FL, USA. ACM 978-1-60558-768-4/09/10. 807