Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Introduction Agile Basic Understanding Agile- Features Waterfall Technique Vs. Agile What is Scrum? History of Scrum Components of Scrum
Conclusion
Introduction
Classical methods of software development have
many disadvantages:
- huge effort during the planning phase - poor changing requirements incorporation conversion in a
New methods:
Agile- An Introduction
Agile software developmentis a group
development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
A Basic Understanding.
"Agile Development" is an umbrella term for
several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and FeatureDriven Development (FDD). The first 2: XP and Scrum, are most popular. We will study Scrum in a while.
ofprinciplessupport of amanifesto. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. Agile methodology means cutting down the big picture into puzzle size bits, fitting them together when the time is right e.g. design, coding and testing bits. While each of the agile methods is unique in its specific approach, they all share a common vision and core values- called the Agile Manifesto.
Development
Individuals and interactions over processes
and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
7
Features of Agile
All fundamentally incorporate iteration and
continuous feedback- successively refine and deliver a software system. Involve continuous- planning, testing, integration, and other forms of continuous evolution of both- project and software. They are all lightweight (especially compared to traditional waterfall-style processes), and inherently adaptable. They all focus on empowering people to collaborate and make decisions together quickly and effectively.
Waterfall Model
(The Same old)
down failure rates of software development projects, but even with rigorous project management and processes, a full 70% of software projects fail to meet their objectives using this. Organizations tried to cut down on these failures by focusing on more detailed requirement and design phase, but this only made the task more tedious and
checkpoints and deliverables. While Agile methods have interactions rather than phases- the output of each interaction is working code- used to evaluate changing user needs. Waterfall assumes it can gather requirements from the very beginning. This leads to final output not matching expected outcome. Agile has iterations and keeps taking regular
software is not only a practical impossibility, but means one has to go right back to the beginning and start developing new code, all over again. As for minimal risk Agile, work is donein cycles i.e. a week, a month, etc., project priorities are re-evaluated and at the end of each cycle.
constantly changing requirements, rather more than larger projects as is the case with Waterfall model.
very little written documentation Indicated for unpredictable / rapidly changing requirements
18
Agile Methods
Agile methods:
Scrum Extreme Programming Adaptive Software Development (ASD) Dynamic System Development Method (DSDM)
Agile Alliance
A non-profit organization promotes agile
development
19
SCRUM- An Agile
Methodology
20
What is Scrum?
Definition from rugby point of view: A where the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them. In rugby, scrum scrum- a way to restart the game after an interruption- is the term for a huddled mass of players engaged with each other to
get a job done. In software development- the job is to put out a release.
21
Scrum- Essentially
Scrumis an iterative and incrementalagile software developmentmethod for managing software projects and product or application development.
22
23
requirements Controls the chaos of conflicting interest and needs Improve communication and maximize cooperation Protecting the team form disruptions and impediments A way to maximize productivity
24
History of Scrum
1995:
analysis of common software development processes not
suitable for empirical, unpredictable and non-repeatable processes Design of a new method: Scrum by Jeff Sutherland & Ken Schwaber Enhancement of Scrum by Mike Beedle & combination of Scrum with Extreme Programming
1996:
introduction of Scrum at OOPSLA conference
2001:
publication Agile Software Development with Scrum by Ken Schwaber & Mike Beedle
Successful appliance of Scrum in over 50 companies Founders are members in the Agile Alliance
25
Components of Scrum
SCRUM ROLES:
Product Owner Scrum Master Scrum Team Sprint Planning Meeting Sprint Daily Scrum Sprint Review Meeting Product backlog Sprint backlog Burn down charts
26
The Process
Scrum Artifacts
Scrum Master
Represents management to the project Typically filled by a Project Manager or Team
Leader Responsible for enacting scrum values and practices Main job is to remove impediments
27
Designers, etc.) Members should be full-time Team is self-organizing Membership can change only between sprints
28
Product Owner
Acts like one voice (in any case) Knows what needs to be build and
29
The Process
Sprint Sprint Planning Meeting Daily Scrum Sprint Review Meeting
30
Sprint
A sprint is the basic unit of development in
Scrum. - Sprints last between one week and one month. With Scrum, projects progress via a series of iterations called sprints. One sprint ends only to make way for a new sprint. NO outside influence can interference with the Scrum team during the Sprint At the end of each Sprint, Project Review is done; to see if there is need to incorporate
31
each Sprint between the Product Owner, the Scrum Master and the Team Takes 8 hours and consists of 2 parts (before lunch and after lunch)
32
33
Pre-Project/Kickoff Meeting
A special form of Sprint Planning Meeting Meeting before the begin of the Project
34
Daily Scrum
Is a short (15 minutes long) meeting, which is
held every day before the Team starts working Participants: Scrum Master (which is the chairman), Scrum Team Chickens and Pigs Every Team member should answer on 3 questions
35
Questions
What did you do since the last Scrum? What are you doing until the next Scrum? What is stopping you getting on with the
work?
36
Daily Scrum
Is NOT a problem solving session Is NOT a way to collect information about
WHO is behind the schedule Is a meeting in which team members make commitments to each other and to the Scrum Master Is a good way for a Scrum Master to track the progress of the Team
37
during the Sprint is demonstrated to the Product Owner Informal, should not distract Team members of doing their work
38
Scrum Artifacts
Product Backlog Sprint Backlog Burn down Charts
39
Product Backlog
Requirements for a system, expressed as a
prioritized list of Backlog Items Is managed and owned by a Product Owner Spreadsheet (typically) Usually is created during the Sprint Planning Meeting Can be changed and re-prioritized before each PM
40
Methods of estimation:
Expert Review Creating a Work Breakdown Structure (WBS)
41
Product Backlog
Is only a FORECAST!-> is not exact
42
Sprint Backlog
A subset of Product Backlog Items, which
define the work for a Sprint Is created ONLY by Team members Each Item has its own status Should be updated every day
43
Sprint Backlog
No more then 300 tasks in the list If a task requires more than 16 hours, it
should be broken down Team can add or subtract items from the list. Product Owner is not allowed to do it
44
Sprint Backlog
Is a FORECAST! Is a good warning monitor
45
46
Information Radiator
"Two characteristics are key to a good
information radiator. The first is that the information changes over time. This makes it worth a person's while to look at the display... The other characteristic is that it takes very little energy to view the display."
47
48
remaining per day Shows the estimated amount of time to release Ideally should burn down to zero to the end of the Sprint Actually is not a straight line Can bump UP
49
up
50
51
52
Scrum Methodology
53
Functionality of Scrum
54
55
known technologies organizations are willing to do anything and everything for a project to succeed project is important and no one has confidence that any existing approach will work. control and management is Empirical
56
development environment teams of developers are more than 10. Six is ideal. Cost is a major issue No management support No formal training available
57
Oracle IBM Capital One Federal Reserve, US 37 Signals Sun Siemens Toyota
58
Pro/Con
Advantages
Completely developed and
Drawbacks
Undisciplined hacking
tested features in short iterations Simplicity of the process Clearly defined rules Increasing productivity Self-organizing each team member carries a lot of responsibility Improved communication Combination with Extreme Programming
(no written documentation) Violation of responsibility Current mainly carried by the inventors
59
Conclusion
Thanks for you attention! Any questions?
60