Agile Development
Introduction to SCRUM
Agile software development
Agile software development refers to a group of software
development methodologies based on
iterative/incremental development, where requirements
and solutions evolve through collaboration between selforganizing cross-functional teams. Examples of agile
methods include Extreme Programming (XP) and Scrum.
 Agile software development focuses on keeping code
simple, testing often, and delivering functional bits of the
application as soon as they're ready
 The goal of ASD is to build upon small client-approved
parts as the project progresses, as opposed to delivering
one large application at the end of the project.
Why Agile


Preference to Individuals and interactions over
processes and tools



Working software over comprehensive
Documentation



Customer collaboration over contract
Negotiation



Responding to change over following a
plan
SCRUM


Scrum is an agile, lightweight process to manage and control
development work



Scrum is a wrapper for existing engineering practices that
iteratively and incrementally develop system products when
requirements are rapidly changing
Why SCRUM


Scrum is a process that controls the chaos of conflicting
interests and needs



Scrum is a way to improve communications and maximize cooperation



Scrum is scalable from single projects to entire organizations
That’s the reason companies like IBM, Microsoft and Xerox
successfully address the failings of software development
Process through SCRUM
SCRUM Terminology


Scrum is based on what is called a Sprint – a focused effort
for a 30-day period toward fixed goals.



A Product Owner compiles all the changes planned for the
product and prioritizes the possible functionalities.



The result of the Product Owner’s work is a Product Backlog
– a to-do list that is constantly reprioritized.



Before each Sprint, the highest prioritized goals are
transferred to a Sprint Backlog.
SCRUM Terminology


Together with a user, the project members form a Scrum
Team consisting of 5–9 people. During discussions with the
Product Owner, the goal of the Sprint is determined and the
prioritized functionality is broken down into detailed tasks. The
team is self-organized and the members have a joint
responsibility for the results.



The Scrum Master coaches the development team, removes
any possible impediments and constantly works to ensure that
the team has the best possible circumstances for realizing the
goals fixed for the Sprint.
SCRUM Flow
How Does SCRUM Work


Small teams (< 10 people)



A series of Sprints (1 - 4 weeks)



Visible, usable increments



Time-boxed
Sprint Rules
 Total focus—no unwanted diversion
 NO interruptions/changes from the outside
 New work may be uncovered by the team
 Very XP-ish [Concepts of Extreme programming if
required ]
What Happens During a Sprint?


Frequent, short Scrum Meetings



Each team produces a visible, usable increment



Each increment builds on prior increments



Clearly defined deliverables and responsibilities



Each team member buys into the assignment
What’s a Scrum Meeting?


Short (15 - 30 min) frequent meetings, facilitated by the
Scrum Master



All team members attend—even teleworkers



One activity – Scrum Master asks each attendee 3 questions
3 Questions
1. What have you completed (relative to the Backlog) since the last
Scrum meeting?
2. What got in your way of completing this work?
3. What will you do between now and the next Scrum meeting?
End of a Sprint


Status meeting with all stakeholders.



Increments are delivered.



Surprises are reported.



ANYTHING can be changed, work can be added, eliminated, reprioritized.



New estimates and team assignments are made for the next
Sprint.



The Sprint/project can be cancelled.
Common Questions and Answers


Where does the word Scrum come from?
Scrum is a rugby term for the close-knit shoulder-to-shoulder
formation a rugby team forms to jointly move the ball forward.
The word was first used by Takeuchi and Nonaka in a famous
article published in the Harvard Business Review in which they
described the most successful product development projects in
Japan.


Isn’t there a significant risk that Scrum runs wild with
everyone doing as they like?

Experience from a multitude of various projects shows
that this does not happen. The reason is that the
principles are easy to understand and the team has
visible deliveries every 30 days. The shared
responsibility for all parts of the code also makes the
Scrum Team’s members more motivated to adhere to
set routines and rules.


Can Scrum only be used for smaller projects?
No, the method can be up-scaled by putting together several
smaller projects to form one larger. A so-called Scrum of
Scrums can include hundred of programmers, organized in
dozens of Scrum Teams.



Is Scrum a method just for software development?
Not at all! The method can be adapted for all different types of
projects – for instance newspaper production or medical
engineering development.


How do you start?
A common way of starting is to send one or more people on a
course to become a certified Scrum Master. Many companies
offer these types of courses nowadays.

Another alternative is to start a pilot project and let someone
with experience from a previous Scrum project serve as
mentor for the Team, Scrum Master and Product Owner.


What happens if you don’t finish on time?
Scrum does not allow a delivery date to be altered! If you are
behind, you delete items in the Scrum Team’s Sprint Backlog
and if you are ahead you can ask the Product Owner for more
tasks.



Does a Sprint have to be 30 days?
Not necessarily, but it should be the same length throughout
the entire project. Plus, experience shows that 30 days (about
1,000 effective hours for an experienced group) is a good
compromise between a comfortable work pace and
adaptability.


How does Scrum and CM [Configuration Management]
mix?
Well functioning CM routines are needed in a Scrum project,
but normally there is no dedicated CM role. The operative CM
process is handled by the self-organized development team.
To slim the CM process, continuous integration and automatic
tests are used to automate as much as possible.
Thanks
If U really
gone through


Software Engineering Agile methodology SCRUM

  • 1.
  • 2.
    Agile software development Agilesoftware development refers to a group of software development methodologies based on iterative/incremental development, where requirements and solutions evolve through collaboration between selforganizing cross-functional teams. Examples of agile methods include Extreme Programming (XP) and Scrum.  Agile software development focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they're ready  The goal of ASD is to build upon small client-approved parts as the project progresses, as opposed to delivering one large application at the end of the project.
  • 3.
    Why Agile  Preference toIndividuals and interactions over processes and tools  Working software over comprehensive Documentation  Customer collaboration over contract Negotiation  Responding to change over following a plan
  • 4.
    SCRUM  Scrum is anagile, lightweight process to manage and control development work  Scrum is a wrapper for existing engineering practices that iteratively and incrementally develop system products when requirements are rapidly changing
  • 5.
    Why SCRUM  Scrum isa process that controls the chaos of conflicting interests and needs  Scrum is a way to improve communications and maximize cooperation  Scrum is scalable from single projects to entire organizations That’s the reason companies like IBM, Microsoft and Xerox successfully address the failings of software development Process through SCRUM
  • 6.
    SCRUM Terminology  Scrum isbased on what is called a Sprint – a focused effort for a 30-day period toward fixed goals.  A Product Owner compiles all the changes planned for the product and prioritizes the possible functionalities.  The result of the Product Owner’s work is a Product Backlog – a to-do list that is constantly reprioritized.  Before each Sprint, the highest prioritized goals are transferred to a Sprint Backlog.
  • 7.
    SCRUM Terminology  Together witha user, the project members form a Scrum Team consisting of 5–9 people. During discussions with the Product Owner, the goal of the Sprint is determined and the prioritized functionality is broken down into detailed tasks. The team is self-organized and the members have a joint responsibility for the results.  The Scrum Master coaches the development team, removes any possible impediments and constantly works to ensure that the team has the best possible circumstances for realizing the goals fixed for the Sprint.
  • 8.
  • 9.
    How Does SCRUMWork  Small teams (< 10 people)  A series of Sprints (1 - 4 weeks)  Visible, usable increments  Time-boxed
  • 10.
    Sprint Rules  Totalfocus—no unwanted diversion  NO interruptions/changes from the outside  New work may be uncovered by the team  Very XP-ish [Concepts of Extreme programming if required ]
  • 11.
    What Happens Duringa Sprint?  Frequent, short Scrum Meetings  Each team produces a visible, usable increment  Each increment builds on prior increments  Clearly defined deliverables and responsibilities  Each team member buys into the assignment
  • 12.
    What’s a ScrumMeeting?  Short (15 - 30 min) frequent meetings, facilitated by the Scrum Master  All team members attend—even teleworkers  One activity – Scrum Master asks each attendee 3 questions
  • 13.
    3 Questions 1. Whathave you completed (relative to the Backlog) since the last Scrum meeting? 2. What got in your way of completing this work? 3. What will you do between now and the next Scrum meeting?
  • 14.
    End of aSprint  Status meeting with all stakeholders.  Increments are delivered.  Surprises are reported.  ANYTHING can be changed, work can be added, eliminated, reprioritized.  New estimates and team assignments are made for the next Sprint.  The Sprint/project can be cancelled.
  • 15.
    Common Questions andAnswers  Where does the word Scrum come from? Scrum is a rugby term for the close-knit shoulder-to-shoulder formation a rugby team forms to jointly move the ball forward. The word was first used by Takeuchi and Nonaka in a famous article published in the Harvard Business Review in which they described the most successful product development projects in Japan.
  • 16.
     Isn’t there asignificant risk that Scrum runs wild with everyone doing as they like? Experience from a multitude of various projects shows that this does not happen. The reason is that the principles are easy to understand and the team has visible deliveries every 30 days. The shared responsibility for all parts of the code also makes the Scrum Team’s members more motivated to adhere to set routines and rules.
  • 17.
     Can Scrum onlybe used for smaller projects? No, the method can be up-scaled by putting together several smaller projects to form one larger. A so-called Scrum of Scrums can include hundred of programmers, organized in dozens of Scrum Teams.  Is Scrum a method just for software development? Not at all! The method can be adapted for all different types of projects – for instance newspaper production or medical engineering development.
  • 18.
     How do youstart? A common way of starting is to send one or more people on a course to become a certified Scrum Master. Many companies offer these types of courses nowadays. Another alternative is to start a pilot project and let someone with experience from a previous Scrum project serve as mentor for the Team, Scrum Master and Product Owner.
  • 19.
     What happens ifyou don’t finish on time? Scrum does not allow a delivery date to be altered! If you are behind, you delete items in the Scrum Team’s Sprint Backlog and if you are ahead you can ask the Product Owner for more tasks.  Does a Sprint have to be 30 days? Not necessarily, but it should be the same length throughout the entire project. Plus, experience shows that 30 days (about 1,000 effective hours for an experienced group) is a good compromise between a comfortable work pace and adaptability.
  • 20.
     How does Scrumand CM [Configuration Management] mix? Well functioning CM routines are needed in a Scrum project, but normally there is no dedicated CM role. The operative CM process is handled by the self-organized development team. To slim the CM process, continuous integration and automatic tests are used to automate as much as possible.
  • 21.