CT2 Development Process v2
From UG
(Created page with ' <span style="color:orange; font-size:14pt">! This is UNDER CONSTRUCTION (NOT COMPLETED YET). Old version of this article here: CT2 Development Process v2 </span> This art…') |
|||
(83 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | + | [[Category:Software Development Processes]] | |
- | <span style="color: | + | <span style="color:red; font-size:14pt">! This is OUTDATED! Old version of this article here: [[CT2 Development Process]] |
</span> | </span> | ||
- | |||
- | == | + | == Intro == |
+ | This article defines what methodology, roles, workflow, etc we use in CT2 Web Software Development. | ||
- | CT2 | + | == CT2 Supercomponents == |
- | + | CT2 System is large and can be divided into the following supercomponents (supertasks): | |
- | + | * Acc | |
+ | * Client App | ||
+ | * OpsReps | ||
- | + | * Ops | |
+ | * OpsPdfs | ||
+ | * Admin | ||
+ | * Misc | ||
- | + | Each supercomponent has its own Development team, project plan, etc. | |
- | + | ||
- | + | Some coordination between teams is needed because supercomponents are interrelated to a certain degree. | |
- | + | == CT2 Team == | |
- | + | '''CT2 Acceptance Board (The Board)(Committee)(Demo Meeting)''' | |
+ | Group of people who: | ||
+ | * initiated the CT2 project | ||
+ | * oversees general progress | ||
+ | * demo meeting is conducted for The Board | ||
+ | * makes final decision about acceptance, tweaks, course of the project | ||
- | '''Acceptance Board | + | '''Chairman of Acceptance Board''' |
+ | * person who makes final decision in case there is a conflict | ||
- | |||
- | ''' | + | '''CT2 Systems Architect''' |
- | + | * Technical leadership of CT2 project | |
- | * | + | |
- | ''' | + | '''CT2 Project Manager''' |
- | * | + | * time/scope leadership of CT2 project |
- | + | ||
- | + | == CT2 Supercomponent Team == | |
- | + | ||
- | + | ||
- | + | Each CT2 Supercomponent Team consists of 2 groups of people: | |
+ | * Business Team (Client/Sponsor) | ||
+ | * (Software) Development Team (Vendor) | ||
- | '''Development | + | == CT2 Supercomponent Business Team == |
+ | |||
+ | |||
+ | |||
+ | '''[[Business Analyst]]''' | ||
+ | |||
+ | |||
+ | '''[[Systems Analyst]]''' | ||
+ | |||
+ | |||
+ | '''Project manager''' | ||
+ | * time/scope management expert | ||
+ | * accountable for delivering component on time and on budget | ||
+ | * managing/coordinating '''business phases''' of '''CT2 Software Development Worflow''' (see below) | ||
+ | |||
+ | == CT2 Supercomponent Development Team == | ||
+ | |||
+ | '''Development Manager ''' - leader of the development team | ||
* coordinates development effort | * coordinates development effort | ||
* manages resources | * manages resources | ||
- | * manages ''' | + | * manages '''dev phase''' of proj plan: detailed development schedule that includes phases of development, bugfix, QA, graphics (for every '''sub-component/dev task''') |
- | * | + | * collects updates from developer, QA, graphic designer regarding deadlines |
- | * if there is a chance for ETA to be postponed then he | + | * if there is a chance for ETA to be postponed then he must notify Project Manager ASAP and they both decide what to do: move tasks around, add resources or push ETA forward or do something else |
- | '''QA | + | '''QA Engineer ''' |
* makes sure that specs are complete | * makes sure that specs are complete | ||
* creates test plans | * creates test plans | ||
* runs test plans | * runs test plans | ||
* forwards bugs to developer | * forwards bugs to developer | ||
- | * provides ETA for his work to '''Development | + | * provides ETA for his work to '''Development Manager''' |
- | * must immediately notify '''Development | + | * must immediately notify '''Development Manager''' if his ETA can slip |
- | '''Developer''' | + | '''Developer''' |
* makes sure specs are complete | * makes sure specs are complete | ||
* implements new sub-components, changes, tweaks, bug fixes | * implements new sub-components, changes, tweaks, bug fixes | ||
* deploy, forwards his work to QA | * deploy, forwards his work to QA | ||
- | * provides ETA for his work to '''Development | + | * provides ETA for his work to '''Development Manager''' |
- | * must immediately notify '''Development | + | * must immediately notify '''Development Manager''' if his ETA can slip |
- | '''Graphic designer''' | + | '''Graphic designer''' |
* responsible for creating overall Look and Feel concept | * responsible for creating overall Look and Feel concept | ||
* creates Style Guide | * creates Style Guide | ||
* creates all graphics for application | * creates all graphics for application | ||
- | * provides ETA for his work to '''Development | + | * provides ETA for his work to '''Development Manager''' |
- | * must immediately notify '''Development | + | * must immediately notify '''Development Manager''' if his ETA can slip |
- | == | + | == CT2 Task and Bug Management System == |
+ | We use Mantis software as a main CT2 Tasks and Bugs Management System. | ||
- | + | Read this section as a separate article here: '''[[Mantis and CT2]]''' | |
- | + | == CT2 Task Types == | |
+ | All tasks (ativities) we classify into: | ||
+ | * major changes: | ||
+ | ** request for new components | ||
+ | ** request for new version of existing component | ||
+ | * minor changes: | ||
+ | ** request for tweak (minor change of existing component) | ||
+ | * bug | ||
+ | * etc | ||
- | === | + | == CT2 Workflows == |
- | + | ||
- | + | For each task type as defined above there is a special workflow. | |
- | + | Read this section as a separate article here: '''[[CT2 Workflows]]''' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | == | + | == CT2 Project Method and Plan == |
- | + | ||
- | + | Read this section as a separate article here: '''[[CT2 Project Method and Plan]]''' | |
- | + | == Release Procedure == | |
- | + | All accumulated code in SVN Trunk (on /CyberTrax) released at once. | |
- | + | ||
- | + | In the future we will have bugfix releases | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
== Communication == | == Communication == | ||
+ | === Through Mantis === | ||
If there is a question regarding task then: | If there is a question regarding task then: | ||
- | * post | + | * post question into Mantis notes |
* set task to feedback | * set task to feedback | ||
* assign to person you are asking | * assign to person you are asking | ||
* if urgent contact that person in Skype | * if urgent contact that person in Skype | ||
- | If there is a general question - use email. CC as required | + | === Through email === |
+ | * If there is a general question - use email. CC to your manager and others as required | ||
+ | * Everyone must check email at least 2 times a day: at the beginning and at the end of workday | ||
- | + | === Comm between Sys Analyst and Dev Manager === | |
- | + | ||
- | + | ||
- | + | They agree on how to reach each other during extended timeframe. | |
- | + | === Urgent Communication === | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
* we must define what can happen and how to reach someone we need to reach to solve urgency | * we must define what can happen and how to reach someone we need to reach to solve urgency | ||
- | == Weekly Status Meetings == | + | === Weekly Status Meetings === |
* Why: These meetings are group chats in Skype with Agenda to update each other on progress | * Why: These meetings are group chats in Skype with Agenda to update each other on progress | ||
Line 174: | Line 154: | ||
Reports and Accounting Team (summer 2009 schedule): Tuesd, Thur: 9:15-10am NY time | Reports and Accounting Team (summer 2009 schedule): Tuesd, Thur: 9:15-10am NY time | ||
- | == Communication Hours == | + | === Communication Hours === |
*Who: Dev Team + Sys An | *Who: Dev Team + Sys An | ||
Line 185: | Line 165: | ||
* If somebody can not attend he must notify Dev Team Lead and give alternative time frame that he is available same day | * If somebody can not attend he must notify Dev Team Lead and give alternative time frame that he is available same day | ||
- | == Vacations and Days Off == | + | === Vacations and Days Off === |
* Must notify Dev Team Lead as much in advance as possible | * Must notify Dev Team Lead as much in advance as possible | ||
* Dev Team Lead must post this info into Dev Calendar | * Dev Team Lead must post this info into Dev Calendar | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
Current revision as of 19:46, 24 May 2010
! This is OUTDATED! Old version of this article here: CT2 Development Process
Contents |
[edit] Intro
This article defines what methodology, roles, workflow, etc we use in CT2 Web Software Development.
[edit] CT2 Supercomponents
CT2 System is large and can be divided into the following supercomponents (supertasks):
- Acc
- Client App
- OpsReps
- Ops
- OpsPdfs
- Admin
- Misc
Each supercomponent has its own Development team, project plan, etc.
Some coordination between teams is needed because supercomponents are interrelated to a certain degree.
[edit] CT2 Team
CT2 Acceptance Board (The Board)(Committee)(Demo Meeting) Group of people who:
- initiated the CT2 project
- oversees general progress
- demo meeting is conducted for The Board
- makes final decision about acceptance, tweaks, course of the project
Chairman of Acceptance Board
- person who makes final decision in case there is a conflict
CT2 Systems Architect
- Technical leadership of CT2 project
CT2 Project Manager
- time/scope leadership of CT2 project
[edit] CT2 Supercomponent Team
Each CT2 Supercomponent Team consists of 2 groups of people:
- Business Team (Client/Sponsor)
- (Software) Development Team (Vendor)
[edit] CT2 Supercomponent Business Team
Project manager
- time/scope management expert
- accountable for delivering component on time and on budget
- managing/coordinating business phases of CT2 Software Development Worflow (see below)
[edit] CT2 Supercomponent Development Team
Development Manager - leader of the development team
- coordinates development effort
- manages resources
- manages dev phase of proj plan: detailed development schedule that includes phases of development, bugfix, QA, graphics (for every sub-component/dev task)
- collects updates from developer, QA, graphic designer regarding deadlines
- if there is a chance for ETA to be postponed then he must notify Project Manager ASAP and they both decide what to do: move tasks around, add resources or push ETA forward or do something else
QA Engineer
- makes sure that specs are complete
- creates test plans
- runs test plans
- forwards bugs to developer
- provides ETA for his work to Development Manager
- must immediately notify Development Manager if his ETA can slip
Developer
- 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 Manager
- must immediately notify Development Manager if his ETA can slip
Graphic designer
- responsible for creating overall Look and Feel concept
- creates Style Guide
- creates all graphics for application
- provides ETA for his work to Development Manager
- must immediately notify Development Manager if his ETA can slip
[edit] CT2 Task and Bug Management System
We use Mantis software as a main CT2 Tasks and Bugs Management System.
Read this section as a separate article here: Mantis and CT2
[edit] CT2 Task Types
All tasks (ativities) we classify into:
- major changes:
- request for new components
- request for new version of existing component
- minor changes:
- request for tweak (minor change of existing component)
- bug
- etc
[edit] CT2 Workflows
For each task type as defined above there is a special workflow.
Read this section as a separate article here: CT2 Workflows
[edit] CT2 Project Method and Plan
Read this section as a separate article here: CT2 Project Method and Plan
[edit] Release Procedure
All accumulated code in SVN Trunk (on /CyberTrax) released at once.
In the future we will have bugfix releases
[edit] Communication
[edit] Through Mantis
If there is a question regarding task then:
- post question into Mantis notes
- set task to feedback
- assign to person you are asking
- if urgent contact that person in Skype
[edit] Through email
- If there is a general question - use email. CC to your manager and others as required
- Everyone must check email at least 2 times a day: at the beginning and at the end of workday
[edit] Comm between Sys Analyst and Dev Manager
They agree on how to reach each other during extended timeframe.
[edit] Urgent Communication
- we must define what can happen and how to reach someone we need to reach to solve urgency
[edit] Weekly Status Meetings
- Why: These meetings are group chats in Skype with Agenda to update each other on progress
- Who: Dev Team + Sys Analyst
Client App Team (summer 2009 schedule): Tuesd, Thur: 10-10:45am NY time Reports and Accounting Team (summer 2009 schedule): Tuesd, Thur: 9:15-10am NY time
[edit] Communication Hours
- Who: Dev Team + Sys An
- What: All must be available in Skype
- Why: In case somebody needs to discuss not through Mantis, but "live" through chat
- When:
For All Super Components: Mon, Tue, Wed, Thur, Fri: 9-11am NY time
- If somebody can not attend he must notify Dev Team Lead and give alternative time frame that he is available same day
[edit] Vacations and Days Off
- Must notify Dev Team Lead as much in advance as possible
- Dev Team Lead must post this info into Dev Calendar