We create software by working inwards from the users' experience. Maintaining focus on the users' perception of 'the system', we do just enough to satisfy the needs of the user rather than what we think is necessary or cool. On a regular basis, we come up for air to check context and avoid getting lost in the weeds. We decide which direction to go next based on where our client sees value and consider how we're going to demonstrate what we've created so far. We don't jump into unit land because trying to connect all the pieces at the end doesn't produce a good solution.