Jack’s Plan for Success
During a competition, programmers are usually only given a couple days with the robot to get it fully operational. As such, it is imperative to create a streamlined development procedure.
Roles
Each programmer requires a role. Roles dictate what their duties. Below is a list of the usual roles:
- Lead - The Lead orchestrates development of the entire robot.
- Assistant Lead - The Assistant Lead assists the Lead in managing the programmers.
- Programmer - A Programmer is a general role that is further divided into sub-roles:
- Ports and Constants - Responsible for determining the robot’s ports and constants.
- Input - Responsible for setting up the Input.java file.
- Robot.java - Responsible for setting up the Robot.java file.
- Feedback - Responsible for setting up the Feedback.java file.
Subsystem - Responsible for setting up the specified subsystem.
- Rookie - A Rookie is a general role for new additions to the programming team which may lack enough knowledge to beneficially contribute during the short time frame. They can shadow the programming section.
Boilerplate
Each programmer should implement boilerplate code first, instead of aiming for functionality first. This includes creating all instance variables and getters/setters before writing main logic as this enables other programmers to interface with your part instantly.
Asking for help
Do that. :)