Agile developement is a set of methodologies that promotes adaptive, flexible, and rapid development.
Two (competing) ideas in creating software.
Waterfall (old school)
- Project focused
- Project time line many months to years.
- Testing phase after development phase
Iterative (agile)
- Product focused
- Project time several days to weeks.
- Testing integrated with development
Daily stand-up meetings have become a common ritual of many teams, especially in Agile software development. However, there are many subtle details that distinguish effective stand-ups and a waste of time.
Stand up is a daily meeting for a small team, typically at the same place and time each day. During the meeting everyone meets standing up (get it?). Each team member takes 30-60 seconds to talk about three things:
- What did I accomplish yesterday?
- What will I do today?
- What obstacles are impeding my progress?
The point is to keep is short and sweet. Do not:
- Ask in-depth questions of others, instead quickly communicate a time to meet individually to talk.
- Ramble.
- Show up unprepared.
User stories are a way to define application requirements. Typically they are written by a project manager or customer. The format of a user story varies but is typically something like
As a <role>, I want <goal/desire>
- As a user, I want to search for my customers by their first and last names
- As an author, I want to start an application with the last edit.
For this project we'll be using a Kanban Board system called Trello to document and manage user stories.