Team:Groningen/Project Plan/Tools and Documentation
From 2009.igem.org
(→Organization, Responsibilities, and Interfaces: More detail.) |
(→Tools, Environment, and Infrastructure - NEW) |
||
Line 49: | Line 49: | ||
Also, in case of conflicts in a Simbiology project you are in trouble (this happens when two people update/change/commit a file at the same time). Unfortunately Mathworks chose to save their projects as one big compressed file, which makes it extremely hard to compare two versions of a project, let alone resolve conflicts. Using [http://winmerge.org/ WinMerge] (with the 7-Zip plugin) these project files can be compared, but you still can't resolve conflicts. So, please stick to one model per project and try to avoid conflicts. If a conflict does occur, contact Jasper for help in resolving it. | Also, in case of conflicts in a Simbiology project you are in trouble (this happens when two people update/change/commit a file at the same time). Unfortunately Mathworks chose to save their projects as one big compressed file, which makes it extremely hard to compare two versions of a project, let alone resolve conflicts. Using [http://winmerge.org/ WinMerge] (with the 7-Zip plugin) these project files can be compared, but you still can't resolve conflicts. So, please stick to one model per project and try to avoid conflicts. If a conflict does occur, contact Jasper for help in resolving it. | ||
+ | |||
+ | A list of programs that support SBML and there respective capabilities are here [http://sbml.org/SBML_Software_Guide]./SBML_Software_Matrix | ||
Finally, team members that do '''NOT''' write code can checkout the models using TortoiseSVN in the same way as described above and file issues in the [http://code.google.com/p/igemgroningen/issues/list issue list]. | Finally, team members that do '''NOT''' write code can checkout the models using TortoiseSVN in the same way as described above and file issues in the [http://code.google.com/p/igemgroningen/issues/list issue list]. |
Revision as of 12:14, 17 July 2009
[http://2009.igem.org/Team:Groningen http://2009.igem.org/wiki/images/f/f1/Igemhomelogo.png]
|
---|
Configuration Management
Organization, Responsibilities, and Interfaces
We have the following Configuration (and Change) Management related activities:
- Write Configuration Management Plan: Configuration Manager, Facility Manager (for specific parts)
- Monitor and Report Configuration Status: Configuration Manager
- Number of (pages with) todo's.
- Frequency of commits to repository/changes to wiki.
- Change and Deliver Configuration Items
- Make Changes: Any Role
- Create Workspaces: Any Role, Integrator
- Create Baselines?: Integrator
Manage Change Requests(We're not doing this, at least for now.)- Submit/update Change Request: Any Role
- Review Change Request: Change Control Manager
- Confirm Duplicate/Rejected Change Request: Change Control Manager
Basically this means that anyone may change anything at any time for any reason, and that the Configuration Manager keeps an eye on how (and how much) the Wiki and the SVN repository are used. He also writes this document (assisted by the Facility Manager(s) for lab-specific parts).
At this moment we don't have an Integrator, and it is not certain we will need baselines.
Tools, Environment, and Infrastructure - NEW
Describe the computing environment and software tools to be used in fulfilling the CM functions throughout the project or product lifecycle. Describe the tools and procedures required used to version control configuration items generated throughout the project or product lifecycle. Issues involved in setting up the CM environment include:
- anticipated size of product data
- distribution of the product team
- physical location of servers and client machines
Most documents are created on the Wiki, which has built-in version control features (a revision history, including comments). For Google Docs the same is true. Our network drive does NOT have version control and should not be used for documents that have to be modified (much). For storing/exchanging Matlab code we will use [http://subversion.tigris.org/ Subversion] in combination with [http://code.google.com/ Google Code]. All team members wishing to alter models/write matlab code should follow the following steps to get set up (focusses on Windows):
- Download and install Matlab R2009a. (Login and click on My Account, both in the upper-right corner, then click on "My Products / Get Licensed Products and Updates".)
- Download and install TortoiseSVN: http://tortoisesvn.net/downloads
- Checkout the URL https://igemgroningen.googlecode.com/svn/trunk/ using TortoiseSVN by right-clicking in your iGEM directory (in Windows Explorer) and choosing SVN Checkout. Note that you will have to supply the password that can be found on http://code.google.com/hosting/settings.
Whenever you want to make changes to some of the files in the repository, first update all files by choosing SVN Update from the right-click menu in Windows Explorer (this will download any new changes from others), then make your changes, and finish by committing (again through the right-click menu). Do not forget to supply a commit message explaining the changes.
Also, in case of conflicts in a Simbiology project you are in trouble (this happens when two people update/change/commit a file at the same time). Unfortunately Mathworks chose to save their projects as one big compressed file, which makes it extremely hard to compare two versions of a project, let alone resolve conflicts. Using [http://winmerge.org/ WinMerge] (with the 7-Zip plugin) these project files can be compared, but you still can't resolve conflicts. So, please stick to one model per project and try to avoid conflicts. If a conflict does occur, contact Jasper for help in resolving it.
A list of programs that support SBML and there respective capabilities are here [http://sbml.org/SBML_Software_Guide]./SBML_Software_Matrix
Finally, team members that do NOT write code can checkout the models using TortoiseSVN in the same way as described above and file issues in the [http://code.google.com/p/igemgroningen/issues/list issue list].
TODO For wet work
The Configuration Management Program - NEW
Configuration Identification - NEW
Identification Methods - TODO
[Describe how project or product artifacts are to be named, marked, and numbered. The identification scheme needs to cover hardware, system software, Commercial-Off-The-Shelf (COTS) products, and all application development artifacts listed in the product directory structure; for example, plans, models, components, test software, results and data, executables, and so on. ]
Currently covered in the project plan.
TODO: Perhaps put the information here, to get a more coherent document.
Product directory structure (Project Repository) - TODO
[The Product Directory Structure serves a logically nested placeholder for all versionable product-related artifacts. The Product Directory Structure is a placeholder framework and provides a navigational map to all project related artifacts. Map your product directory structure using a structured text hierarchy or use a screenshot, if available, of your directories environment]
TODO: Anything missing? Wrong? TODO: Something about programming code should be added. TODO: Something about lab stuff?
- Our wiki
- Category:Team:Groningen contains all our categories (corresponding to some of the UPEDU disciplines).
- Category:Team:Groningen/Disciplines contains all our disciplines.
- Category:Team:Groningen/Roles contains all our roles.
- Team:Groningen is our main page, http://www.igemgroningen.com/ redirects to this.
- All our documents are on the Wiki, where possible. Each document is a subpage of the main page, unless it is itself part of another document, then it is a subpage of that document. For example: Team:Groningen/Project_Plan and Team:Groningen/Project_Plan/Risk_List.
- Note that each document should be preceded by a list of related categories (see this document for example).
- User:... (see, for example, Michael's user page)
- Some basic information
- Optionally a photograph
- Categories for each of the roles he/she has.
- Any JavaScript on the Wiki should (as much as possible/desirable) be written in a separate page and included using a script tag with a href attribute referencing the raw version of the page (see Template:Team:Groningen/Header for an example), this avoids problems with ampersands, keeps the pages a bit cleaner and makes it possible for browsers to cache long scripts. When it makes sense the page should be a subpage of the page it is used in.
- Category:Team:Groningen contains all our categories (corresponding to some of the UPEDU disciplines).
- Subversion repository
- The trunk is at https://igemgroningen.googlecode.com/svn/trunk/
- /trunk/glucose/
- The models for the glucose sensing idea (which we're not pursuing any further).
- /trunk/buoyant/
- Models (mostly .sbproj files) for the buoyant bacteria.
- Google Docs
- Unfortunately Google Docs does not allow sharing of a directory structure.
- Contact Information for 3rd parties.
- Minutes and agendas.
- Availability of team members.
- TODO: More?
- Y-drive
- The transfer documents.
- Literature?
- Miscellaneous files
Workspaces - NEW
[Explain and describe how development and integration workspace will be created and managed in relation with the project repository. What are they, where are they, when are they created. Specify any details or conventions your project team will use.]
Project Baselines - NEW
[Baselines provide an official standard on which subsequent work is based and to which only authorized changes are made.
Describe at what points during the project or product lifecycle the baselines are to be established. The most common baselines would be at the end of each of the Inception, Elaboration, Construction, and Transition phases. Baselines could also be generated at the end of iterations within the various phases or even more frequently.
Describe who authorizes a baseline and what goes into it.]
Configuration and Change Control - NEW
Change Request Processing and Approval - NEW
[Describe the process by which problems and changes are submitted, reviewed, and dispositioned.]
Change Control Board (CCB) - NEW
[Describe the CCB membership and the procedures for processing change requests and approvals to be followed by the CCB.]
Configuration Status Accounting - NEW
Project Media Storage and Release Process - NEW
[Describe retention policies, and the back-up, disaster, and recovery plans. Also describe how the media is to be retained—online, offline, media type, and format.
Archives show their value in times of re-use or disaster. As such, archives need to be done regularly and at major and minor milestones. Describe your practices and approaches on how you ensure that project software and related assets (master documents) are backed-up, catalogued and transferred to designated storage sites
The release process describes what is in the release, who it is for, and whether there are any known problems and any installation instructions.]
Reports and Audits - NEW
[Describe the content, format, and purpose of the requested reports and configuration audits.
Reports are used to assess the “quality of the product” at any given time in the project or product lifecycle. Reporting on defects based on change requests may provide some useful quality indicators and, thereby, alert management and developers to particularly critical areas of development. Defects are often classified by criticality (high, medium, and low) and could be reported on the following basis:
- Aging (Time-based Reports): How long have defects of the various kinds been open? What is the “lag time’’ between when defects are found in the lifecycle and when they are fixed?
- Distribution (Count Based Reports): How many defects are there in the various categories by owner, priority or state of fix?
- Trend (Time-related and Count-related Reports): What is the cumulative number of defects found and fixed over time? What is the rate of defect discovery and fix? What is the “quality gap” in terms of open as opposed to closed defects? What is the average defect resolution time?]
Milestones - NEW
[Identify the internal and customer milestones related to the project or product CM effort. This section includes details on when the Configuration Management Plan itself is to be updated.]
Training and Resources - NEW
[Describe the software tools, personnel, and training required to implement the specified CM activities.]