Team programming laboratory 2

Term of teaching (winter semester 2017/2018)

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

Recommended project management tools

trac + git - local server http://promap.is.umk.pl/trac/project_name, access to the project page and code repository provided by the teacher

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

Work breakdown structure (in polish)

System requirement specification (in polish)

More notes (in polish)

Lins

Pro Git book by Scott Chacon and Ben Straub

Project Hosting List

Comparison of open source software hosting facilities

Subversion (SVN) Hosting Comparison

Comparison of issue-tracking systems

Trac Open Source Project

Agile Modeling

Trac Outlook synchronization

Visual Studio Online (Team Foundation Service)

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

git: https://gitlab.com/web-app-exile

Trello: https://trello.com/exile16

PoorIoT

git: https://gitlab.com/PoorIoT

Trello: https://trello.com/pooriot

JSGames

git: https://bitbucket.org/jumper002/jsgamers-2017-18/overview

Projects 2016/2017

siny

TFS: https://applieditteam.visualstudio.com/

Trac: https://promap.is.umk.pl/trac/siny

jnt

TFS: https://mainka.visualstudio.com

Trac: https://promap.is.umk.pl/trac/jnt

Projects 2015

AlphaBeta

https://promap.is.umk.pl/trac/AlphaBeta

http://158.75.104.79:8080/icescrum/p/AB#project - IceScrum local server

https://bitbucket.org/AlphaBetaTeam/ BitBucket repozitory

MatrixV

https://promap.is.umk.pl/trac/matrixv

TEYS (TEst Your Skills)

https://promap.is.umk.pl/trac/teys

http://www.teys.pl/

Projects 2014

SYNC.US! /Time To Work

https://promap.is.umk.pl/trac/TTW

https://ablewski.visualstudio.com/DefaultCollection/ProgramowanieZespołowe

AncientDust

https://promap.is.umk.pl/trac/AncientDust

Straight Flush Poker

https://promap.is.umk.pl/trac/StraightFlushPoker

http://www.sfpoker.pl/

SRS: http://cactuspie.eu/~poker/dokumentacja/funkcjonalne.pdf http://cactuspie.eu/~poker/dokumentacja/niefunkcjonalne.pdf

Projects 2013

AndTune

https://promap.is.umk.pl/trac/AndTune

Lokalizacja Routerów

s

https://promap.is.umk.pl/trac/LR

Burned Shadows

http://www.burned-shadows.tk/

https://promap.is.umk.pl/trac/BurnedShadows

Zoobato

http://zoobato.pl/

http://www.zoobato.pl/

http://redmine.zoobato.com/

https://promap.is.umk.pl/trac/Zoobato

Projects 2012

Tunedo

http://tunedo.pl/

https://promap.is.umk.pl/trac/tunedo

tunedo - TFS - WEB Acces

Turbo Biuro

http://turbo-biuro.pl/

https://promap.is.umk.pl/trac/TurboBiuro

Olimp Defenders (215 studios)

https://promap.is.umk.pl/trac/215-Studios