http://www.technicalpage.net/search/label/SQL

>> Agile/Scrum methodology


Agile/Scrum methodology

It is a software development methodology in which the different phases of software development life cycle happen in parallel ,  producing a product better and faster.



Sprint :
It a time span for one cycle of software development. It is in general 1 week to 4 weeks long. A project consists of 1 or more than one sprints.  A sprint has selected or prioritized user stories from product backlog . A project backlog is divided into several sprints and each sprint goes through the same cycle of software development , producing a potentially shippable product at the end.

Roles in Scrum:

Product Owner: He is the person to come up with the idea of the product and he defines the features of the product based on the feedback from stakeholders and end users(clients).  The clients/stakeholders come up with the user stories( user stories are the client's expected features those they want to include into the product.) and the product owner decides which user stories to be included into the product backlog.

Scrum Master: He is the leader of the scrum team. He is responsible for maintaining the software development process. He conducts meetings , monitors the progress and  manages the team.

Team :  It is the group of people with different roles (such as developers, testers) who contribute to develop the product.

Documents  or  Artifacts :

User Stories:  User stories are the list of user/client expectations ie what features the client want to include in the product or what features the client expect from the product. The scrum team works on the user stories included in the sprint. Based on the priority , the user stories are selected for any particular sprint.

Product backlog: This is a document created by product owner . This document is  the list of all the user stories. As per the priority the user stories are implemented in the particular sprints ie goes into the particular sprint backlog. Project backlog is the master document , sprint backlog is the document for the particular sprint.

Burndown chart: It is a chart showing the progress in the sprint, remaining works(Hours) vs time(Days). It shows the daily work progress.  At the end of a well managed/operated sprint, the work remaining should be zero.  The straight line representing the slope of the graph is called Burndown velocity which shows the daily progress or the overall progress of the sprint or team's velocity . This graph helps to monitor  if the progress is happening at the expected speed or not. If the progress is slower than expected,  then we can take the appropriate action to complete the sprint in time.



Meetings:

Sprint planning meeting: In sprint planning meeting the Product owner, scrum master and the team meet and discuss on the user stories . From this meeting they estimates the size of the user stories ie the amount of work to be done in terms of hours. Based on the size, they decide which  user stories are to be added into the particular sprint , ie, into the particular sprint backlog.

Daily Scrum or Daily Standup meeting: This is a daily meeting for about 15 minutes , everybody standing to discuss what they have done since the last scrum meeting, what they are working on right now and if there is any difficulties, issues or blockades.

Sprint Review: This meeting happens at the end of the sprint. In this , the team , the product owner , stakeholders discuss about the product of the sprint. They discuss about what is achieved or developed. 

Retrospective : This meeting also happens at the end of the sprint. In this , the team discuss what went right or wrong , what lesson is learnt , what can be done to improve the process or what can be improved.

Potentially shippable Product : This is the outcome or end product of any sprint.



Advantages of Agile Methodology:

1. There is constant communication  of developers, testers and the customer throughout the software development lifecycle. So customer can review the product and suggest anything anytime.

2.Team can reach out to the customer whenever required as there is extensive involvement of the customer.

3. The software is developed fast and customers are happy as they are reviewing the development process constantly.

4. The feedback from the customer is quick.

5. There is freedom for the team and the stakeholders to make decision or apply any changes . They can wait and apply the changes in later sprints/releases if they need to wait for the availability of right environment, data , software etc.

6. Customer can get fast and frequent delivery , so that customer can add or customize or change the scope of the project or the requirement as required and when required.

7. Regular communication and daily progress updating/meeting help understand each member's status in his work and the difficulties if any .

8. The Sprint review meeting and the retrospective  at the end  of the sprint help understand the achievement , challenges  and the experience from the previous sprint helps to improve the in the next sprints.


 Disadvantages of Agile Methodology:

1. There is a fast-paced work environment. The team members have to act fast , understand the requirements and the changes in the requirements.

2. Developers, Testers and customers must be communicating with each other, so it needs more time and efforts.

3. Team members have to work on task on short notice which adds probability of the project getting off the track or misunderstanding in the development.

3.  There is loss of time , effort and resources which impact the deadline in below situations:
Customer is not sure about the requirement or  
Customer's feedback is  not understood  or
The communication is not in time or
Requirement is not understood or misunderstood .

4.  It is easy to maintain the progress with experienced team , adjusting new team member  might be difficult.

5. Documents might not be in detail and might be frequently changing , so it is difficult for the new team members to pick up.

6. There is possibility of frequent changes in requirements , team should be prepared and able to manage the changes.

7. This does not need detail planning or understanding of the full scope of the project  to start unlike waterfall methodology . So the progress depends on the  frequent feedback and continuous communication. The team and the customers should maintain good communication all the time.

8. Sometimes  there might not be enough documentation or the required amount of details.   And the team has to depend on the verbal communications .







No comments:

Post a Comment