CT2 Development Process

From UG

(Difference between revisions)
Jump to: navigation, search
(Scrum and Sprints)
(Scrum and Sprints)
Line 68: Line 68:
Scrum is an approach we use to scheduling components/tasks into development.
Scrum is an approach we use to scheduling components/tasks into development.
-
Under Scrum process is based on weekly or bi weekly or any regular time intervals that is called ''Sprint''.
+
Planning is based on weekly or bi weekly or any regular time intervals that is called ''Sprint''.
Before the start of the Sprint team is looking at current tasks backlog (new components, bugs, tweaks, changes, etc) and select a number of tasks for next Sprint based on prioity, size of tasks, resources available, etc.
Before the start of the Sprint team is looking at current tasks backlog (new components, bugs, tweaks, changes, etc) and select a number of tasks for next Sprint based on prioity, size of tasks, resources available, etc.

Revision as of 04:23, 23 July 2009

This article defines what methodology, roles, workflow, etc we use.

Contents

Overview

CT2 System consists of CT2 components (Client App, Ops, OpsReps, Acc. etc).

We develop each component separately. It has its own team, project plan, etc.

Methodology

We use our own methodology that is influenced by Scrum, Agile, Waterfall, Mantis, Outsourcing.

(in italic example given for Client App component)

Users

Future users of CT2 - operators, management, etc. (non jag operators and management)

Business (Client/Sponsor) Team

Acceptance board (demo meeting) - group of people who makes final decision about acceptance, tweaks, course of the project. (sometimes Simon alone, sometimes Simon, Marc, Alex, Tira together)

Biz analyst/architect - biz expert (Simon)

  • invents detailed biz requirements for the component
  • transfers these requirements to Sys Analyst

Sys analyst/Architect - IT expert (Tira)

  • translates detailed biz requirements into specs
  • transfers specs to development team

Project manager - time/scope management expert (Tira)

  • accountable for reaching the stated project objectives
  • managing high level of proj plan: start/end dates of development, specing dates, weekly demo dates, release dates

Software Development (Vendor) team

Development Lead - leader of the development team (Slava)

  • coordinates development effort
  • manages resources
  • manages low level of proj plan: detailed development schedule that includes phases of development, bugfix, QA, graphics (for every sub-component/dev task)
  • gets daily updates from developer, QA, graphic designer regarding deadlines
  • if there is a chance for ETA to be postponed then he immediately notifies Project Manager and they both decide what to do: move tasks around, add resources or push ETA forward

QA engineer (or manager) (Andrei)

  • makes sure that specs are complete
  • creates test plans
  • runs test plans
  • forwards bugs to developer
  • provides ETA for his work to Development Lead
  • must immedialy notify Development Lead if his ETA can slip

Developer (Sasha)

  • makes sure specs are complete
  • implements new sub-components, changes, tweaks, bug fixes
  • deploy, forwards his work to QA
  • provides ETA for his work to Development Lead
  • must immedialy notify Development Lead if his ETA can slip

Graphic designer (Slava)

  • responsible for creating overall Look and Feel concept
  • creates Style Guide
  • creates all graphics for application
  • provides ETA for his work to Development Lead
  • must immedialy notify Development Lead if his ETA can slip

Scrum and Sprints

Scrum is an approach we use to scheduling components/tasks into development.

Planning is based on weekly or bi weekly or any regular time intervals that is called Sprint.

Before the start of the Sprint team is looking at current tasks backlog (new components, bugs, tweaks, changes, etc) and select a number of tasks for next Sprint based on prioity, size of tasks, resources available, etc.

Note that conventional approach is to estimate each task and build a sequence (plan). One of the advantages of Scrum I guess is that it has always same distance between milestones.

So under Scrum if there is an ETA slip for given task then instead of re-scheduling milestone (demo date) we move delayed component to next demo and ideally work on and show something else instead for current milestone (demo).

If Release Date is fixed then all Sprints must be planned in advance so that they cover entire backlog.

Project Workflow

Managing Time and Scope

Release Date

Timeboxing

Scoping

Personal tools