1. Appendix A - User Manual

    1. Introduction

      1. Purpose of Product

The purpose of this project is to design and build a software engineering process improvement game. This game is intended to be a fun learning tool used by college students to teach the basic concepts of the AGILE software development process model. This game will emphasize best practices in software engineering process improvement and reward players for making good project management decisions.

      1. Operating Environment

The Process Improvement Game has been designed to run in both WebGL browser based (Chrome tested) and Android OS environments.

      1. General Functionality

The software will require the following functionality:

Base Functionality



      1. Special Features

Of the many features provided in the Process Improvement Game, the "click and drag" card movements and the "click to enlarge" provided what we believe will be an enhancement to the player's game experience.

Other features, such as the task selection/prioritization screens and updated in-game burn down chart provide players with game interaction aspects that will undoubtedly give the game a more "real world" feel.

      1. Limitations

This application has been developed for use with WebGL and Android platforms only at this time. Because of time and resource constraints, only a small number of devices have been used to test the application functionality overall. Chrome was the primary focus of the WebGL testing. Internet Explorer operation was not focused on.

      1. Documentation Conventions

No special documentation conventions used.

    1. Installation

      1. Physical Requirements

This application has been tested successfully on late model computers, tablets, running Google Chrome or devices running Android operating system.

Application Size

APK file size = 27.7MB Installed = 46.3MB

The following device specifications were used for development and testing:

HP Pavilion DV7 Laptop

Intel Core i5-2430M CPU@2.40GHz

8 GB RAM

Windows 7



GTX 770m Laptop

Intel Core i7-48000MQ

16 GB RAM

Windows 10



GTX 760 Desktop

Intel Core i3570k

8 GB RAM

Windows 7



GTX 960m Laptop

Intel Core i7-6700HQ

8 GB RAM

Windows 10



Samsung Galaxy Note 4

Android 6.0.1



Google Nexus 10 Tablet

Android 5.1



      1. Copying & Backup

The application has been developed using Bitbucket as the development repository. All modifications and major code releases have been managed via this centralized repository. Using Bitbucket not only provided backup operations for the code, but also enables the development team to go back to earlier versions if required. In addition, versions are also downloaded locally by each development team member as work is done and new features are added, providing an additional layer of backup, should the central repository fail.

      1. Software Installation

Software installation for Android devices will be handled through normal Android application installation procedures via the Google Play app store once an account is established and the app is made available.

For the WebGL users, the current version of the application will be made available on the University Lab server at http://gamelab.cis.umd.umich.edu/PIG-WebGL/.

      1. Customizing Product

No customization is currently available.

    1. Tutorial

      1. Example Walkthrough























































      1. Example Explanation

See above section 9.3.1

      1. Using Help

Help for the game is provided to the player via an In-Game tutorial level which details all aspects of game play for the user and introduces key terms and concepts regarding Agile software development process methodology. Game play hints are also provided to the player at designated points.

    1. Detailed Instruction

      1. Output from the Product

The output of the game is contained in the form of screen updates to the player while the game is in operation. Player statistics are saved to a local game file for persistence of data between game sessions.

      1. Input to Product

Input to the game is driven by mouse click actions and or touch screen input by the player.

      1. Operation of Product

The program can be launched as a standard APK on the Android platform or by going to the web server WEBGL installation at http://gamelab.cis.umd.umich.edu/PIG-WebGL/. All aspects of application operation are controlled through user mouse (or touch) clicks. "Click and drag" features are a main aspect of game play operation.

      1. Error Handling

Great care has been made to ensure that the game play experience drives the Player into "correct" activity and actions doing operation. Most aspects of the game including card placement, simply locks out invalid movement actions not allowing the player to make incorrect movements. For example, if a player attempts to place a card in an invalid space in the game area (i.e. placing a Development card in a Lasting Effect slot), the card will not be placed and it will be returned to the player's hand. In addition, color prompts via an onscreen indicator provides the player with what stage of card play they are in and what can be played currently in their game turn.

      1. Specific Functions

See Functional Model and Description section page 31 for more on individual function details.

        1. How to Run

The application can be launched via Android app installation APK or can be run via the WebGL server located at http://gamelab.cis.umd.umich.edu/PIG-WebGL/.

        1. Input Data Needed

Being a game application, the program accepts input from the end user via mouse or touch screen input. No input data is required for operation of the application. Player statistics are the only information stored as persistent data that the game uses to record and display game play statistics when needed.

        1. Output Interpretation

All output for the game comes in the form of screen updates. The only other output is the player statistics data which is stored persistently for use in game and between game play sessions.



    1. Technical Details

      1. Principles of Operation

The application's operation can be broken down into three major areas:

Game Scenes

Game Scenes are major screens of the application that drive the application. By transitioning control and information when necessary between these scenes, we are able to manage the flow of the game and interface with the player. Some of the major scenes created include:

Game Play Area

This section contains the core functionality of the game. Most all game operations are driven through the GameSystem.cs C# script which initiates game response and engine operations. Be it from card operations to player screen HUD updates, this code serves as director for the majority of system operations. Some of these operations include:

Player Statistics

This component of the game gives the player the ability to track their ongoing progress as they continue to play through the game. This component provides the player with:



      1. Advanced Features

      2. Modification of Product

Future modification to the program can be done through using the Unity development platform and the C# programming language. All program code and design documentation will be provided to ensure any modification that is required, can be easily integrated.

      1. Support Information

Ongoing support for the game will be the responsibility of the product owner. Again, all product documentation and code will be provided to aid in the ongoing support process as needed.