CT2 Development Process v2
From UG
(→Documenting Specs) |
|||
(24 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> | ||
Line 54: | Line 54: | ||
- | '''Business Analyst''' | + | '''[[Business Analyst]]''' |
- | + | ||
- | + | ||
- | + | '''[[Systems Analyst]]''' | |
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
'''Project manager''' | '''Project manager''' | ||
Line 105: | Line 99: | ||
We use Mantis software as a main CT2 Tasks and Bugs Management System. | We use Mantis software as a main CT2 Tasks and Bugs Management System. | ||
- | Read '''[[Mantis and CT2]]''' | + | Read this section as a separate article here: '''[[Mantis and CT2]]''' |
== CT2 Task Types == | == CT2 Task Types == | ||
Line 117: | Line 111: | ||
* etc | * 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 == | == 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 | |
- | + | ||
- | + | ||
- | Sys Analyst and Dev | + | === 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 | ||
Line 271: | Line 168: | ||
* 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