Team programming laboratory 2
Term of teaching (winter semester 2017/2018)
Tuesdays, 2:15 pm, PK COK
Assessment criteria
final project presentation during last meting
half-year grade based on project's current state
reports of work performed (logs from version control systems, tasks status in project management systems)
presentations of selected topics (at least one presentation per semester)
evaluation of team work: team roles and division of responsibilities in the team, task planning, preparation of the schedule, goals settings and tasks performance
project documentation: software requirement specification, project website, technical documentation and user manuals
(Preliminary) Schedule of work
First semester
division into teams (about 3/4 people), choice of project and team leader, choice of teamwork tools (version control system, project management system)
project description and requirements analysis
full specification, system architecture
project website (up-to-date updates to the end of the class)
prototype version of the program (?!)
current project state report at the end of first semester (January)
Second semesters
implementation, development of the system
alpha version, beta program
debugging and tests
full documentation
presentation of the final product (last meeting, June)
Meetings
The classes are held once every two weeks.
During meetings teams will:
report work progress and provide summary of work done
plan and assign tasks for next iteration
update tasks in project management system
discuss project issues
share knowledge - at least once a semester each team prepares a presentation about technologies or tools used in project development
-
Visual Studio Team Services or TFS - access provided by Microsoft Account, free for teams up to 5 members, git included, Scrum or Agile process template
Github, BitBucket - acceptable, but lack of advanced project management tools, eg. list of project milestones or product backlog, but general schedule can (and should) be included in project description and documentation
other tools only after consultation with the teacher
Projec proposals
Project proposals should be described in document similar to System requirement specification.
At that point I will require only simplified version of SRS (see document layout below), but it is recommended that you will extend this document and make it more detailed later.
Document layout
Introduction
A brief description of the project, purpose of the system, product vision, main goals, etc.
Definitions (if needed) - definition of technical and specific terms used in the document, acronyms and abbreviations explanation
Overall description of the system
Product functions: list of the most important features of the system
Architecture: system model, brief description of the most important system modules, relationships between system elements and system environment (UML diagrams).
User characteristics: identify the various user groups that you anticipate will use this product
Operating environment: operating system and it version, hardware requirements (platform), used technologies, communication with other elements of the environment
Design and Implementation Constraints: specific technologies, tools, and databases to be used; programming languages; communications protocols; security considerations;
Functional requirements - the full list of system functionalities (actions that system can perform and services it provides)
Other non-functional requirements which didn't appear in the earlier sections.
software and hardware limitations
legal restrictions, licenses
assumptions about safety, performance, memory requirements, etc.
SRS template by Karl E. Wiegers 1999
More SRS examples
Schedule
Define main stages or milestones of the project and produce a draft schedule with approximated due dates for each stage. At least one stage should be defined with deadline before end of the first semester. Use project management tool selected by your team to define the schedule (eg. create Trac's Roadmap or Product Backlog/User stories using Scrum or Agile process templates in VSTS) or include it in project proposal (or SRS).
Some notes
Lins
Local Trac and git repository
https://promap.is.umk.pl/git/<project_name>
Project site - Trac
https://promap.is.umk.pl/trac/<project_name>
All projects
Test project on Trac : Trac playground
Projects 2017/2018
Exile
PoorIoT
JSGames
Projects 2016/2017
siny
jnt
Projects 2015
AlphaBeta
MatrixV
TEYS (TEst Your Skills)
Projects 2014
SYNC.US! /Time To Work
AncientDust
Straight Flush Poker
Projects 2013
AndTune
Lokalizacja Routerów
s
Burned Shadows
Zoobato
Projects 2012
Tunedo
Turbo Biuro
Olimp Defenders (215 studios)