Software Planning: Making a Plan

Software Planning

How do you eat an elephant?

One of the first steps of building a robot or really anything, is planning. Building a robot to compete in this competition is a complex task and requires that you break the complexity down into smaller tasks. Breaking the project down into smaller tasks makes it easier because you have a set of more attainable goals. Having smaller tasks also allows you to improve the probability that you will be successful and one of the reasons is that it allows you to get a sense of accomplishment throughout the process.

Each core element of a project can be broken into a ‘milestone’. Milestones are known as mile markers in this modern age and they are a way of providing feedback that you are on the right track. This is much like if you have you ever looked at your odometer on a long drive and said ‘we’re halfway there’ as a sense of reassurance. Once milestones are developed, they can be broken down further to develop tasks and even mini-milestones if necessary but that’s a topic for another day.

Determine the Core Tasks

So, what are the core tasks involved in this year’s competition?

  • Navigation
  • Dispensing blue dowels
  • Picking up red dowels
  • Dispensing red dowels (different than blue dowels)

Determine the Order

These tasks need to be detailed much more but for now, this generic list will at least give us an idea of how to break down our… elephant. These are going to be our milestones and while most of these tasks can be tackled in parallel we need to pick somewhere to start, I’d say the most important task is to navigate the track. There is no sense in dispensing or collecting anything unless we can actually navigate the robot to perform that action.

After determining milestone one, we need to assign the rest but since points are achieved by simply dispensing blue dowels that are already loaded on the robot, this would be the next logical goal in my opinion. The alternative would be to pick up red dowels but points are not awarded until they are dispensed so points for red dowels would require completing two milestones.

That leaves my final order of milestones as follows

  1. Navigation
  2. Dispense Blue Dowels
  3. Collect Red Dowels
  4. Dispense Red Dowels

Schedule Milestones

At this point, the milestones should be scheduled. Being that you may be new to building large projects or robotics in general you can certainly get help from someone more experienced. It may be helpful to plan how long you think a milestone will take by first breaking each down into smaller tasks and judging based on the collection of tasks. Estimation is a very difficult task to complete accurately, historical information and experience will likely provide the best results. It should also be noted that estimation is extremely difficult early on but will become more accurate as the project progresses so know that you may need to make adjustments and that is perfectly normal. In project management there is a term for this called ‘The Cone of Uncertainty’.

Stay tuned for a post on how to make better estimations.

Leave a Reply

Your email address will not be published. Required fields are marked *