Alexandria Le's CS100w Blog!

Sharing what I know, while I learn.

Month: September, 2014

Blog 3: What is an Agile Sprint Retrospective?

In Agile, scrum takes place in sprintsSprints are little periods of time where the Agile Scrum team has designated for certain tasks to be competed. Every software development project is broken down into sprints. And each sprint is broken down into four main periods: sprint planning, sprint execution, sprint review, and retrospective (Drury 2011). Although all four individual periods of a sprint are equally important, the one that we will be discussing is the Sprint Retrospective.

6005504-fig-1-large

(Sprint Cycle breakdown from Drury 2011)

 

 

According to Drury, “Sprint retrospectives are an opportunity tor the team to reflect on how It is working together and actively seek out areas to improve. The Retrospective is a facilitated session at the end of the sprint”. Essentially, the main goal of the retrospective is to search for more improvements. 

During this period of the scrum, team members get together to discuss about what could be better for the next sprint, what they can continue doing, and what they should stop doing. Team members aim for success and the purpose of the retrospective is to help them. The basic format for a retrospective is to go over topics such as: “What works? What doesn’t? What do we need to do?” (Keith 2008). It is a period of self-improvement for the better of the entire project. It also is a slow down period for the team members to reflect instead of just jumping to the next sprint to continue developing.  However, most of the feedback and solutions that are found during the retrospective period of a sprint are usually temporary solutions and tend to only work for individual specific development projects.” Regardless of being tactical or strategic, all of these decisions indicate the team uses the Retrospective to decide how to better their teams’ agile process in future sprints” (Drury 2011).

 

6005504-fig-3-large

(Photo of Sprint Planning from Drury 2011)

 

 

Ideally, the agile sprint retrospective would be seen as a productive and necessary part of a sprint since its goal to make the team more successful the next time around. In majority, most people who do participate in retrospective, have a positive experience (Drury 2011). Personally, I think that doing the retrospective causes more good than bad. They say that if you do not get any feedback, you do not get any better. Retrospective is all about feedback. If you want success, you must hear the ugly as well as the beauty of the work that you are completing.

However, not everyone agrees that retrospective is a productive use of the team’s time. One participant described the experience as “a free-for-all of just throwing positives and negatives on a wall and grouping those, you know, if two people say the same thing we talk about it. There’s not really a lot of decisions to be made other than, saying, ‘alright here’s one …” (Drury 2011).

Overall, it is up to the teams on whether or not they would want to take part in the sprint retrospective. However, it is a good idea to have a sprint retrospective, if they want to have more success and improvement.

References:

Drury, M. (2011, August 7). Decision Making in Agile Development: A Focus Group Study of    Decisions and Obstacles. Retrieved September 28, 2014, from http://ieeexplore.ieee.org.libaccess.sjlibrary.org/xpls/icp.jsp?arnumber=6005504

Keith, C. (2008, February 18). An Agile Retrospective. Retrieved September 28, 2014, fromhttp://www.clintonkeith.com/resources/GDC2008-AnAgileRetrospective.pdf

 

Advertisements

The Agile Team and what is a Backlog? What are they for and why are they important?

In order to properly use Agile for your developing needs, you will need a better understanding about the Agile team and backlog. You gotta start somewhere!

What consists of an Agile Team?

There are three main parts to the Agile Team, all of which are equally important. These three parts are: Product Manager, Scrum Master, and the Team (CK). The leader of the Agile Team is the Product Owner This is usually someone who has communication with the users of the product, understand the product’s market field, and overall is a good marketer for the product that is being developed. However, the most important job that the Product Owner has is that he or she, must have a clear end product goal in mind. Next, is the Scrum Master. Scrum Master is a type of middle man between the Team and the Product Owner. His or her goal is to motivate the Team and push it to the end of the Sprint. Essentially, the Team’s success, is the Scrum Master’s success. He or she must be ready to face any issues a team runs into and as fast as possible, remove the issue, get the team back and ready to go. The Team consists of many tinier roles such as: artists, animators, programmers, designers, and QA (CK). Usually teams consists of seven or so members and they are self-managing. The Team is what determines proper time estimates for the project given and commits to completing the work that they have set themselves up to do. Team members are actively meeting and engaging with one other to complete each sprint.

Why is an Agile Team important?

There are multiple reasons for why having an Agile Team is so important. Not only does having a team create an communicative environment, it also creates a more collaborative environment. With such an environment, the entire development process becomes more enjoyable and chances are, the happier your employees are, the more that gets done. More motivation plus more performance equals a better product.

 

SelfOrgTeam_9_0611_v2

 

What is a backlog?

ProductBacklogIceberg

According to the faculty of Computer and Information Science from the University of Ljubljana, a Product Backlog is a “list which contains all active product requirements” and it is “managed by the Product Owner, who is the only person authorized to change the priorities of the requirements” (Grebennikov)In simple terms, it’s a list of things that you have to complete for the entire product and the only person who is allowed the change the list is the Product Owner.

As previously learned, the overall product development process is broken down into sprints. Before each sprint begins, there is a discussion about the product’s backlog, where a little part of the backlog is chosen to be completed by the end of the sprint. This little section is what describes what has to be completed or requirements that will be completed within the thirty+ day sprint. Also, each requirement listed will also be broken down even further by the team to be finished within four to sixteen hours.(Grebennikov).

Why is having a backlog important?

A backlog breaks down the large amount requirements into a  smaller, more “do-able”, goal that can be completed in a shorter amount of time. It also give the team a direction to begin in for each and every individual sprint. Once a backlog is created in each sprint, the backlog must be maintained and the team must stay committed to completing the requirements listed on the backlog (Grebennikov). Overall, it keeps the team goal orientated.

In the end, having a great team and a proper backlog are important details in what makes a good product. Without those two, chances are, very little development would occur. So, don’t forget to build your team and write that backlog!

 

References:

Keith, Clinton. “Agile Methodology in Game Development: Year 3.” Gaming Developers Conference. High Moon Studios. CGC, San Jose. 20 Mar. 2006. Lecture.

Grebennikov, A. (2008). Modern topics of computer science: Proceedings of the 2nd WSEAS International Conference on Computer Engineering and Applications (CEA’08), Acapulco, Mexico, January 25-27, 2008. S. l.: WSEAS Press.

What is Agile and What are User Stories?

The Brief Goodies:

  • What:  Agile is a type of method created to make the software development process easier and more effective.
  • Who and When: In 2001, some software developers wanted to create a new and easier development method process.
  • How: Agile consists of having a team, a several steps process, and a product.

What is Agile?

Before Agile existed, there were previous methods introduced such as the original Code-and-Fix development and the Waterfall model. However, although these methods were helpful at the time, it still was an ineffective way for software development. Code-and-Fix involved fixing the code as you go, and unfortunately caused the software to be delivered all at once. Waterfall involved a sequential process which has scheduling risks, little flexibility, and little to none customer involvement.  (Layton, 2012)

Eventually, developers realized the issues with those previous models and soon enough, Agile was born.

The creators of Agile wanted a model (product) that consistently improved itself from its previous model. As a result, Agile was the most effect, flexible, and team-oriented than any of the previous software development methodology. (Layton, 2012)

How does the Agile development methodology differ from other development methodologies?

  • The Agile methodology involves Scrum, which places the importance of feedbackteam self-management, and striving to build a fully tested product. (Silva da Silva, 2012) It also breaks down the big project into several little parts, in which when each part is completed, it is possible to release a usable product to customers

.agile_methodology_overview

(Photo from Neos,2012)

  • Compared to the Waterfall Method, Agile is more flexible, requires much more collaboration between team members(Stakeholder, Product Owner, Team Leader, & Team Member), involves more customer participation, and it is a process that involves releasing several improving different versions of the same product.(Silva da Silva, 2011)

What are User Stories?

ScenarioAndUserStoryExample

  • Every software development team that uses the Agile methodology, uses User Stories.
  • User Stories come from the product owner and they describe what the software aims to do and how it will benefit the user.
  • It is “a simple description of a product requirement in terms of what is required for the customer/user” (Layton, 2012).
  • It’s a simple way to convey what you want your product to include.

Can Agile methodology be applied to other software testing and development projects? What projects would you suggest Agile for and why?

  • Of course it can! With businesses growing at a faster and more consistent rate, they are always looking for faster and more efficient ways to improve. Agile not only helps business have a competitive advantage, but it creates a better collaborative work environment for developers. (Silva da Silva, 2011)
  • Smartphones are the new craze and do not forget the apps that come with it. Projects that I would personally suggest Agile for include anything that involves apps for smartphones. I would also recommend it to any business that involves a product to customer based product such as healthcare offices, retail stores, and the government.

 

Reference List:

Neos. (2012, December 12). Agile Methodology. Retrieved September 15, 2014.

Layton, M. (2012). Agile project management for dummies. Hoboken, N.J.: Wiley ;.

Silva da Silva, T., Martin, A., Maurer, F., & Silveira, M. (2011). User-Centered Design and Agile Methods: A Systematic Review.

Williams, L. (n.d.). What agile teams think of agile principles. Communications of the ACM,71-71. Retrieved September 15, 2014.