Text this: Balancing Agility and Formalism in Software Engineering