Discussion Details

You and your entire discussion session will be working as a group to enhance or complete an open source Java project. After researching and finding a list of open source projects, your group will vote and finalize a project to continue developing. You will work on this project for the remainder of the semester. You will define, show, and report the specifics of the tasks that need to be performed. Below, I include information regarding the general areas which must be satisfied, focusing on keeping you in a software engineering mindset.

Week #1 (September 1, 2009)

During your first discussion complete these activities:

Due Week #2 (September 2, 2009)

Between the first and second discussions complete these activities:

Project Roles & Group Structure

Everyone in the group needs to have a role to play within the continuing development of your system. Some roles will have specific action items associated with them, others will be more abstract. A more abstract role relies upon the diligence of the individual to ensure their tasks are completed (I am a developer... what are you currently tasked with developing?). Adding specific details to the abstract role will allow you to manage the expectations others have of your performance. Sometimes it will be appropriate for one person to serve in more than one role (for example, the same person being the Repository and Website Manager). Sometimes it will be appropriate for a group of people to satisfy a single role (the GUI Development team). You need to clearly define who will be doing what. The roles I have listed here you are required to identify. Other roles exist that you will want to fill in as well (such as developer, designer, and so on).

Process Log Manager: Someone who will manage the process log of the entire project. The process log will include the list of activities performed by the group, at the group level; meetings, pair programming, and so on. The process log must be kept up to date so that groupwide information can be reported to the TAs in discussion sessions.

Website Manager: Someone who will be responsible for managing the group website. This person will need to ensure all project details are current on the website; requirements, design, link to the process log, links to individual web pages, and so on.

Repository Manager: Someone who will be responsible for managing the system repository. This person will ensure everyone has access and that the repository system is stable.

Documents Manager: Someone who will maintain all the system documentation; requirements, design, test plan, and so on.

Contact Manager: Someone who will report the weekly set of activities to the TAs and myself on a weekly basis. In addition, this person will be responsible for ensuring all aspects of the system which need to be presented are in place where they should be at the time they are supposed to be.