wiki:PROCESS/Workflow
Last modified 16 years ago Last modified on 03/19/09 13:51:17

Workflow

Diagram

Each taken task in the current sprint should pass trough the following phases described in this diagram: trunk/sophie2-platform/doc/uml-design-diagrams/workflow.png

Explanation Of States

  • new
    • task is waiting to be taken, and someone to determine what should be done
  • analysis started
    • to learn how to write good analysis, see Platform Standards Analysis
    • there should be at least one example of how to do one or more things that should be done
    • it should take not more than 0.25 of the task effort
  • analysis finished
    • it is already determined what should be done
    • the task is waiting for review. (Wait for the review of the analysis before starting the design otherwise your work can be for nothing!)
  • review
  • analysis ok
    • the reviewer decides that the analysis of the task is correct
  • design started
    • the implementer is designing the task or in other words tries to decide how it should be done
    • it is not compulsory but recommended that the design should be made by the implementer
    • it is recommended that the design should not be made by the analyzer of the task
    • designing is not only getting an idea of how to do something but understanding the concept, step by step
    • for many tasks the design phase should take most of the time
  • design finished
    • it is determined how the task should be done
    • it is designed and is waiting for review.
  • review
    • the reviewer looks through the design to see if it is correct.observing the PLATFORM_STANDARDS_DESIGN document and trying to improve it)
    • The reviewer can imagine himself as an implementer and see if he can implement the task following the design without problems
  • design ok
    • the reviewer decides that the design of the task is correct
  • implementation started
    • the implementer makes an attempt to complete the task
    • he/she should follow the design strictly
    • he/she should write an Implementation section of the task as the result of the implementation
  • implementation finished: the implementer decides that the implementation of the task is ready
  • review: the reviewer look through the implementation to see if it is correct
  • implementation ok
    • the reviewer decides that the implementation of the task is correct
    • the implementation section must be filled
  • testing started: there should be appropriate tests written for the task
  • testing finished: testing state is done, waiting for review
  • review
    • the reviewer looks for missing or wrong tests
    • if there are any, the reviewer may decide they can be added later
    • if they are too important or wrong they should be fixed - the review fails
  • testing ok
    • the last task state
  • notes
    • failing a state (for example moving from implementing to analyzing because implementation failed) requires that the state of the product is reversed to the initial state
    • the transitions of each state are defined in Workflow diagram
    • for every task we have tickets which are available for reading and filtering in the View Tickets section in Trac. For every state of a particular task, you have to go to its ticket and update its status depending on the state you are working on. There are custom ticket fields which we should filled with information about the task phase owner, reviewer and score. There is also importance field(See SCHEDULE_WBS_DEPENDENCIES_R1 for its usage). See SCS_ISSUE_TRACKER_SETUP_R1 for more information about our issue tracking.
  • Reviews should have reasoning for the given mark. These better be connected to concrete requirements in the standards,