Project Layout
Introduction
Projects should be organised such that all information is easily available and organised sufficiently such that someone who is new to the project will be able to quickly get up to speed with minimal explanation. The best way this can be achieved is by maintaining a 'standard layout' across the board to all projects.
How a Project Comes to Life
A project has the following main stages:
- Ideation, where the project is dreamed up - a largely informal process in broad conceptual terms you could explain to a grandparent or a child.
- Requirements definition - a process where requirements of the project are defined.
- Initial design - sketches are drawn on paper / whiteboards, and ballpark calculations are created to see if the idea is feasible.
- Detailed design - a CAD model is produced
- Model undergoes many design reviews to ensure it meets the requirements.
- CAD model is locked
- BOM, and parts list produced.
- Drawings for fabricated and modified COTS are produced.
- Drawings are reviewed
- Critical Design Review to ensure that the design itself meets requirements including costs, and possible integration issues.
- Ordering and fabrication
- Testing
- Each layer of testing corresponds to a stage in the project. Effectively the requirements analysis will be written in such a way that a System Testing document is easily written, and that a high level design document can be used to create an Integration Testing document, and detailed design notes will drive the Unit Testing criteria.
It is essential that no step is skipped or overlooked as subsequent steps generally rely on previous steps. For example the CAD model must be locked so lists can be generated. These lists are frequently used to create tasks. If the model changes, then each list created also changes and becomes a nightmare to maintain.
People Responsible
A project will need a leader, called a Project Lead. The Project Lead is ideally a senior student, and not a section leader as they are already fairly busy. This is the person in charge of the overall running of the project, and may not be involved in many of the hands on. They will be responsible for ensuring there are people from software, electronics and mechanical sections to staff the project, as well as ensuring that the project is run smoothly.
The Project Lead must know the current state of the project, and be able to report on it to mentors at short notice. To that end, they must be familiar with the Project Management spreadsheet as it will be the main tool they use. The Project Lead must also have a 2IC who is also kept aprised of project details. Ideally the 2IC will be a junior team member so they can grow into a Project Lead role in the future.
Project Lead responsibilities
- Daily reporting
- Rolling design reviews and answer questions from the designers as they come up. This is basically hundreds of small design reviews ensuring that things like fasteners are long enough, and that the CAD model is not broken.
- Requirements & Testing
- Staffing
- Software
- Electronics
- Mechanical
- Materials tracking
- Timeline
- Include time for testing!
Designer Responsibilities
Designers must ensure that parts and materials conform to the Mechanical Design Standards. They are also responsible for finding suppliers for any parts and materials added to the design. Fasteners are not to be added if a supplier cannot be found. All parts and materials must be fit for purpose. Ask the Project Lead if you have questions.
Designers and Fabricators should be communicating about the ease / difficulty of producing a part.
Fabricator Responsibilities
Those machining and building parts are responsible for ensuring the parts are made to tolerances called out by the designers in drawings.
If you encounter problems with the design, it is important that they are mentioned during the detailed design phase.
Electrical Responsibilities
Interface between mechanical and software. Maintain a list of ports / wires and wiring diagrams that your software team mates can read, but satisfies what the mechical requirements are, eg your mech team states "We need to stop this arm moving between these two angles", so you ask software to allocate two DIO ports for this task and you work with software to number them.
Software Responsibilities
Software must write software test plans as well as the tests to ensure methods / functions and objects behave as intended. Software is also required to document their code.
Software must also work with electrical to satisfy signalling requirements, such as port allocation.
All Members' Responsibilities
Documentation and project management state! It is imperative that the project management state is kept accurate, and that any problems are brought to the Project Lead as early as possible so they can be dealt with when they are small.
All members are responsible for:
- Test Plans
- Assembly documentation
- Project notes and calculations
- Knowing the state of other sections within your project, and to help if able and called upon.
Project Folder Contents
A project folder should be placed in the team drive alongside other projects. If it contains multiple versions, such as v1.0, v1.1, v2.0 etc, then they should each be in separate folders. The folder should have the following standard items at minimum, each item will be explained in its own section:
- Project Name v1.0 - Assembly Instructions, Document
- Project Name v1.0 - Bill of Materials, Spreadsheet, exported from OnShape CAD model.
- Tab: A list of assemblies
- Multiple tabs: one tab per assembly containing parts
- Project Name v1.0 - Project Management, Spreadsheet
- Tab: Document Listing - A list of documents in the project as well links to those documents. Helpful to also link to the purchasing list.
- Tab: Part-by-Part Breakdown - A list of parts to be fabricated, modified or purchased, and the current state, an ETA and initials for is assigned to the part. This allows part level tracking for machining and knowing the status of each part.
- Tab: TODO List - A list of tasks to be done, either during manufacturing, or design. Each task must contain a task number, a description, a status, extended status, a target (version number that the task is based on), assignee initials, reporter initials and a comment field. The status can be one of
- OPEN - The task has not been closed.
- CLOSED - The task has been finished with no further action required.
- CUSTOM - Useful for short free form text stating why a task has not been closed.
- Tab: TODO Gantt Chart - A simple Gantt chart indicating the order of tasks and the dates.
- Tab: Changelog - A list of changes to be made to the next version of the project.
Assembly Instructions
Many off season projects may be handed over to new recruits or shared with other teams, or reused in a few years time. Seeing how a complex assembly is put together with exploded diagrams, and an order of operations can be useful. It should be written by those who assemble the project, and should include photographs indicating points of difficulty, and tips or tricks that help. Difficult parts may also be valuable in reporting in the Changelog tab of the Project Management document to make future revision easier to assemble.
Bill of Materials
A bill of materials (BOM) is an exported list from the CAD model. Items are NOT allowed to be ordered unless they are linked back to this document. Frequently this will want to integrate with the CAW (Cost Accounting Worksheet) which is a part of the robot inspection checklist.
<TODO: write and link to a document on how to generate the BOM>
Project Management
This is the main spreadsheet that drives the management of the project. It includes task lists, part-by-part breakdowns, TODO lists, and changelogs for future revisions. It is a rudimentary ticketing system.
- Tab: Document listing