What is Agile and What are User stories?

Let’s try to understand about Agile Development Methodology and User Stories. In general, a development methodology is nothing but the process followed to develop a software in a step-by-step manner. Agile itself is just a newer, best-of-breed collection of methodologies used to develop and maintain software. The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used in software development to help businesses respond to unpredictability. Figure 1.1 explains the typical life cycle of Agile Development Methodology.

481x319xagile_methodology_overview.png.pagespeed.ic.hnSv2PKjMj

Figure 1.1 : Agile Development Model. Agile Methodology Blog(2011). Retrieved from http://bit.ly/1gGB5dE

To understand the differences between traditional ‘Code and Fix’ or big-bang approach of software development and Agile Development let’s compare it with a traditional waterfall development method.(Ambler & Holitza, 2012)

Agile development provides opportunities to assess the direction throughout the development life-cycle(Ambler & Holitza, 2012). This is achieved through regular cadences of work, known as Sprints or iterations, at the end of which teams must present a potentially ready to release product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental.” The waterfall method assumes that every requirement can be identified before any design or coding occurs. Hence, in the waterfall model, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited. When a team stops and re-evaluates the direction of a project every two weeks, there’s time to steer it in another direction. This “inspect-and-adapt” approach to development greatly reduces development costs and time to market.(Ambler & Holitza, 2012)

Agile methodology can be applied to develop many kinds of systems, including web-based applications, mobile applications, business intelligence (BI) systems, life-critical systems, and embedded software (Wikipedia, 2014). Organizations, including financial companies, retailers, healthcare organizations, manufacturers, and government agencies have adopted agile approaches.(Smith, 2010)

My Experience with Agile and User Stories

I am working on a encryption project and the team I am working with uses Agile methodology, As I studied Agile as a part of my CS200W course, it helped me lot to execute Agile methodologies while working on a real time project. We converted the requirements from customer into user stories. User stories, as explained below, precisely state what the business needs to do. As the requirements are precisely defined, the overhead associated with rework for changed requirement substantially decreases. I have personally experience this while working on encryption project. Let me quote example user story. As a user of encryption project

  • I want to store the information on my disk drive securely
  • I want the encryption to complete within maximum of 60 second window, irrespective of volume of data
  • I want to be able to encrypt the data on secondary disk and/or removable disk

What are User Stories?

A User Story is nothing but one or more sentences in everyday or business language, which will define what a user does or needs to do as part of his or her job function.User stories are used with Agile software development methodologies as the basis for defining the functions a business system must provide, and to facilitate the management of requirements. It captures the ‘who’, ‘what’ and ‘why’ of a requirement in a simple, concise way, often limited in detail by what can be hand-written on a small piece of paper. Here are some examples of User Stories. (Smith, 2010)

user_story

Figure 1.2 : User Stories (Smith, 2010). Retrieved from http://bit.ly/1pFNdmq

As a user of banking software I want to

  • Check my account balance
  • Transfer money across continents
  • Pay my telephone bills online

As a user of Vehicle Insurance software I want to

  • Check my insurance claim history
  • Add a driver to my insurance
  • Pay my insurance bills

As shown in figure 1.2, a user story is  used for planning and developing the software. Acceptance test is performed at each stage in development. Iteration Planning can easily be done with the help of user stories.

References:

Agile Methodology Blog(2011). Agile Methodology. Retrieved from http://bit.ly/1gGB5dE

Wikipedia(2014). Agile Software Development. Retrieved from http://bit.ly/1eV8cZ5

Smith (2010). Garren Smith Blog. Retrieved from http://bit.ly/1pFNdmq

Ambler & Holitza (2012). Agile For Dummies®, IBM Limited Edition.  Hoboken, NJ : John Wiley & Sons, Inc.

2 thoughts on “What is Agile and What are User stories?

  1. The blog explains Agile methodology in a very simple and clear way. It points out exactly why is agile methodology followed in industry today. It also states the advantages of agile methodology over other traditional models such as waterfall very precisely . It also focuses on the concepts of user stories and gives examples that gives a clear picture. I would like to read your other blogs on Agile as well. Well done !!

    Liked by 1 person

  2. The blog has precisely conveyed all the necessary details required to understand about the agile methodology. You have clearly demonstrated the differences between agile and traditional methods of software development and why agile is preferred over these methods. Also, the examples given for the user story are very helpful to understand the way user stories are written and their importance. The blog is very informative and shows your clear understanding on the topic. I would definitely like to read your other blogs too. Good Job !!!

    Liked by 1 person

Leave a comment