Collaborative Engineering

From Open Source Ecology
Revision as of 04:18, 4 February 2012 by Lex Berezhny (talk | contribs)
Jump to navigation Jump to search

Definitions

Roles

  • Project Owner/Customer - Creates a project, defines high level requirements, is invested in the success of the project, follows progress via Dashboard.
  • Project Manager/Scrum Master - Collaborates with engineers to create stories, tasks and organize them into iterations. Schedules and participates in SCRUM sessions, planning, reviews and retrospective meetings.
  • Engineer/Prototyper - Creates CAD models, physical prototypes and other artifacts fulfilling project requirements and specification.
  • Observers/Subject Experts - Provide review, technical advice and comments on the ongoing design.
  • Builder - Instantiates a finished design project into an fabrication project.

Features

Basic Functionality

  1. Create Account
  2. Login / Logout
  3. Search and view projects, builds and users.
    1. When listing the designs show how many ongoing/complete builds there are for that design.
  4. Subscribe to project, build and user activity RSS feeds.

Dashboard

  1. View progress of projects and builds you are part of or are watching.
  2. View daily logs of users, projects or builds you are watching.
  3. View tasks you are currently working on accros all projects.
  4. Provide reports on where builders seem to be stuck the most (acquiring part, completing step) or which steps take the longest time or have the most discussion activity.

Design

Project

  1. Create Project
    • Name
    • Description
    • Organization (default: OSE)
    • Visibility
    • URL if project has a dedicated website.
  1. Add Collaborators
  1. Agile Process
    1. Create stories and tasks.
    2. Schedule iterations.
    3. Move stories into current iteration from backlog.
    4. Assign tasks.
    5. Mark tasks as complete, blocked, cancelled.
  1. Create Component - A component is essentially a STEP file. Chose to create a blank component or to duplicate an existing component.
    • Add component dependencies. (This means that when this project is checked out into FreeCAD the other components would show up as read-only in the FreeCAD Document.)
    • Bill of Materials
    • Build Instructions
    • Manuals
    • Revision History
    • Diff (One way to do diffs is to include both versions of a model in one FreeCAD document and show them overlapping in different colors. One way to handle commit conflicts is to generate two FreeCAD documents in one document version A is editable and in the other document version B is editable. As you modify version A and B in their respective views this would essentially be resolving the conflict and performing a merge operation. When both models have been modified to match each other the conflict is considered resolved and you will be able to commit your model back into the repository.)
    • Add feedback on parts of the model by clicking on faces, edges or parts and entering comments.
  1. Forum
    • Forums are threaded and work similar to current Vanilla OSE forum.
    • Two project level micro-forums automatically created:
      1. Design and prototyping forum
      2. Fabrication forum available from within eventual build projects
  1. Wiki
    • Ability to select a wiki page as the default project home page.
    • Wiki syntax for referencing:
      • Other projects and wiki pages in other projects.
      • Parent project or listing child projects.
      • Still image from specific CAD document specifying image size, camera location and angle.
      • Any other metadata from CAD document.
      • Status widget showing:
        • Burn down chart.
        • Currently active tasks.
        • Last X number of daily logs.
        • Status of ongoing builds.
  1. Enter daily log/SCRUM.
  1. Mark project as available to fabricators.
  2. Associate document revisions with specific tasks.


Build

  1. Find a Design project and start a build from it.
  2. Keep track of required parts.
  3. Mark steps complete as build progresses.
  4. Add comments, photos and suggestions to the design and steps.
  5. Enter daily log/SCRUM.