The first thing you do when you design software is determine the needs that are to be met.