Some people think that “Agile development = no need to design”. This is not true. It is just that Agile development NEED NOT to design too early. Agile is similar to lean process in that they both promote doing things just-in-time.
User Story
User Story is one of the most frequently used tools in Agile Development projects. The beauty of User Story is, that it doesn’t require us to drill down into the details at the beginning of a project. Following outlines a normal usage scenario of User Story:
- Capture User Story – Meet with the end user and brainstorm the user stories
- Just write down ONE sentence for what the user want to accomplish
- We can optionally include a short description
- Developer(s) do basic estimation on the User Stories
- In Sprint meeting, all stakeholders gather together to decide which set of User Stories should be tackled in the sprint
- Developer(s) meet with end user to discuss the detail of the User Story
- Record the discussion as Conversation notes
- Write down what must be fulfilled as Confirmation items
- Developer(s) write usage scenario(s) and draw wireframes for the system
- Confirm the requirements with user
- Developer(s) design the system
- Developer(s) implement the system
- Since the requirements are very clear now and the design are all ready, the implementation effort is low
- Developer(s) prepare the testing environment for the end user to do testing based on the Confirmation items
As you can see, Agile development team need the following design at least:
- User Experience Design (UX Design) – Wireframe
- System design – Activity Diagram, Sequence Diagram
- Database design – Entity Relationship Diagram (ERD)