Skip to content
This repository was archived by the owner on Dec 31, 2019. It is now read-only.

Proposal

brianmaissy edited this page Dec 12, 2011 · 1 revision

Workshift Manager's (WM) Assistant

Problem

The BSC (Berkeley Student Cooperative) coops are based around a communal sharing of labor, and for this to work smoothly, considerable organization is required. There are one to two workshift managers at each coop (depending on its size), who are tasked with administration of the workshift system. In rough outline, the process is as follows: Each resident of the coop submits a form on which they specify their schedule availability and chore preferences. The workshift manager assigns chores such that the scheduling constraints, and as much as possible the preferences, are met. For the rest of the semester, the workshift manager tracks the progress of the chores, fining residents who get too far behind on their work hours.

To help with this process, the workshift managers use a web application which holds all necessary data and assists with many tasks, including offering passive advice during the process of assignment, which the workshift manager does manually. However, the system currently being used has many problems, including: a very convoluted interface which is difficult to use, bad organization, an excess of unused (or infrequently used) features, browser incompatibility, and a messy object and database structure in the backend. It requires a seven-hour training for the new workshift managers to learn its operation at the beginning of the semester, and many more hours afterwards getting accustomed to it. Our task is to rewrite the system to be much easier to use and more effective at helping the workshift managers accomplish their tasks quickly and effectively. This will save time for all users involved, and improve the satisfaction of the coop residents with their assignments.

Customer and User

The customer of the WM Assistant software is the Operations Manager at the BSC Central Office, who "supervises the Central level departments that provide direct service and support to the houses," including the workshift managers. The current Operations Manager, Kim Benson, has expressed interest in the project. The users will be the workshift managers in each coop, as well as the residents, who submit their preference forms electronically into the application and get feedback through it. I am in touch with some of the workshift managers, who are interested and excited to be part of this project. The workshift managers will work with our project team to develop and test the system.

System Description

The functionality of the WM Assistant will be based loosely on the current system. The main features of the software will be to allow residents to submit their availability and preference forms, provide a useful interface and set of tools for the workshift manager to make assignments, and ameliorate the tracking of workshift completion throughout the semester.

I am in contact with Janak Ramakrishnan, the creator of the current system, who also maintains it. He is willing to help us become acquainted with the system, its details, and its problems. The old system will be used as a rough map for what the WM Assistant will look like, and a source of knowledge of what works and what doesn't. Knowledge of the old system will also be useful if we want to create a tool to migrate data to the new WM Assistant.

After implementing more effectively the basic functionality in the current system, we are free to add new features, some of which are described below.

Testing and Demo

The users will be involved in the entire process of development, from the gathering of requirements to testing of the finished system. We can create fictional coop houses with sample data for our own and the workshift managers' testing in a mock context. When the system is nearing completion, we can have the workshift managers migrate the data from the old system and use the WM Assistant in a real situation. The demonstration of the system will be a walkthough of the process the residents and workshift managers take in the course of a normal semester.

Difficulty

The core functionality of the WM Assistant is a large but feasible task to finish, and given the convoluted interface of the current system, a notable improvement should be relatively easy to achieve. The fact that we are using the old system as a guide means that should we get behind schedule, we can borrow ideas, algorithms, an even code from it where appropriate. If we have time to spare after implementing the basic set of features, we have a wide array of possibilities for further improvement to tackle, including compatibility with and migration from the old system, integration with JomSocial (an open source social networking system used by the coops), improved passive assistance during the assignment process, or even the doing the assignment completely with software, which involves solving the scheduling CSP while maximizing the satisfaction of resident chore preferences.

Whatever set of features we are able to implement successfully, our highest priority is to create something which is deployable and usable by the BSC by the end of the semester. The customer and users of the system will be investing time into this project as well as the developers, and it is in our mutual interest to complete a stable, polished, and useful system.