Your team will create a Software Development Plan (SDP) based on the following problem statement.
The goal of the assignment from our course's perspective is to create a plan for executing the entire project, not a completed implementation.
Though you will not have time to develop the actual system, it may be good idea to familiarize yourself with the required technology in order to produce a more accurate plan.
Your local metro service has recently been re-evaluating and upgrading various components in their metro system. As part of this initiative, they have reached out to your team to redesign their current software. They hope to reduce employee training overhead and streamline their processes, resulting in higher employee productivity and overall better metro service to the public. They want a more robust system designed around their specific needs, as opposed to trying to make their current set up work for them. The new system must be user friendly and able to replace the current software set up in a consolidated, efficient manner.
Currently, there are different software systems for various metro system needs, each with specific hardware requirements and each requiring separate accounts and sign-on. This is extremely inconvenient for employees that fulfill multiple roles, and makes monthly metrics gathering lengthy and difficult. Management spends an unreasonable amount of time trying to manage and coordinate accounts, particularly during employee turnover, and the ramp up time for employee training is too long. The stand-alone systems themselves serve their functions well, but using the various systems together has been a struggle.
Finally, the current repair management system is extremely basic and does not provide all the features desired by the repair team and upper management. Employees commonly just log repair and inventory information by hand. Periodic inspections are completed and are loosely documented unless action needs to be taken.
The requirements for this system are given in the list below as desired features for the overall system. The list is neither exhaustive nor definitive. It is up to your team to develop a list of features that best fit scope of your application.
As the most public-facing aspect for the metro system, there must be some application component to view and manage the trains themselves. The primary objective is always passenger safety, closely followed by the desire for an optimized system. The train coordination would encompass tracking and communicating with individual trains, as well as finding optimized routes. The system should be able to re-calculate optimal routes in case of repairs to a section of track, closed city blocks, or any emergency situation. Information on the current trains should be visible and may include the current number, location, and status of trains. Some goals for this portion of the application should be maximized efficiency, availability, and security.
The customer is also concerned with the low usability and efficiency of the current employee management/administration system. The component should have different views for employees versus managers, since employees will primarily use this system for timekeeping whereas management may additionally use it for any tasks concerned with managing their reportees. This includes viewing and managing assignments, approving weekly time logs, and viewing metrics. There may be different views depending on what level of management the user is at (e.g. direct managers care about time and tasks for a small group of people, whereas higher management would want larger metrics, statistics, and graphs).
There may be two views to facilitate ticket purchasing - one for user self-serve kiosks and one for employees at a booth aiding customers. The system should be able to accommodate any permanent or temporary changes in tickets and ticket pricing, including any discounts and promotions. A more advanced feature may include an external public online or mobile application allowing riders to pre-purchase tickets, add money to a metro card, or do other tasks at their convenience.
Maintenance & Repair Management
Another important suggested component of the system is a sub-component for managing all metro system repairs. This may include an inventory of all trains, rails, and replacement parts, and should provide easy links to purchase more. It would also be beneficial to have a system to log, monitor, and manage maintenance requests, sorted by priority, severity, and status. Maintenance requires dedicated man-hours, which is associated with employee time tracking in the employee administration component.
Finally, the customer would like a central location to view all statistics, metrics, and graphs associated with the entire system. This includes (but is not limited to) the suggested metrics from previous sections and any other useful information. The system should have the capability to produce a formal report from this view, so the metro service can easily provide quantitative status reports at meetings with other corporate partners.
Again, these are suggestions. Feel free to add to or modify these requirements based on the design of your system, research and your domain analysis. Your instructor may assist you and clarify if need be.
The following are the key Components of a Software Development Plan:
A sufficiently complete, professional document for communicating information to software engineers and management needed to understand what the project entails, how it will be produced and controlled and what the effort and schedule estimates are for the project. The project risks, quality focus, and support needs are specified as well.
Overview - three to five paragraphs describing product function, platform, customers, schedule, and development responsibility
Stated goals and scope (what's in scope, what's out of scope)
High-Level Functionality - list of product features as best as can be determined from the problem statement and limited interaction with the customer. Initial project estimates are made based primarily on this list
Deliverables - high level releases and content
Project organization - management, roles, staffing, and anything else that seems appropriate
Risk Management - identification of risks, mitigation strategies, how they will be managed
For our exercise you will complete the following sections for both a Plan-Driven (RUP) and Agile (Scrum) methodology. The sections above remain the same regardless of process methodology.
Scheduling and estimates - overall project schedule, resource allocation, estimation techniques used (justify estimates), how will project be tracked, how will schedule changes be made
Measurements and Metrics - what measurements will be collected, what metrics will be created, how will they be used, why were they chosen. These measurements will form the basis for the project's quality assurance plan and drive process improvement. In addition, make sure to explain the rationale behind their selection and the frequency with which they will be captured.
Technical Process - what methodology will be used, what tools and techniques are required, what internal artifacts are required to be maintained. This section typically references other development documents - requirements, design, test plan, etc. The SDP identifies what artifacts are to be created and how they will be maintained.
See course schedule/DropBox for due dates. Some meeting time will be provided in class, but quality deliverables will require groups to meet independently as well.
SDP Draft #1
Document outline (identify sections SDP will contain)
Complete section on project scope
Itemize functional requirements from Problem Statement
Complete Risk Management
SDP Draft #2
Any updates from Draft #1
Size estimation and scheduling for RUP
Feature estimation and scheduling for Scrum
SDP Release (V 1)
All sections of the SDP completed
Include an addendum to your management which analyzes the two scheduling approaches you used and propose which one should be used for this project
10-15 minute presentation. Differentiation will be rewarded - remember that other groups will be presenting a similar project.