-
Notifications
You must be signed in to change notification settings - Fork 0
Project Plan
The project will follow a Scrum development process. The team's client is almost always available for discussion, so they can use this to receive constant feedback on the quality of the product. The client also has access to our code repository, so he is able to review the program's functionality any time he pleases. The client will be able to test the application on his own system, so the project team will know ahead of time of their program works correctly on the system on which it is to be deployed.
The team favors individual work with periodic coordination meetings. They use weekly meetings to task out objectives to each member. These weekly "sprints" allow the team to focus in on specific aspects of the project, breaking it up into smaller pieces steadily over a regular time period. Smaller objectives also make new requirements easier to handle, as the shorter task periods make for quicker adjustments to the application. Each milestone will have a defined goal which will determine the type of tasks the team assigns.
The team will manage the status of the project using the GitHub issue tracker. All assigned tasks will be added to the issue tracker. Issues consist of specific tasks, typically assigned to individual team members, such as implementing a class or reviewing and update documentation. Milestones consist of the weekly tasks for the corresponding sprint. Labels are used to track high-level tasks, such as completion of a feature or a release to the client, which consists of several issues. Labels typically incorporate approximately two weeks worth of work.
Any items not completed at the end of each sprint will be placed as top priority for the following week's issues. The priority of issues will be determined during the weekly meetings at the discretion of the team members. Priority of tasks should be determined by the urgency of the label that they belong to.
The team will follow the .NET Framework Design Guidelines provided by Microsoft. A quick reference to these can be found in Microsoft's C# Guidelines. One exception to these guidelines is that brackets can be omitted for single line blocks.
The project will use a test-first policy in order to assert that all code meets the client's requirements. The interface is simplistic and consists of basic web forms, so testing it is a lower priority than testing the framework of the program.
The time and resources it takes to create and configure a virtual machine is too great for testing purposes. Instead, it is advised that the project team use mock components to test the program and how it interfaces with VMware. This will allow them to both automate testing and complete it within a reasonable amount of time.
All communication with the client is done either through email or recorded conference call, so any change request will already be in writing. We will use the GitHub issue tracker to record the status of the project. Any changes by the client will be added to the issue tracker.
The team will have a weekly slot available for a client meeting period. The use of this slot will depend on the issues that the team is facing. All possible agenda items are forwarded to the meeting agenda manager twenty-four hours prior to the time slot. If we have more than fifteen minutes worth of material to discuss with the client, or the team can not resolve the issues via email, then the team will call a client meeting in order to discuss problems with the project. Changes are made to the backlog based on client feedback and resolved meeting items.