Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Agile Development using Scrum
Transcript of Agile Development using Scrum
What does "Agile" mean?
Agile is not a methodology. It is a framework !
What should be changed when adopting Agile?
Analysis, design, coding, & QA are continuous activities
You are never done with analysis, design, coding and testing on an Agile project. So long as there are features to build, and the means to deliver them, these activities continue for the duration of the project.
Contribute in as many ways as you can
Roles really blur on Agile projects. When it’s done right, joining an Agile team is a lot like working in a mini-startup. People pitch in and do whatever it takes to make the project successful—regardless of title or role.
Why do we need Agile?
Where Is Agile Development used?
Typically agile development is used for projects with constantly evolving requirements developed by cross functional teams.
The two leading approaches to software development are the agile and waterfall methodologies. A common perception is that these are two distinct methodologies that organizations could select.
Scope will vary
By fixing time, budget, and quality, and being flexing around scope, Agile team's maintain the integrity of their plans, work within their means, and avoid the burn out, drama, and dysfunction traditionally associated with our industry.
10 small steps towards bliss
Most popular implementation approach is Scrum.
When reality disagrees with their plans, Agilists find it easier to change their plans than reality. They call this adaptive planning.
And when there are many ways to change plans, the preferred way is to flex on scope.
Start with something really simple, and add to it incrementally over time.
It means evolving the architecture, accepting that your requirements are going to change, and continuously refining & tweaking your product as you go.
Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.
Better Productivity = more scope delivered in the same time frame = faster time-to-market (TTM)
Delivering the right scope at the right time, not all at once = faster time-to-market (TTM)
faster to market
Organizational Structure / Environment
Barriers for communication
The management style used
Values the organization places as it encourages and rewards its team members
Level of Support
If a change is limited to only the development team, the team can adopt agile practices to gain certain benefits, but the resulting methodology will be limited in its movement towards the agile end on the continuum.
Level of Talent
“Software factory” model of development usually fails. superior results if given the opportunity to apply their full skill set to analyzing, solving, and implementing solutions based on a broader understanding of the end user’s need.
Turn it sideways – the right side
Fuzzier the better
Form a closely-knit scrum team
Communicate the roles and associated expectations
Tell product owners and brief them about role they need to play
- Adaptive planning
- Evolutionary development & delivery
- Time-boxed iterative approach
- Rapid & flexible response to change
Rapid & Flexible
Through a combination of modern software engineering practices, and open and honest planning, Agilists accept and embrace change even late in delivery process.
The Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value
Individuals and interactions
processes and tools
Responding to change
following a plan
That is, while there is value in the items on the right, we value the items on the left more
In February 2001, 17 software developers published the Manifesto for Agile Software Development to define the approach. Some of the manifesto’s authors formed the Agile Alliance, a nonprofit organization that promotes software development according to the manifesto’s principles.
The QSM Associates in their "Agile Impact Report, Proven Performance Metrics from the Agile Enterprise" have assessed the performance of Agile development projects against a database of 8,000+ primarily traditional development project in three key areas:
The real reason why agile is able to deliver all these values is that it implicitly applies the 80/20 rule, where product owner prioritizes the features to be implemented first, based on their values (ROI) to the end product.
Better collaboration, adaptability and continuous attention to technical excellence reduces defects delivered to end user by 75%
- Improved customer satisfaction by rapid delivery of useful software
- Closer to ground reality - welcome changing requirements, even late in development
- Frequent delivery of working software
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Close, daily co-operation between business people and developers
- Continuous attention to technical excellence and good design
- Simplicity- The art of maximizing the amount of work not done – is essential
- Regular adaptation to changing circumstances
An organization’s actual implementation of a methodology will lie somewhere along this continuum based on numerous factors and the specific goals and requirements for their development processes.
Trust in teams
As a highly agile approach promotes the teams, employee evaluation should be focused on how well individuals contribute and thrive within the team environment
If an organization does not feel that they can stand behind the decisions made by their teams, or that the teams will not perform at optimal levels when left to their own self-organization, than a highly agile approach would not be appropriate.
Scope is your true friend
Decide the time-box/sprint cycle of ‘x’-weeks
Design your release/sprint plan and task categories.
Commit that sprint layout will be adhered to.
Be prepared for hand-holding and mentoring the scrum team for the first few sprints.
Work towards improving motivation levels of team.
Always seek commitment from team as a unit
Management at all levels must embrace the change in thinking, responsibilities, and structure.
An agile approach often works best with a combination of junior & senior level talent.
The trick is not in installing trust in team, but building a trustworthy team of high performing individuals.
Anantesh Verma / Collaborate & Innovate / Noida / 25 August 2014
Where does this come from?
What makes it possible?
OK. I'm convinced Agile is wonderful.
But is it apt for my organization & projects?
So far so good.
Now, what & where do I start to change?
This session is not to coach the participants on Agile methodology or framework. This course may act as a refresher for those who are already well-versed with Agile framework. For others, the contents of this session are nothing else but a sales pitch with rationale.
This is based on the industry’s best practices and my experience as Scrum Master and Agile Coach.
First 10 steps towards destination
Credits: (1) http://www.agilenutshell.com (2) Scrum and XP from the trenches (3) Matthew Thornton IT Leadership (4)Wikipedia
A bird-eye view of SCRUM
Derived from practical experiences of industry experts