Term Project

Business Process and Requirements Analysis

ITEC 455 Spring 2015

Prof. J. Alberto Espinosa

Last updated 2/11/2015 minor editing

 

To be done in small teams of 4 to 5 members

 

[Scenario] [Template] [Components] [Delivery] [Grading] [Application]
[Timeline] [
Deliverables: 1 2 3 4 5 Final]

 

Scenario and Background

 

This assignment is intended to give you a valuable hands-on experience with a skill that you may actually use in practice. The exercise is not perfect, but the same is true in any requirements gathering project in real life. Your instructor will greatly appreciate any feedback and comments you may have at any point during this project. Your team will work on a consulting assignment to: (1) identify a business problem; (2) gather business requirements for a system solution; (3) prepare the respective formal system requirements specification document for this solution; (4) develop the corresponding data model; and (5) develop a simple visual simulation of a key aspect of the system.

 

Specification Template

 

Your requirements and design specification MUST be be prepared following a Requirements and Design Specification Template adapted by the instructor for your projects. This adapted template contains the specific sections that your instructor expects to find in your Final Project document, along with all the requirements forms that you may need, along with basic instructions and diagram examples. This template is a reduced and adapted version of the Volere Requirements Specifications Template, which is one of several popular templates used for requirements specifications.

 

IMPORTANT: You will notice in the template that most large diagrams and artifacts (use cases, etc.) go in appendices. This format is very useful for your clients because they can quickly detach all diagrams for discussion in meetings. Furthermore, moving all diagrams and figures to appendices will make your text descriptions flow better. However, every figure included anywhere in the document needs a brief reference and explanation in the text; and every appendix include in the document needs a reference and brief summary of the appendix contents in the main text. Isolated diagrams and appendices without reference or explanations in the main text are a very BAD idea and consultants will complain about this.

 

Project Components

 

The project has several components, which student teams will develop in 5 incremental deliverables throughout the semester, but the key components are (please refer to the Specific Deliverables section below for more detailed requirements for each deliverable):

 

1. Business Process Analysis (Deliverables 1 and 2)

 

Business process analysis is at the heart of this course. Everything we do in this class has the objective of making business process improvements. Everything else supports your recommended solution. A key aspect of this is to understand the "business work" that needs to be handled by the new system. This involves business process modeling (BPM), and there are two main sequential steps:

 

(1)   (Deliverable 1) Understanding the "baseline" or "as is" process-- i.e., how the business processes the work presently and ideintifying what are the problems associated with this baseline process. You really can't formulate a solution or make recommendations until you have understood your client's problem, business and processes. Your job here is to prepare a "baseline BPM". This first step helps you get there; and then

 

(2)  (Deliverable 2) Formulating a "target" or "to be" process-- i.e., a reformulated version of the business process model based on business process changes and solutions you are recommending. Your job here is to prepare a "target BPM". Please note that in some cases your client will specify that the baseline business process should not be changed. This may be due to legal requirements, regulations or other procedural issues. If this is the case, you need to articulate clearly why you are not presenting a target BPM in your solution.

 

2. System Requirements Analysis: Use Cases (Deliverables 2 and 3)

 

A central piece of your requirements specification will be the "system use case" model you will prepare for the functionality of the business application that will support your process solution above. A use case model contains several use cases and each use case contain text in special forms that describe important aspects of the systems' functional requirements and part of the "unified modeling language" or UML which is the most widely adopted standard to describe systems. Your requirements specification should all the necessary initial use cases to fully describe the functionality of your system (Deliverable 2). However, you will only be expected to fully elaborate the 6 most important use cases (Deliverable 3). In addition, the system requirements specification contains other important sections, such as: non-functional requirements, assumptions, facts, mandated constraints, etc.

 

3. Data Requirements Analysis (Deliverable 4)

 

Once you have modeled the business process and system functional requirements, your next job is to model the information structure that will contain all the necessary data to support the propsed application solution in the form of a data model. Your data model should include as many entities as are necessary to support the entire functionality of your system. Your data model should contain at least 10 data entities that support the information needs of your system.

 

4. Visual Interface Modeling (Deliverable 5)

 

You will learn how to simulate key aspects of your proposed system so that you can give your client a visual preview of what your solution will look like on the screen. You will be trained on iRise Studio visual modeling software by iRise trainers. This training is very similar to what iRise's corporate clients receive and will give you a most valuable marketable skill.

 

Project Delivery Method

 

All project work will be carried out in teams. Each team is responsible for working on their assigned projects and with the assigned clients during the semester. Each team needs to complete the project components listed above, but these components will be completed progressively and turned in through 6 deliverables throughout the semester. The first 5 deliverables are submissions of work in progress and have specific assignments, which need to be turned in on a timely manner (see Class Schedule and specific deliverable requirements listed below). The last submission after the 5th deliverable is the final specification due the day of the final exam for this course (there is no final exam, but you are required to submit your final project and give a class presentation).

 

All deliverables (except the visual simulation) will be submitted on a single term project specification document using a template provided by your professor (on Blackboard and available through the link above). Only one student in each team is required to submit this document via Blackboard (but students can rotate who submits different deliverables). The document must be named Project.doc (Word 2003) or Project.docx (Word 2007/2010). Your team will start with an empty template and then update, refine and submit it according to the deliverable schedule posted on the Class Schedule web page. This document will contain all your requirements specifications, diagrams, artifacts and other narratives. In addition, your team is required to maintain all the necessary MS Visio files containing the necessary models and diagrams. These models and diagrams will be copy/pasted onto the project.doc file, but the team needs to be able to provide all associated MS Visio files when requested by the instructor.All deliverables will be made electronically, via Blackboard.

 

Deliverables and the final project submission are due at midnight on the due dates listed in the Class Schedule (we will discuss these in class).  Late deliveries, and incomplete or inadequate deliverables will carry a substantial penalty towards your team's final project grade.

 

[Top] [Schedule]

 

Project Grading

 

Project Content

 

1. (10 pts) Well articulated and convincing business case, system vision and project overview.

2. (10 pts) Content quality of the business process description, analysis and

       BPM diagrams (target and baseline BPMs)

3. (15 pts) System requirements specifications and use case model quality

        Use cases, use case diagram, actor specificatios cards, BPM/UC matrix, etc.

4. (10 pts) Content quality of the information requirements specifications

        Data entities and attributes support the functional requirements

        Relational properties well implemented (normalized, primary and foreign keys, etc.)

        CRUD matrix well developed

5. (10 pts) iRise simulation quality (e.g., key functionality was modeled, functionaly well illustrated,

        ease of use, profeesional look and feel, etc.)

6. (5 pts) Content quality of other specification components.

        e.g., Introduction, system vision, non-functional requirements, mandated constraints, etc.

 

Project Process and Presentation

 

7. (20 pts) Adequate and timely progress on deliverables.

       Note: each deliverable will receive a letter grade (A, A-, B+, etc.) to give the team some

       feedback on the deliverable quality and timeliness. These grades are preliminary

       and all five deliverables will be graded for quality and timeliness together at the end,

       which will receive 0 to 20 points.

8. (10 pts) Clear descriptions, good writing style, no grammatical errors/typos, content quality,

        appearance, professional look and consistency across artifacts in the Project.doc document.

9. (10 pts) Good information exchange with your client; client feedback; and effective final presentation

[Top] [Schedule]

 

The Business Application for the Project

Your instructor will share with you the business application(s) concept(s) he has discussed with your client(s). You will need to form teams early in the semester. Your instructor will assign a project to your team trying to follow your preferences as much as possible.

 

IMPORTANT: This semester we will try something new. Rather than having several different projects we will have a single project that all teams will work on. The entire class will be given the same information about a the basic and core aspect of the business problem and its corresponding basic business process and system requirements. All teams in the class will need to develop the buisness process and system requirements specifications for this basic aspect. But in addition, each team will need to come up with novel and creative enhancements to the business process and functionality, which will be unique to each team. You can consider this a competition for the best project. This will allow us to put all our efforts into a key American University project and have a chance to really make a difference.

 

[Top] [Schedule]

 

Deliverables and Timeline

 

As with any system development project, there are tight deadlines and deliverables. The process you follow to carry out this project is as important as the final delivery of the project. In fact, research has found that bad system development processes lead to bad project implementations, and that process performance is strongly associated with final product performance.

 

Your final project will be graded upon completion at the end of the semester.  However, you will complete the project incrementally by sumbitting deliverables throughout the semester, which will provide an indication of your timely and quality progress on your project.  The instructor will evaluate your progress and how well you are complying with the deliverables outlined below.  Timely and adequate completion of deliverables not only accounts for 20% of your team's project grade, but frequent submission delays and incomplete deliverables are also an obvious indicator that the project is not going well, which may affect your final project grade in other ways.

 

At the same time, your instructor understands that teams sometimes fall behind schedule for valid reasons. Your instructor will provide you with reasonable flexibility on deadlines, provided that you discuss your reasons and needs BEFORE the deadlines (like you would with your clients in any real project). The timeline for the following deliverables is outlined in the Class Schedule.

 

In each deliverable, you will start the required artifacts (e.g., diagrams, documents), but these artifacts don't need to be in their final form. It is common practice in iterative system development methods to start something in one iteartion and refine/elaborate later. It is important to start with a general high level view of your artifacts and add the necessary detail later. This will save you a lot of re-work time. You will refine your previously submitted work in each deliverable. For example, your first business process improvement recommendation may be incomplete initially and you may idintify key improvements in subsequent deliverables. So, it is perfectly OK to go back and refine your target BPM accordingly.

 

[Top] [Schedule]

 

Specific Deliverables

 

Setup Before You Start:

 

Download the Project Requirements Template from Blackboard or the from the link above and save 2 copies. Please ensure that you are downloading a current copy of the template, dated near the semester start date, and not an older obsolete copy. Name the first file project.doc and the second one ProjectInstructions.doc. Keep the Project Instructions file as a reference for your project, with all the necessary instructions for each section (alternatively, you can always browse the template instructions online). Open this file and review its contents and instructions carefully. It contains all the necessary sections and explanations for your project work.

 

NOTE: It is very important that you read the instructions in this template completely and thoroughly. It not only contains important instructions, which I follow strictly when I grade your projects, but it contains important learning material, which will be in the exam.

 

o   Use the project.doc file as your project document for your deliverables. Open the project.doc file and remove all the instructions (embedded in brackets). Also delete all examples and sample forms. This file should be totally cleaned up so that you can use it for your project requirements specification. This is the file you will be submitting in your deliverables and also sharing with your clients from time to time, so please ensure that it is formatted properly, it is free of typos and grammatical errors and it has a businesslike and attractive appearance. You should NEVER submit a project document to your client with my instructions to you included.

o   From this point forward, you are required to prepare and submit all your deliverables in this project.doc document. Each week, as you prepare your deliverables, you will be adding new information and updating/refining the existing information. So please prepare your deliverables material and include it in the APPROPRIATE SECTION of the project template and follow carefully the guidelines and instructions in the template for each section.

o   Before you work on each section of the template, as required by the deliverables below, please read the instructions in the template very carefully. The instructions on what you need to do for each delivery are contained both, below in the deliverable instructions and in the template itself.

 

[Top] [Schedule]

 

Required with ALL deliverables:

 

o   Status Report: please indicate the % completed for each section in each deliverable. I have placed this conveniently in the table of contents. This will be very useful for your clients and professor to figure out which parts changed from deliverable to deliverable. When you complete a section, I suggest NOT entering 100% on anything until the very end. Anything that is 100% complete is ready for grading and your client can critique your work as final. It is better to state a lower percentage, like 90%, which will indicate to your clients and professors that you are almost finished, but you are still fine tuning things.

o   Communication Log: you need to keep a log documenting your communication with your clients. This is standard practice in consulting engagements and it is used for analysis (for future bidding on contracts) and for billing. By far, the most common problem mentioned by clients (in both graduate and undergraduate versions of this course) is that the team did not communicate enough. I have never heard a complaint saying that the team communicated too much. How can a client trust your solution if they rarely heard from your team? Clients want to be sure your solutions are based on their needs and requirements. Please communicate with your clients as much as possible and document every communication. This will not only protect you if things go wrong, but will give your client assurance that you care about their problem and you are engaged. Please follow the instructions in the project template and log every email, phone call, Skype meeting, face to face meeting, etc. You don't need to document your internal team meetings or your meetings with me. The log is only to document the communication with your client.

 

[Top] [Schedule]

 

Project Deliverable 1: Business Case, System Vision and Baseline Business Process

o   Your primary objective in this deliverable is to identify your client's problem and develop a business case, system vision and overview of the current business processes your application will automate.

 

Section 1: Introduction

 

o   Complete this section

 

Section 2: Business Case and Project Vision

 

o   Complete parts a), b), c) (1) and c) (2) (i.e., client, business case, and part of the business process overview).

 

Section 3: Stakeholders

 

o   Complete this section

 

Section 4: Business Process Analysis

 

o   Complete sub-sections a) Baseline Process narrative and b) Scope of Work and prepare a baseline BPM and copy/paste it into Appendix B1.

[Top] [Schedule]

 

Project Deliverable 2: Business Process Recommendations, System Scope and Functionality

o   The two main objectives for this deliverable: (1) to describe and model your proposed business process improvements; and (2) to develop a high level overview of the functional scope of the system and a good understanding of the functionality needed by the system.

o   Review and refine all your work submitted in the prior deliverable. In particular, ensure that your baseline BPM has been updated based on any new information you may have gathered since the last deliverable.

Section 2: Business Case and Project Vision

 

o   Complete subsections c) (3) and c (4) (i.e., business process analysis brief summary and target business process brief overview).

Section 4: Business Process Analysis

o   Complete sub-section c) Analysis narrative.

o   Complete sub-section d) Target Process narrative and prepare a target BPM and copy/paste it into Appendix B2.

Section 5: System Actors

o   Complete sub-section a) Primary Actors and prepare the corresponding actor cards for these actors in Appendix C. Pay special attention to the primary actors' goals.

o   Complete the portions of Section 6 below first and then complete sub-section b) Secondary Actors and prepare the corresponding actor cards for these actors in Appendix C.

Section 6: Functional Requirements

o   Following the goals of your primary actors identified above and your target BPM, prepare a list of use cases per sub-section b).

o   Complete part c) Initial Use Cases. Use the "combined" use case form for each use case you have identified and complete the appropriate fields per the template instructions and place your use cases in Appendix F.

o   Complete part d) Use Case Diagram and place your diagram in Appendix D.

o   Complete part a) Functional Requirements Narrative. Notice that we saved the narrative for the end because you will know better what to write after you have made some progress on your use case model, but you want to have the narrative in the first sub-section a) of the functional requirements as an introduction.

Other Sections

o   Start Section 7. Non-Functional Requirements. You may not know many or any non-functional requirements yet, so please do not include non-functional requirements simply because they would be nice to have (e.g., reliability, speed, user-friendliness). These are often very costly and they need to be discussed and approved by your client. Only write in this section the non-functional requirements that you have learned about from your client.

o   Prepare an initial Project Glossary (Appendix A) and begin defining terms that may need to be defined to reduce ambiguity (if any).

o   Sections 8 and 9. Prepare brief description of mandated constraints, relevant facts and assumptions you may have learned about (if any)


[Top] [Schedule]

 

Project Deliverable 3: Use Case Elaboration

o   Your primary objective in this deliverable is to develop a more detailed understanding of the main functionality of the system.

o   Review and refine all your work submitted in prior deliverables. In particular, review, refine and revise/expand as needed your BPM, list of actors, use case list, use case diagram, use case descriptions, etc. Your Use Case descriptions need to be more thorough, accurate and detailed at this point. I would expect to see a good 10 to 20 lines in each use case description, (depending on its complexity), providing sufficient information to start prototyping the system.

Section 2: Business Case and Project Vision

 

o   Complete sub-section d) Functional Requirements.

Section 6: Functional Requirements

o   Review the priorities you entered in your initial use case forms in the prior deliverable and ensure that these priorities are accurate. Any use case that is critical to delivering the main functionality needed in the system should be rated "high priority".

o   Complete part e) BPM/Use Case Transitional Matrix and place the matrix in Appendix E. Please review your target BPM and use case model to ensure that: every process step and decision is either supported by your use case model or is completely manual; and that every use case supports steps and/or decisions in the BPM.

o   Select the 6 most central and high priority use cases in Appendix F and further elaborate them into base use cases, as instructed in sub-section f).

o   Select the 3 most central and high priority use cases from your 6 base use cases above Appendix F and further elaborate them into elaborated use cases.

o   Now that your use case model is relatively stable, enter the respective use case numbers and names in the corresponding Actor Cards in Appendix C, as instructed in sub-section f).

Other Sections

o   Update, add and refine any new “noteworthy” information you may have learned on sections 7, 8 and 9.

[Top] [Schedule]

 

Project Deliverable 4 (and 4a): Data Requirements Analysis

o   Your primary objective in this deliverable is to develop a solid understanding of the data requirements to support the functionality described in your BPM and use case model.

o    Project Deliverable 4a: You will find out that developing a data model from your functional requirements is not easy. Prior experience with this assignment shows that it its very helpful to do this in two and in some cases more iterations. The first step is for your team to develop a preliminary data model. This deliverable simply requires the team to prepare an intial data model in Visio to the best of your abilities and then make an appointment with me to work on it together. This is a mandatory step before completing the rest of Deliverable 4.

o   Review and refine all your work submitted in the prior deliverables.

Section 2: Business Case and Project Vision

o   Complete part e) Data Requirements

Section 10: Data Requirements

o   Complete part a) Data Model Overview.

o   Complete part b) List of Data Entities.

o   Prepare the data model for your application and include it in Appendix G.

o   Prepare the CRUD Matrix for your application and include it in Appendix H.

Other Sections

o   Update, add and refine any new “noteworthy” information you may have learned on sections 7, 8 and 9.

[Top] [Schedule]

 

Project Deliverable 5: User Interface and Visual Modeling

o   Your primary objective in this deliverable is to apply sound user interface principles and develop a visual simulation of the most relevant aspects of your system using iRise Studio. Your simulation needs to have User Guides with all the necessary instructions, user ID’s and passwords necessary for your client and professor to fully evaluate all aspects of your simulation. Your simulation needs to be delivered as an iRise iDoc file through Blackboard. This must be the same version you use for your final presentation.

Section 11: Visual Model

o   Complete your visual model as instructed above and provide in this section any narrative necessary to understand your simulation. There is no need to reproduce the simulation with screenshots, but you need to provide an appropriate introduction to your simulation and tell your readers anything that may be useful to understand and evaluate your simulation.

[Top] [Schedule]

 

Final Project Deliverable: Wrap-Up

o   Review and refine all your work submitted in the prior deliverables.

o   Update and revise your Project.doc as needed.

o   Review all your files, documents and artifacts for consistency. This is a major factor in grading your project work. Lack of consistency across parts of your requirements and design text, tables and diagrams is one of the most salient sources of confusion for your clients (and professor).

o   Review your files, documents and artifacts for editing, grammatical errors, typos, well drawn diagrams, formatting, etc. The easiest way to lose credibility on your work with clients (and your professor) is to deliver materials with many errors and mistakes. Remember that the main goal is to document and communicate requirements. You may have done excellent work, but the readers of your materials may think otherwise if they can't follow your descriptions and if they find typos and errors.

[Top] [Schedule]

 

ENJOY!!