Created by [ Rowan Dempster] on Jan 08, 2020
Important milestones for each software development cycle is as follows.
Watonomous operates on a 2 week development cycle that will end with every Test Track visit on Sundays.
Prerequisites: Meeting Schedule Policies https://docs.google.com/document/d/1xwXbI2opvnQ-C6QTn_IVc-iE0uneZy5xfV7qi3yW0jM/edit#heading=h.inwk7u3x0yka
A Test Track session is a day-long event where relevant members of the Drive Crew, along with involved core members, head towards the test track at the Waterloo Emergency Services Training and Research Center. These events will typically occur during Sundays and will involve testing features that is not possible to test in Mini Test Track sessions in the Parking Lot (mostly Path Planning). Logistical details for Test Track days can be found here.
A Mini Test Track session is a session lasting one or more hours in the parking lot of E5 where there is at least one Safety Driver, Pipeline Operator, and a Safety guardian. Safety procedures for regular Test Track Sessions should also be used for the Mini Test Track Sessions. These sessions will be scheduled regularly at a weekly basis, and occur whenever a Technical Lead, Manager, or Director wishes to schedule one. These sessions should be used to test features whenever possible for items that do not require a large amount of space to test, such as most Perception and Processing features. These sessions should also be used to confirm the current health of the software pipeline and training new pipeline operators.
In general, the master branch should be considered the only branch that will run in the car during the test track day. It should be considered a certified stable version of each module that will not break any dependent modules and should be updated before the code freeze on every development cycle.
The develop branch will be used as the branch that all feature development will be based off and contain all code that has been code reviewed.
Feature development should be performed by the following process
The Manager should thoroughly test the develop branch of the entire module and pipeline to ensure it works. This may involve scheduling a Mini Test Track session, or at very least running rosbags through the pipeline in the car itself. Once the Manager is satisfied with the state of the develop branch, they will certify that it is stable and merge the develop branch to the master branch. This should be done before the code freeze.
\
\
\
Gantt Chart updated
WATO Wide Work Session Schedule planned
\
\
Gantt update presented
Draft of Test Track Schedule presented
Integration Points presented
Master Merge. All development branches are confirmed to be “Test Track” ready and are merged into the Master branch
Production Pull. All Master branches are pulled onto the Rugged and catkin made.
Mini Test Track Session in the parking lot. The production build is sanity checked.
Code Freeze. No changes are made to the production build between now and when we run the production code on Test Track Day.
Gantt Chart updated
Test Execution occurs throughout the entire day to test items that cannot be tested on the Parking Lot.
Todo list created for software for the next development cycle based on test results.
Code unfreeze will end and a new development cycle shall begin.
Document generated by Confluence on Nov 19, 2021 12:21