T-76.4115 Software Development Guidelines

Project
Management


Templates
Requirements
Engineering


Templates
Design and
Implementation


Templates
  • None
Quality
Assurance


Templates
 Project Initiation phase (PI)
Main tasks
  • Create the sprint plans
  • Identify project goals and resources
  • Plan work practices; e.g., time tracking, communication, and req. elicitation immediately
  • Sign the IPR contract
  • Update the risk log
  • Retrospective meeting
  • Project review
Deliverables
  • Project plan (no QA plan)
  • Progress report (=slides)
  • Contract (one per group)
Main tasks
  • Identify the project's business goals, main domain concepts and user groups
  • Elicit the requirements on a high level




Deliverables
  • Requirements document (except details of requirements)
Main tasks
  • Create a draft of the system architecture and select technologies
  • Study and prototype new technologies and third party components
  • Set up the development environment including a version control system
Deliverables
  • None
Main tasks
  • Start planning QA for the project







Deliverables
  • None
Implementation 1 phase (I1)
Main tasks
  • Create the sprint plans
  • Steer the project
  • Update the risk log
  • Retrospective meeting
  • Project review
Deliverables
  • Project plan
  • Progress report
Main tasks
  • Elicit and represent the requirements to be implemented in each sprint

Deliverables
  • Requirements document
Main tasks
  • Design and document the system architecture
  • Design, code, test, deliver. Focus in the core architecture and most important requirements
Deliverables
  • Technical specification (at least the general architecture)
Main tasks
  • Create the QA plan during the first sprint
  • Concretize the QA plan in the sprint plans
  • Implement QA practices
Deliverables
  • QA plan
  • Test cases and test log
Implementation 2 phase (I2)
Main tasks
  • Create the sprint plans
  • Steer the project
  • Retrospective meeting
  • Create the final report
  • Project review
Deliverables
  • Project plan
  • Project review slides
  • Final report
Main tasks
  • Elicit and represent the requirements to be implemented in each sprint


Deliverables
  • Requirements document
Main tasks
  • Create a user's manual
  • Revise the technical specification
  • Design, code, test, deliver
  • Training, and installation or deployment services
Deliverables
  • Technical specification
  • User's manual
Main tasks
  • Concretize the QA plan in the sprint plans
  • Implement QA practices
  • Peer testing
  • Allocate buffer time for acceptance testing and resolving bugs
Deliverables
31.3.2013 13:00
  • Peer test materials to peer group
3.4.2013 13:00
  • Peer test results to peer group
  • QA plan
  • Test cases and test log
  • Peer test session charters with logs (own and peer group's)

These guidelines establish the ground rules for developing software on this course. Mandatory requirements are written in the Guidelines using bold style. Mandatory deliverables are listed in the table above.

Mandatory requirements are included due to
  1. their importance for lowering the risk of project failures
  2. their educational value
  3. their role in increasing visibility to the project for the various stakeholders

There is a varying level of freedom in fulfilling each of the requirements. Most of the included requirements are crucial for improving the success rate of the projects. However, some of the requirements are included as educational exercises. Their cost/benefit ratio in a small, low-risk project is not necessarily very high, but often they have at least some value to the project in addition to the educational value.

The group can propose to the mentor ignoring requirements that do not have any value for the project and whose application would be too artificial to have any educational value.

See also course homepage in Noppa.