| Home | Overview | Syllabus | Available Projects | Proj Pref Form | Proj Plan Guide | About COMP 190 | Sponsoring a Project | site comments |
Planning is everything or so everybody says
at least everybody who seems to achieve their goals. This is very likely to be true
for you this semester as you work your way through your Senior Design
Project. Although your project is not large on the scale of projects that
we discussed in COMP180, there are several factors working
against you that make the demands of your task similarly difficult. First, you
are a completely new team working on your first project. You will be learning
how to work together, how to use new tools, and perhaps a new programming
language. Second, you have many other demands on your time this is one
priority among many and at a different level for each of you. Third, you might
have a warped view of time right now the end of the semester and graduation
probably seem a ways away but these next few months are going to go very quickly.
So, I recommend that you work very hard together to determine a schedule and a
set of role assignments (see Number 2 below) that will help you stay on track.
1.
Meet with commissioner(s) in order to further define the requirements of the project and to confirm that this is the right project for your team.
2. Appoint team members to the following roles. Making sure that somebody is concerned about each of these aspects of the project will most certainly assure success of your project. There are two roles available for each person on the team. Note that this person is the responsible person not the only person who works on that aspect of the project. Each task will involve all members to some degree. It is up to the responsible person to include team members when making decisions and to assure that individuals are pulling their weight. It might be that the assignments listed below do not distribute the work fairly for a given project, therefore your team is free to re-evaluate the responsibilities associated with each role. A list of role assignments and descriptions should be mailed to both Prof. Stafford and Marc before the first class meeting.
o Team Lead this person serves as the liaison with the commissioner, and as the general nagger, makes sure things are getting done, keeper of the Gantt chart, caller of meetings, etc. This person will be required to be at class 15 minutes early for Team Lead Meeting with Prof. Stafford and other team leads each week.
o Build Manager determines when builds should be completed, creates and maintains the build file or environment
o Change control czar this person decides (after consulting with rest of team) which change management system to use, what will be kept under change management, policies for checking in code and documents
o Documentation czar oversees creation and maintainance of requirements and design docs, sets code documentation standard
o Test manager designs initial test cases, defines testing/debugging procedure, and designs testing infrastructure including creation of a testing script or selection of a testing tool, setup of testing environment (need to keep test cases, test output, and testing logs organized).
o Architect this person is in charge of initial decomposition of the problem into a configuration of software components and connectors
o Lead Designer this person is in charge of user interface (or API) design, the choice of design tool, design patterns
o Lead Coder this person is in charge of selecting programming language and development environment, sets coding standards, and assures that all aspects of design have an assigned coder
o Deployment and packaging manager this person is the liaison with the end user (this may be the same person s the commissioner in which case coordination with team lead is required), assures that the product can be deployed in the users environment and that deployment and usage instructions are complete.
o
Web Guru this person is in charge of designing and maintaining a web
site for your project. This site will be used by the team, the commissioner,
and the end user, and the course instructors to keep abreast of happenings of
the project.
3.
Develop preliminary requirements and prepare a class presentation for the first class period in January. Your presentation should include a description of your sponsor, their motivation for having the project completed, what they are looking for, and any preliminary thoughts the team has about approaching the problem. You will have 1/2 hour for the presentation, including class interaction so you should plan on no more than 20 minutes for the presentation (maybe best to plan on 15 minutes). All team member must be present and ready to respond to class inquiries about the project but only one person need give the presentation.
4.
Present to the class. The class will help you come up with questions to take back to your sponsors in order to further refine the requirements for the project.
5.
Decide which approach to development will be the best fit for your team
and your project.
6.
Meet with your sponsor between first and second class meetings to refine requirements -- make sure to arrange for this meeting early, before classes begin as schedules fill very quickly. 7.
Prepare a presentation of the refined requirements for your project and
your overall approach to solving the problem; present to the class. Again, the class will ask questions and this time offer suggestions about alternative approaches. 8.
Create a preliminary test suite based on your refined requirements and prepare to present them to class for evaluation. 9.
Prepare presentation for an architecture review of the proposed solution, provide
rational for decisions, including mapping back to requirements; present to the class. 10.
Design, develop code, test on a schedule consistent with your planned
approach 11.
Package system for deployment and present demo to class 12.
Deliver complete and
packaged system to commissioner Most of the deliverables
associated with your project will be in the form of class presentations however
the following must be turned in: 1.
January 20 (before 4PM): Role Assignments and Gantt chart skeleton. 2.
February 3: Initial Gantt Charts. 3.
February 10: Preliminary test suite. 4.
February 17: Primary presentation (cartoon) for each of the three views presented to the class during the architecture review. 5.
March 10: Design Documents including, but not limited to, description of any data structures that you will be using, algorithms that will be employed, infrastructure that will be used, other resources that you will be depending on. 6.
April 14: Packaging and deployment plan describing what you will deliver to your sponsor, what form it will be delivered in, and how you will convey it to them. 7.
TBD (probably April 28, 3PM): Demo Day -- User Manual, code, and demo. 8.
May 8 (last day of finals): Check to make sure sponsor has submitted project acceptance report.What to turn in