In general, agile processes value the code production more thanplan-driven processes. In a plan-driven process, developers might treat Unified Modeling Language designs and other non-code items as first-class artifacts. In the agile process, however, these items usually exist only to support the coding activity [9].