Staying Agile in Week Two

One of the driving forces in making the decision to apply for AcquiaU was the fact that although I was accumulating a lot of "book" knowledge", I didn't know what those next steps to take were. What were the next skills I needed to learn to bring myself from someone learning web development to someone who actually worked in web development? Week two started answering a lot of those questions.

Agile and Scrum in reference to development are terms had heard before but never really looked into. I didn't think they were methods that would really apply to me. My first real introduction to Scrum development came from one of the alumni of AcquiaU, Mark Sakurada. Mark is now a senior technical architect for Acquia and someone who has shown to be a nearly endless source of knowledge and best practices here at Acquia. Part of that knowledge was of course agile methods used by Acquia and how they are incorporated into almost nearly every aspect of the company. There are several resources available to go deeper into Scrum development, much deeper than I could go into in a simple blog post. What did I get out of Mark's presentation though, well basically agile development is exactly as the name says. It's a way of remaining agile during a development process.

Development of a product takes time and during that time needs have a way of changing. Customer personnel might change along with customer priorities and opinions. If the only contact with the customer is at the very beginning of a product development life cycle then at the end with the finished product, any change of priorities in the middle of development would go unnoticed. Agile methodology breaks up development into a series of sprints, with the end of a sprint designed to present viable increments of a shippable product at a pre-determined time interval, usually two weeks. This allows customers to see the product as it develops, if there is a change in plans it can be implemented before the product reaches its final form. If the product is being developed incorrectly from what the customer wanted then it can be addressed early on and finally if the product is being developed correctly to the customers wishes then it can be confirmed and allow the design team to proceed as planned. It's easy to see how this process can be beneficial to the design team and the customer.

Coupled along agile is Scrum. Scrum is a method of managing the development team during the development lifecycle. Scrum consists of five types of meetings during a sprint lifecycle.

  • Sprint Planning
  • Daily Scrum (15 minute standup)
  • Story Time
  • Sprint review
  • Sprint Retrospective

Sprint planning, the beginning of a sprint, is where a team decides on how many tasks can actually be completed during the sprint and how those tasks will be accomplished. The daily Scrum is a quick 15 minute stand up. The point of the stand up is to keep the daily Scrum from turning into a traditional meeting that can often times get drawn out. The point of the stand up is for each team member to identify what they have accomplished, what they will accomplish, and anything that might be preventing them from accomplishing current or future tasks (blockers). Story time is a chance to look at the tasks that are not part of the current sprint. The team can prioritize the upcoming tasks and estimate required amounts of time to complete each task. It is also a chance to refine and add new tasks to the product backlog. The sprint review at the end of the sprint is a chance to show stakeholders the current iteration of the product. It's a time to get feedback directly from the customer to ensure development is on the right track. Finally the sprint retrospective is a time for the development team to get together and reflect on how the prior sprint went. What was right, what was bad and what could've been better so that improvements could be carried over into the next sprint. Pretty simple when it break it down.

This was a very shallow review but as I said, there are tons of resources out there to get a better idea of this entire process and I would encourage anyone new to development to take some time to familiarize yourself with the process and dig a little deeper into how development teams work together to create a product. It really connected a lot of pieces for me on how to deliver a higher quality product to a customer and also how to make the development cycle run smoother.


About the Author

John Cunningham

I joined the U.S. Marine Corp at the age of 17. I served for five years part of which fell during Operation Enduring Freedom. Following the Marines, I attended the university of Central Florida and received my Bachelors of Science in Biology.

User login