Internship at Web Design and Startup in DC

Week 8 Blog: SCRUM and Agile Development

My main project has been to work on SEOQ.com. One of the problems I encountered was that it was hard to make progress on the project because we didn’t really know what was going on. Person A heard this from Person B but Person C says something different. There was really no concrete structure for getting the project launched.

With only 13 days left of my internship, we decided to implement scrum, a type of agile development, to make sure we could get the product launched. Using very 2 short sprints (one week long) we aim to get SEOQ up and running. I had never heard of scrum so here is my most basic summary from a newbie’s perspective.

Basic Organization: Product Owner, Scrum Master, Developers, Stakeholders

  • Product owner: owns the product and has the overall vision for the product, represents the clients and their wishes, only he/she has the authority to prioritize and change the project backlog
  • Scrum master: similar to a project manager, keeps developers on track, breaks down tasks, eliminates any barriers to developers doing their job
  • Developers: the ones who actually create the product, usually a small team of 3-7 to keep everyone coordinated and nimble
  • Stakeholders: people who have an invested interest in the project but aren’t actually directly involved

Basic Process: Project Backlog, Sprints, Daily Sprint Meeting, Sprint Retrospective, Burn chart

  • Project Backlog: user stories (As a < type user> I want to <do something> so that <value is created>) that serve as a wishlist for what the product will eventually accomplish.
  • Sprints: 3days to a month, a period where developers work on the tasks and each task is completed to final status (what will be used in the final product)
  • daily sprint meeting: 15 minutes each day to look over what each team member has accomplished and what is left to do, usually coordinated by scrum master
  • sprint retrospective: after each sprint, a evaluation of the sprint as a whole, what was done well and what could be done better for the next sprint
  • Burn chart: quantitative way to track progress, each day the amount of work left is plotted. This can be used to create a linear regression and you can estimate at what day the work will become done

The iterative approach behind scrum is useful because then decision are made based off of past events. You aren’t make random projections but rather have a data set to set realistic goals.