Operations Proposal

From DaVinci

Contents


Purpose

The operations proposal describes how members of Team DaVinci operates together as a team to complete the studio project. The responsibilities of team members are described in terms of role and artifact generated. The activity & operational flow is described in terms of various processes.

Team DaVinci will work with the OSATE tool and perform the tasks as agreed upon by the team and the SEI customers. We will use the operations proposal to guide our decisions about what processes to follow, what artifacts to produce, what analysis to perform, and the reflection tasks necessary for each phase of the software lifecycle.

Process

Project Management

Team DaVinci decided to adopt "spirit of scrum" to manage project based on findings of project management process analysis. The software process specification documents the adaptation of scrum roles, sprint planning meeting, daily scrum meeting, and sprint review meeting to the project need.

Tailoring

  • Reflecting on Fall 2005 reflection item 2, Team DaVinci separated mentor meeting with team from scrum daily status meeting starting in Spring 2006 to reduce and have better control on scrum meeting topic and duration.
  • Task assignment is changed to owner based starting in sprint 4 to streamline status reporting for team lead.

Metrics

  • In every sprint, we collect metrics to track the status of our project as following:
    • Progress: The subjective data of estimating the remaining hours of each planned task by the task owner to show our progress.
    • Effort spent: The data of tracking the actual time we spend on each task to compare with the time we planned.

Collaborative Documentation

A Collaborative_Writing process is defined for writing any deliverable documents for mentors or customer.

Development Control

Team DaVinci establishes a development process to baseline our tracking for development effort and as the basis for potential process improvement. The generic development life cycle (see below) is used as basis for identifying what team needs to do during each phase of the development.

    Requirement Specification -> Design -> Coding -> Testing -> Customer Acceptance -> Documentation

We adopted incremental development model since the customer requirement to have each feature delivered as an eclipse plug-in is ideal for us to follow the development life cycle per each feature development. The processes for Change Control, Configuration Management, and Requirement Traceability is described in Software Process Specification. Quality Assurance and Testing are covered in the Implementation Proposal.

Phase - Description Artifact
Requirement Specification - Provides detail feature requirement description

Problem Definition Proposal

Design - Provides module interface and/or algorithm flow description.

Coding - Completes feature coding as specified by the design and requirements.

Testing - Validate program execution against requirement.

Implementation Proposal

Customer Acceptance - Demonstrate feature functionality and obtain customer approval on task completion

Statement of Work

Documentation - Provide supplemental documents for feature developed and development experience

Software Process Specification

Roles

The Software Process Specification document will define roles for all team members in team DaVinci. At the end of each semester some roles will rotate amongst the team members.

Tools

Team DaVinci plans to make use of the following tools in order to support the project:

  • Subversion A configuration management tool that we will use for team internal artifacts. It is freely available and it provides easy web access, which suites the team well.
  • MediaWiki Most documentation will be maintained via MediaWiki for easy team and mentor access.
  • Skype The main means of distributed communication will be Skype, possibly together with Festoon.
  • MS Office Documentation artifacts will be created with MS Office tools.

The tools required for development is captured in Implementation Proposal.

Analysis

The analysis section in the Software Process Specification will define our strategies for determining team effectiveness in executing tasks. We will use the findings to refine, optimize and generally improve the Scrum processes and plan future tasks more accurately. Once each semester, the team will conduct assessments of team performance and process efficiency. We will update the next version of the Software Process Specification based on these findings, since the team may identify better ways of running the day to day operations or ways to optimize to the process.

Reflection

The following is a list of questions to be answered by the team to help identify the successes and failures of strategies deployed and potentials for improvement.

  • What aspect of management process worked for the team? What didn't?
  • Did we manage to implement requirements during sprint?
  • How much time is spend on process (documentation, obtain metrics)? What percent of feature development time is used on the process overhead (overhead/development)?
  • Did the artifacts produced help the team to create a quality product?
  • How much tailoring is required to follow the process establsihed for each feature development? Did new process created?

Team DaVinci will conduct a reflection meeting at the end of each semester and the findings are maintained on the following Wiki page [1].