Software Project
Swe03
After the introductory
assignments you will work together in a team of upto 5 developers to realize a project specified by an internal or external client. As in real life, requirements may change during the course of the project.
Projects
Project Topics
-
ATerm Visualization (canceled) (Log)
- Philip Bijker, Potluri Gopi Krishna, Potluri Rajeev Krishna
- Benchmarking Framework (Log)
- Robert van Herk, Peter Nagel, Robert Verrips, Joost Verhoog
- Unit Testing (Log)
- Hanga Boros, Valentina Buffone, Pedro Asseiceiro, Adrian Kentsch, Peter van Keeken, Koen Muilwijk
- Software Logistics Environment (Log) (Website)
- Richard Nieuwenhuis, Guno Heitman, Maarten Kolthoff, Roy van den Broek, Ingmar Brouns, Niels van der Velden, Edwin van Rijkom, Niels Reijngoud, Kang Ning
-
NixGUI (canceled)
- Visualization of Code Duplication (Log)
- Coert Metz, Joris de Wit, Marcel Blokpoel, Jayant Tewarie, Gertjan van Montfoort
Getting Hired
In order to get onto one of the projects you should submit a list of the four projects
in the order of your preference.
For each project you may include a statement saying why you think you would be a good
developer for this project.
Applications should be sent in using the
submit system (name of 'opgave' is
ProcessRegistration) and should
also contain your name and student number.
For consideration you should be officially registered in the Osiris system.
The deadline for applying is Thursday, September 4, 15:00.
The results will be announced on Friday, September 5.
Organization
Project Meetings
In the weekly project meetings on Monday afternoon (after lecture), teams make plans for
the coming week. Clients may be present during some of the meetings.
Project Reviews
During the weekly project reviews the teams present their achievements of the week to
the class and clients. Each week a different theme will be announced, which the presentation should focus on.
Project Infrastructure
- Linux or Windows with standard build tools
- Subversion repository
- Mailinglist
- Maybe: XPlanner
- Maybe: Buildfarm
Deliverables
Project Milestones
- Process: choose an appropriate process model?
- Planning: make a planning for development and releases
- Architecture: make overall design
- Infrastructure: set up working environment
- First release (0.1): present a first working release at an early stage
- Second release (0.2): a more mature version to test deployment
- Final release (1.0): release and deploy the final result
Requirements
The following requirements are made on all projects. Teams should show that these requirements are complied with.
- Use a defined process model
- The process model should include planning
- Plans should be executed
- In the case a plan proves infeasible it should be adapted, this should be announced and be traceable
- Specify requirements
- Use software configuration management
- all artefacts should be under version management
- builds should be automated, if not possible a build cookbook should be maintained
- Provide tests, preferably automated unit and integration tests
- Keep software maintainable
- Deploy the product to the client
- Use good design and coding practices
Project Budget
The project is paid by the customer in grade point units. The maximum budget is the
number of developers times 100. Negotations between development team and customer determines
how much units are earned by which milestones. It is in the interest of the customer to
keep prices low to keep budget to spend on more advanced features. It is in the interest
of developers to make a realistic plan.
The team is free to distribute earned grade points over team members in any way it seems
fit. It is in the interest of the team to reward work that has actually been done, rather
than necessarliy distribute grade points evenly. Distribution is decided by a majority vote. It is in the interest of team members to pull their weight in order to claim points.
A team may make up to team members who are not contributing, but this will be at their
own expense. A team may also decide to reward their star programmer with extra points.
Grade points are paid upon delivery of the milestone product. The customer may protest
against the functionality or quality of the delivered product and pay less. In order to
prevent such conflicts a good documentation of promissed features is important.
The project grade for each member is his/her salary divided by 10.