Understanding Agile Development
With Scrum
https://www.ifourtechnolab.com/custom-software-development
http://www.ifourtechnolab.com
• Module 1: Fundamentals of the AgileDevelopment Approach
• Agile Manifesto and Agile values, Tackling uncertainty, Customer
responsiveness, Early availability
• Module 2: Agile Development LifeCycle
• Scrum flow andartifacts, Product backlog, Sprint backlog, Sprints planning,
Scrum meetings, Sprintreview
• Module 3: Roles and Responsibilities
• Product Owner, Scrum Master, TheTeam
• Module 4: Agile Requirements Development
• Breaking requirements into user stories, Story estimation,Merging and
splitting stories
Topics included
http://www.ifourtechnolab.com
• Module 5: AgilePlanning
• Release planning, Sprint types, Sprintplanning
• Module 6: AgileDesign
• Minimal design, Design for change, Usinginformation hiding to minimize code
changes, Lightweight design documentation
• Module 7: AgileConstruction
• Pair programming, Refactoring,TDD,CI
• Module 8: Agile Project Management
• Scrum and management, Status reporting, Sprint review agenda, Sprint
retrospective agenda, Recovery whenthings go wrong, Scaling agileprojects
Topics included
http://www.ifourtechnolab.com
Module 1:
Fundamentals of the Agile
Development Approach
http://www.ifourtechnolab.com
 Development that is characterized by gated stages.
 Waterfall - Most common and widelyused approach
Plan Driven Development
http://www.ifourtechnolab.com
SDLC - Waterfall
http://www.ifourtechnolab.com
 Requirements remains same through out the project
 Requirements are well understood
 Size of the projects are small to mid scale
 Highly structured systematic process
Plan Driven Development – Where toUse?
http://www.ifourtechnolab.com
Software is dumb- Why?
What thecustomer
really needed
How the customer
explained it
How the project
leader understoodit
How the analyst
designed it
How the
programmer wroteit
What the beta
testers received
How the business
consultant
How the project
was documented
What operations
installed
When itwas
delivered
http://www.ifourtechnolab.com
• What if
• The requirements required to change during the project life cycle?
• Requirements required to meet with business challenges time to time?
• Client wants to out perform the competitors by introducing the product first
in the market?
• Businesses and project stakeholders are constantly looking to improve
process andinnovate.
Project Requirements
http://www.ifourtechnolab.com
• Value driven method
• Understand and meets the challenges of today’s business
• Offers much more value to the stakeholders
• Firm emphasis on customer satisfaction and quick ROI
• It is all via Iterativeapproach
Agile Development Methodology
http://www.ifourtechnolab.com
Iterative Software Development
http://www.ifourtechnolab.com
What is AgileDevelopment? –Definition
• Iterative and Incremental Software development method where requirements
and solutions evolve through collaboration between self organizing, cross-
functional teams.
http://www.ifourtechnolab.com
AgileManifesto
• Individuals and interaction over processes and tools Working software over
comprehensive documentation Customer collaboration over contract negotiation
responding to change over following a plan.
• While, there is value in the items on the right side, we value the items on the
left more.
http://www.ifourtechnolab.com
Principals of AgileDevelopment
1. Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the
project.
http://www.ifourtechnolab.com
Principals of AgileDevelopment
5. Build projects around motivated individuals. Give them the environment and
6. support they need, and trust them to get the job done.
7. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
8. Working software is the primary measure of progress.
9. Agile processes promote sustainable development. The sponsors, developers and
users should be able to maintain a constant pace indefinitely.
http://www.ifourtechnolab.com
Principals of AgileDevelopment
10. Continuous attention to technical excellence and good design enhance agility.
Simplicity—the art of maximizing the amount of work not done—is essential.
11. The best architectures, requirements, and designs emerge from self-organizing
teams.
12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
http://www.ifourtechnolab.com
Flavors of AgileDevelopment
http://www.ifourtechnolab.com
Module 2:
Agile Development LifeCycle
(Scrum)
http://www.ifourtechnolab.com
Scrum Process
http://www.ifourtechnolab.com
Scrum Artifacts
• Primary (Main) Artifacts
• Product backlog
• User Stories
• Product backlog sizing
• Sprint backlog
• Kanban Board (Signboard / Billboard)
• Burn-down chart
• Secondary Artifacts
• Acceptance Criteria.
http://www.ifourtechnolab.com
Product Backlog
• List that represents customer’s needs and wants
• Requirements are always defined into user stories in a product backlog
• Managed by product owner
• Product owner can add or remove user stories
http://www.ifourtechnolab.com
How To Create Product Backlog?
• Typical product backlog comprises following different types of items:
• Features
They are described in the form of user stories
• Bugs
It is almost same as the feature
• Technical Work
e.g. Upgrade all developer’s work station to windows 10
• Knowledge Acquisition
e.g. Researching about various JavaScript libraries.
http://www.ifourtechnolab.com
Product Backlog- Excel Format
http://www.ifourtechnolab.com
Product Backlog- Excel Format
• Product backlog in this manner is written in the form of user stories
• The form is like “As a, so that…” e.g. As an administrator should be able to inactive
any registered user so that such user can not login to the system
• The spreadsheet helps to divide each part of the requirements in to specific columns
• You can add columns as per your requirements like Status column.
http://www.ifourtechnolab.com
User Stories
• User Story is written for the developer
• Expresses the increment of value to customer
• Vertical slice through the product.
http://www.ifourtechnolab.com
User Stories
Vertical Slice
User Interface
Business Layer
Data Layer
http://www.ifourtechnolab.com
What is Efficient User Stories?
• User Story should fit INVEST acronym
Independent Should be self containedThere should not be inherent
dependency on another story
Negotiable Can always be changed and rewritten until they are part
of a sprint
Valuable Must deliver value to thecustomer
Estimable Must always be able to estimate the size of a user story
Sized Appropriately Should not be so big to plan / prioritize
Testable Must provide necessary information to make testdriven
development possible
http://www.ifourtechnolab.com
Backlog Sizing
• Estimating anything is a tricky task but comparing anything is simpler and better
• Sizing a backlog is all about making decision based upon,
• Complexity
• Amount of work (Efforts estimation)
• It is not about how long it will take to do the work.
http://www.ifourtechnolab.com
Sprint Backlog
• Subset of Product Backlog
• Sprint backlog created during sprint planning meeting
• User stories and tasks to accomplish or remaining to complete from previous
sprint
• User stories will be divided into tasks during the sprint
• Task is a small chunk of a user story that can be done by any team member
e.g. Database changes required to do for a user story.
http://www.ifourtechnolab.com
Sprint Backlog – Excel Format
http://www.ifourtechnolab.com
Kanban Board
• Kanban is a Japanese word of Signboard or Billboard
• Kanban board is a task board
• Visible to entire organization
• Comprises,
• All tasks to be done by team during the sprint will be displayed on task board
• Setup meetings to gather requirements
• Review checks
• Research
• Testing
• Design
• Stages of coding.
http://www.ifourtechnolab.com
Kanban Board Example
http://www.ifourtechnolab.com
Burn-Down Chart
• Visual way to track how the sprint is progressing on daily basis
• Sprint backlog supplies the information for burn down chart
• Indicates remaining work
• Provides early indication if there is a problem in the sprint and the team may not
fulfill the commitment
• Burn down chart is used to analyze during sprint retrospection meeting about
how the sprint was progressed and where it can be improved in the next sprint.
• There are 2 types of burn down charts,
• Sprint Burn Down Chart
• Release Burn Down Chart.
http://www.ifourtechnolab.com
Burn-Down Chart
http://www.ifourtechnolab.com
Release Burn-Down Chart
• Used to track iteration progress against the release plan in a sprint burn down
chart
http://www.ifourtechnolab.com
Alternative Release Burn-Down Chart
• What if,
• Requirements are changing frequently in eachsprint?
• New requirements added in the currentsprint?
• The burn down chart in such cases may not provide the correct result
• e.g. The team was expected to finish 40 story points in a sprint but
completed only 10 storypoints.
• Burn down chart should also provide such impediment ideas so for such cases,
use alternative release burn down chart.
http://www.ifourtechnolab.com
Alternative Release Burn-Down Chart
http://www.ifourtechnolab.com
Acceptance Criteria – SecondaryArtifact
• Set of steps that developer must complete before the story can be considered
done
• Created by product owner with the help of customer
• Upfront sets the expectation of the user story
• Helps to write automated tests or to implement TDD
http://www.ifourtechnolab.com
Module 3
Scrum Roles& Responsibilities
http://www.ifourtechnolab.com
Project People
Project People
Committed
Pigs
Lets talk about Pig & Chicken story
Involved
Chickens
http://www.ifourtechnolab.com
Pig Roles
• Pigs are people who are committed to the project
• Pigs handle creating, testing and deploying of the project
• Typical scrum team size is 5 – 9 people
• 3 pig roles to make a scrum team
i. Scrum Master
ii. Product Owner
iii. Delivery Team.
http://www.ifourtechnolab.com
Chicken Roles
• Are less committed
• They are the stakeholders and/or interested parties who benefit from the project,
but are not responsible for delivering it
• Chicken roles are,
i. Business Managers
ii. Customers / Vendors / Sponsors.
http://www.ifourtechnolab.com
Scrum Master - Responsibilities
• Scrum master’s role is much more than a traditional project manager
• Scrum master liaises with different part of the team from stakeholders to testers
• Ensures the scrum process is understood and followed by the team
• Facilitates team meetings & remove any blockages
http://www.ifourtechnolab.com
Scrum Master - Responsibilities
• Ensures no obstacles keeping the team from achieving the goals
• Isolates the teamfrom outside distractions
• Working with the product owner to keep product backlog ready for the next
sprint.
http://www.ifourtechnolab.com
Scrum Master - Characteristics
• “Servant Leader” – Not the boss of the team but to help the team
• Helps to align the work in order to deliver value to the customer
• Point of contact for outside the group
• Needs to be a top-notch communicator
• Conflict resolving ability to bring the team back on track
• Scrum master should be influential
http://www.ifourtechnolab.com
Product Owner
• Customer’s representative to theteam
• Determines customer’s needs
• Prepares Product Road map
• Prioritize items so that team always works on items of highest customer value
• Manages product backlog
• Responsible for the sign-off of sprint deliverable–Sprint demo
• Should be motivating the team with clear, elevating goals.
http://www.ifourtechnolab.com
Product Owner
http://www.ifourtechnolab.com
Product Owner - Characteristics
• Visionary
• Decision Maker
• Collaborator
• Communicator
• Analytical – Tracks progress
http://www.ifourtechnolab.com
PO,PM & SM
http://www.ifourtechnolab.com
Product Owner Vs. Scrum Master
http://www.ifourtechnolab.com
Delivery Team
• Group of self-organized people responsible for delivery
• Team size – 2 to 10
• Team members – Programmers, testers, front-end designers and other disciplines
• Team works on each user story to move tasks on next stage in Kanban board
• No one is a leader, everyone decide as a group what they are going to deliver.
http://www.ifourtechnolab.com
Chicken Roles
• The project is developed for these people
• Their views are important and must be taken in account
• Should provide the resources that helps the team to get job done
• Actively involved during sprint review only
• Do attend scrum meetings time to time.
http://www.ifourtechnolab.com
Module 4
Scrum Activities
http://www.ifourtechnolab.com
Sprint Planning
• Sprint planning requires before the start of the sprint
• To determine which features to include in sprint from product backlog
• Stories are sized with the team via Planning Poker tool
• Stories are turned into tasks by the team
• Time estimation elicited for each task
• Team decides if they can commit to all tasks to complete in a sprint or not.
http://www.ifourtechnolab.com
Daily Stand Ups
• Who attends?
• The Team
• Scrum Master
• Product Owner
• When?
• Daily in the same place at the same time
• No longer than 15 minutes
http://www.ifourtechnolab.com
Daily Stand Ups
• What is to discuss?
• To discuss the progress and issues
• Each team member answer the following 3 questions,
i. What have you done since yesterday?
ii. What are you planning to do today?
iii. Do you have any problems preventing you from accomplishing your
goal? What progress has been made on existing impediments? Can the
blockage be removed? or must it be escalated? (The Scrum Master looks
after this area.)
http://www.ifourtechnolab.com
Sprint Review
• Held at the end of the sprint
• Team present user stories that are completed
• Informal demo of the product
• Who attends?
• The team
• Product Owner
• Scrum Master
• Manager / Customer
• The meeting is a direct value addition for the customer by showing the working software
• No need for slides and mass of presentation
• It gives a chance to customer to see ROI which is not possible in the waterfall model.
http://www.ifourtechnolab.com
Sprint Retrospectives
• Held at the end of the sprint along with sprint review
• Scrum master gives each team mate 3 color post it notes
• 3 colors to represent,
• Things that went well during the sprint
• Things that were confusing
• Things that were bad.
http://www.ifourtechnolab.com
Module 5: AgilePlanning
&
Module 6: AgileDesign
http://www.ifourtechnolab.com
Planning
• Important part of the project
• Planning comprises,
• Just In Time Planning
• Detailed Planning
• User Stories
• Release Planning
• Iteration Planning (Sprint Planning)
http://www.ifourtechnolab.com
User Stories
• Short description of a feature
• Represents single unit of business value to the customer
• It is told from user’s prospective
• Format As a <type of user>, I want <some action> so that < business benefit> Or,
In order for <some reason>, as a <user role> I want <some action>
• Typically recorded on indexed card during meeting with customer
• Should always be in a language that customer understands.
http://www.ifourtechnolab.com
User Stories
• Must be INVEST (Independent, Negotiable, Valuable, Estimable, Sized Appropriately,
Testable)
• User story shifts focus from writing about features to discussing them.
• Details can be added to user stories in 2 general ways,
i. By Splitting a user story into multiple, smaller user stories
ii. By Adding Conditions of satisfaction.
http://www.ifourtechnolab.com
User Stories
• Who should write user story?
• Including product owner, every one in the team because involvement of
every one makes a big difference to refine each user story and its acceptance
criteria
• When are user stories written?
• Generally through out the agile project
• Specifically story-writing workshop should be held near the start of the
project / sprint
http://www.ifourtechnolab.com
User Stories Acceptance Criteria
• Acceptance criteria should be captured during story generation
• It can be captured on the reverse side of the user story card
• It helps to find more details and identifying dependencies
• Typically each story should have minimum 3 acceptance criteria.
http://www.ifourtechnolab.com
Types Of User Story
• There are mainly 4 types of user stories,
• Baseline User Story
• Normal User Story
• Spike User Story
• Epic User Story
http://www.ifourtechnolab.com
Baseline User Story
• The team should start with a small and easy to size story to begin estimation
which becomes a baseline user story.
• Each user story’s efforts estimate should be relative to this story
• Baseline story’s estimate must be accurate
• If baseline story estimate is inaccurate then the whole estimation can be
inaccurate.
http://www.ifourtechnolab.com
Spike User Story
• Story is too difficult to estimate due to lack of technical knowledge – Create spike
(alternate story)
• Spike is created for the unfamiliar technology
• Once spike is completed then development team can estimate the actual user
story
• Spike involves gaining enough technical knowledge to estimate user story
e.g. Learning accelerometer, gyroscope readings to develop motion sensing game
http://www.ifourtechnolab.com
Epic User Story – Story Division
• Story that needs total more than one week of work is epic story
• It is usually too big to estimate
• Divide a story in smaller VERTICAL slices
• The story should work through all layers of architecture because that provides
immediate customer value.
http://www.ifourtechnolab.com
Estimating Stories – Planning Poker
• Planning poker is a group estimation technique
• Incorporates all team members – software developers, analysts, QA-tester,
security and infrastructure experts
• Each team member brings different technical prospective
• Customerisalsoinvolvedonlytogiveanswerraised bytheteamwhileestimating.
http://www.ifourtechnolab.com
Planning Poker – How To Play?
• Product owner reads the story
• The team discusses the feature with the customer to get more details
• The team is free to ask the questions
• Scrum maser asks the team to privately give a number to represent the complexity of
the story.
http://www.ifourtechnolab.com
Planning Poker – How To Play?
• To prevent influence, team members should not share their numbers with others
• Once all has given number then Scrum Master asks everyone to reveal their
number
• If all team member decides the same number then it is assigned to that user
story
• If numbers does not match then the team member with lowest and highest
number are asked to explain why they think so.
http://www.ifourtechnolab.com
Planning Poker – How To Play?
• After the discussion, another round of poker is played
• The process is repeated until the team has unanimously settled on a number
• In general no more than 3 rounds will be taken
• If the team is not on conclusion even after 3 rounds then the Scrum Master
should take the middle number and move on to the next user story.
http://www.ifourtechnolab.com
Planning Poker – Advantage
• Gives more accurate estimate because we are better in comparison
• Gives different technical prospective from different team members so all possible
loop holes can be identified
• Helps the team to be on the same page.
http://www.ifourtechnolab.com
Release Planning
• Release is made of enough stories to offer business value
• Typically it is made of 4 iterations
http://www.ifourtechnolab.com
Iteration Planning
• Iteration planning mainly involves 3 steps,
1. Defining Acceptance Criteria
2. Splitting User Stories in to Tasks
3. Developer “In the Zone”.
http://www.ifourtechnolab.com
Task Board
http://www.ifourtechnolab.com
Module 7:
AgileConstruction
http://www.ifourtechnolab.com
Agile Construction
• Agile development should be strategically implemented across the company/development of
the project
• Agile methodology construction blocks involves,
• Environment
• On site customer
• Self Organization
• Collective Code Ownership
• Shared Understanding
• Simple Design
• Refactoring
• Continuous Integration
• Pair Programming
• Testing & QA.
http://www.ifourtechnolab.com
Simple Design
• Simple design = free of code smells
• Code smell is any symptom in code indicating potential deeper problem &
makes the system more difficult to maintain
e.g. Code duplication, Over engineering, Large classes, Dead code, Uncommunicated
names.
http://www.ifourtechnolab.com
Refactoring
• Process of improving and simplifying the design of existing code without changing its
behavior
• Allows automated test to be written
• Makes the application more maintainable
• Legacy applications often needs to be re-factor in order to strip away dependencies so
that automated tests can be performed.
http://www.ifourtechnolab.com
Continuous Integration
• Basic CI Workflow
http://www.ifourtechnolab.com
Pair Programming
• Two heads are better than one – Pair programming
• Two developers share the duty of completing one user story task
• Driver & Navigator model
• Driver – Typing the code
• Navigator – Reviewing the code, Thinking about next step.
http://www.ifourtechnolab.com
Quality Assurance
• Quality assurance is essential when creating software
• Having great practices for gathering requirements, working closely with client and
understanding all user story without getting the right product is of no use!
• Agile promotes TDD and UAT.
http://www.ifourtechnolab.com
Quality Assurance
• “Test-driven development (TDD) is a software development process that relies on
the repetition of a very short development cycle”
• It’s a practice that adds reliability to the development process.
• TDD is a technique where you write your test cases before you write any
implementation code.
• TDD is a technique for improving the software’s internal quality.
• TDD provides ,
• Good design
• A balanced division of functionalities
• Smooth evolution
• Maintainability
• Tests provide a specification of “what” a piece of code actually does
http://www.ifourtechnolab.com
Quality Assurance (Cont.)
• A test is not something you “do”, it is something you “write” and run once, twice,
three times, etc.
• It is a piece of code
• Testing is therefore “automated”
• Repeatedly executed, even after small changes
http://www.ifourtechnolab.com
TDD – Life Cycle
Requirements
Design
Testing
Implementation
Deployment &
Maintenance
Requirements
Design
Testing
Implementation
Deployment &
Maintenance
http://www.ifourtechnolab.com
Conclusion
• Implement agile methodology across the company with Agile Construction Blocks
• No code will go in production without associated test cases
• Refactoring helps to improve maintainability
• CI helps for successful increments
• TDD helps to improve quality
http://www.ifourtechnolab.com
Module 8:
Agile Project Management
http://www.ifourtechnolab.com
• Project management is a combination of art and science both
• You should be well versed with the principals of the project management
• At the same time you should be practical while taking decision and understanding
circumstances
• Agile project management is more about empowerment
• Agile projects are not lead by individual like project manager.
Project Management
http://www.ifourtechnolab.com
Project Management
• Rather projects are lead by the whole team
• Agile projects works on simple processes that anyone can follow
• Who manage the agile projects?
• Project are mainly managed by both Product Owner and Scrum Master together
• Product owner is responsible for managing business aspects
• Scrum Master is responsible for implementing agile development processes.
http://www.ifourtechnolab.com
Project Phases
• There are 5 distinct phasesfor any project,
http://www.ifourtechnolab.com
Agile Project Phases
Initiation >> Product Backlog
Planning >> Sprint Planning
Executing >> Sprint
Monitoring &
Controlling
>> Manage Sprint
Closing >> Close Iteration &Release
Planning
http://www.ifourtechnolab.com
Planning (Sprint Planning)
Inputs Tools & Techniques Outputs
1 Product Backlog
(Prioritized)
2 Velocity Achieved
Previously
2 User Stories (Draft)
2 Team Members’
Availability
1 Sprint Planning
Meeting
2 Estimating in Points
(Fibonacci)
2 Planning Poker
1 Sprint Goals
1 Sprint Backlog
1 User Stories Selected
1 Task Breakdown and
Estimates
1 Team’s Commitment
1 Cards on Whiteboard
http://www.ifourtechnolab.com
Execute Iteration (Sprint)
Inputs Tools &Techniques Outputs
1 Selected User
Stories (represented by
Cards on Whiteboard)
2 TaskBreakdown
1 Collaboration
1 Test Driven Development
1 Automated Testing
1 Continuous Integration or
Daily Build
1 Test Early &Often
1 Pair Programming
1 Refactoring
1 Working Software
for Selected User Stories
2 Test Confirmations
2 Automated Tests
2 AnyRelated
Documentation
http://www.ifourtechnolab.com
Monitor & Control Iteration (Manage Sprint)
Inputs Tools &Techniques Outputs
1 Work Completed
Yesterday
2 Work Planned Today
2 Impediments Affecting
Progress
2 Working Software for User
Stories Completed SoFar
1 Cards on Whiteboard
1 DailyScrum/Standup
1 DailyBurn down or Burnup
Chart
1 Review Product Frequently
/ Active User Involvement
1 Address Impediments
1 Definition of Done
1 Final Burn down or
Burnup Chart
2 Velocity Achieved
http://www.ifourtechnolab.com
Close Iteration (Manage Sprint)
Inputs Tools &Techniques Outputs
1 Work Completed
Yesterday
2 Work Planned Today
2 Impediments Affecting
Progress
2 Working Software for User
Stories Completed SoFar
1 Cards on Whiteboard
1 DailyScrum/Standup
1 DailyBurn down or Burnup
Chart
1 Review Product Frequently
/ Active User Involvement
1 Address Impediments
1 Definition of Done
1 Final Burn down or
Burnup Chart
2 Velocity Achieved
http://www.ifourtechnolab.com
Velocity
• Velocity means to find how much work you can commit in a sprint
• It better helps to estimating the features and providing commitments
• How to measure velocity –
i. Select a sprint as unit to measure velocity
ii. Add the estimation of all the tasks of the sprint
iii. At the end of the sprint add the hours of the tasks that are completed fully
iv. Tasks that are not completed will be considered as zero
v. At the end of the sprint the hours you got is your velocity.
http://www.ifourtechnolab.com
Scrum Of Scrum
• Scrum of Scrum is analogues to DailyStand upmeetings (DailyScrum Meetings)
• Large Scale projects when there are multiple sprint teams available, each team
identifies one person to attend Scrum ofScrum
• Decision of who to send is belongs to the team
• Usually theperson chosen should be technical – programmer, designer, tester
• Generally product owner or scrum master does not selected
http://www.ifourtechnolab.com
Scrum Of Scrum Meeting Agenda
• Scrum of scrum meeting agenda is similar to daily scrum with one more additional
question.
• The questions to be asked are,
i. What has your team done since we last met?
ii. What will your team do before we meet again?
iii. Is anything slowing your team down or getting in their way?
iv. Are you about to put something in another team’s way?
http://www.ifourtechnolab.com
Scrum Of Scrum Example (Large Scale Project)
• Total Resources: 243 People
• Team size: 9 People in each team
• Total Sprint Teams: 27 Sprint Teams
• Scrum of Scrum meetings are held for monitoring and helping cluster of teams
http://www.ifourtechnolab.com
Scrum Of Scrum Example (Large Scale Project)
http://www.ifourtechnolab.com
How agile are you or your team?
• Questionnaire to ask the team members
• 42 questions present in it
• Give answer as 1 if you are 100% doing it else 0
• Take the average of the score of each team member.
http://www.ifourtechnolab.com
42 Points Test
1. The team is empowered to make decisions.
2. The team is self-organizing and does not rely on management to set and meet its
goals.
3. The team commits and takes responsibility for delivery and is prepared to help
with any task that helps the team to achieve its goal.
4. The team knows who the product owner is.
5. Each sprint/iteration has a clear goal.
6. All team members, including testers, are included in requirements workshops.
http://www.ifourtechnolab.com
42 Points Test
7. Requirements documentation is barely sufficient and the team collaborates to
clarify details as features are ready for development.
8. Test cases are written up-front with the requirements/user story.
9. There is a product backlog/feature list prioritized by business value.
10. The product backlog has estimates created by the team.
11. The team knows what their velocity is.
12. Velocity is used to gauge how many user stories should be included in each
sprint/iteration.
http://www.ifourtechnolab.com
42 Points Test
13. Sprints/iterations are time boxed to four weeks or less.
14. Sprint budget is calculated to determine how many product backlog
items/features can be included in the sprint/iteration.
15. The sprint/iteration ends on the agreed end date.
16. All tasks on the sprint backlog are broken down to a size that is less than one day.
17. Requirements are expressed as user stories and written on a card.
18. The team estimates using points which indicate the relative size of each feature
on the product backlog/feature list.
http://www.ifourtechnolab.com
42 Points Test
19. The team generates burn down charts to track progress daily.
20. Software is tested and working at the end of each sprint/iteration.
21. The team is not disrupted during the sprint/iteration.
22. Changes are integrated throughout the sprint/iteration.
23. Automated unit testing is implemented where appropriate.
24. There is an automated build and regression test.
25. Stretch tasks are identified for inclusion in the sprint/iteration if it goes better
than expected
26. The Product Owner is actively involved throughout each sprint.
27. All code changes are reversible and it is possible to make a release at any time.
http://www.ifourtechnolab.com
42 Points Test
28. Testing is integrated throughout the life cycle and starts on delivery of the first
feature.
29. Impediments that hold up progress are raised, recorded on the whiteboard and
resolved in a timely fashion.
30. When someone says ‘done’, they mean DONE! (i.e.shippable).
31. The team uses the whiteboard to provide clear visibility of progress and issues
on a daily basis.
32. The sprint/iteration goal(s) is clearly visible on the board.
33. All user stories and tasks are displayed on the whiteboard for the duration of the
sprint/iteration.
http://www.ifourtechnolab.com
42 Points Test
34. Daily scrums happen at the same time every day – even if the scrum master isn’t
present.
35. The daily scrum is restricted to answering the standard 3 scrum questions and
lasts no more than 15 minutes.
36. There is a product demonstration/sprint review meeting at the end of each
sprint/iteration.
37. All team members, including testers and Product Owner, are included in the
sprint/iteration review.
38. The sprint/iteration review is attended by executive stakeholders.
39. There is a sprint retrospective at the end of each sprint/iteration.
http://www.ifourtechnolab.com
42 Points Test
40. Key metrics are reviewed and captured during each sprint retrospective.
41. All team members, including testers, are included in the sprint retrospective
meeting.
42. Actions from the sprint retrospective have a positive impact on the next
sprint/iteration.
http://www.ifourtechnolab.com
Disadvantage Of Agile
1. Active user involvement and close collaboration
2. Requirements emerge and evolve
3. Agile requirements are barely sufficient
4. Testing is integrated throughout the life cycle
5. Frequent delivery
6. Sustainable pace
7. System structure tends to degrade as new increments are added
8. Regular changes usually corrupts the structure unless time & money spent on
refactoring
9. Has the potential to degenerate into a build & fix model.
http://www.ifourtechnolab.com
Module 9:
Material & Certification
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
1
Pro Agile .NET Development With Scrum- Apress
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
2
Scrum Mastery : From Good to Great Servent-Leadership
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
3
Agile Estimating & Planning Your Sprint with Scrum
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
4
Continuous Delivery: Reliable Software Releases through
Build, Test,& Deployment Automation
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
5
Agile Retrospectives: Making Good Teams Great
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
6
The Agile Enterprise: Building & Running Agile Organizations
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
7
Agile UX Storytelling: Crafting Stories for Better Software Development
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
8
User Stories Applied: For AgileSoftwareDevelopment
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
9
More AgileTesting: Learning Journeys for the Whole Team
(Addison- Wesley Signature Series (Cohn))
http://www.ifourtechnolab.com
Top 10 Books For Agile Transformation
10
AgileEstimating and Planning
http://www.ifourtechnolab.com
Certification Bodies
• Popular Main 3 bodies
• Scrum
• https://www.scrum.org
• Scrum Alliance
• https://www.scrumalliance.org
• Project Management Institute
• https://www.pmi.org
http://www.ifourtechnolab.com
Certification Bodies
• Other Bodies
• Scrum Institute
• www.scrum-institute.org
• APMG International
• www.apmg-international.com
• International Consortium for Agile (ICAgile)
• www.icagile.com
• Scrum Study
• www.scrumstudy.com
• Agile Certifications
• www.Agilecertifications.org
http://www.ifourtechnolab.com
Certification Types
• PMI ACP (Agile Certified Practitioner) https://www.pmi.org/certifications/types/agile-acp
120 Multiple Choice Questions
• Cost: US$ 495
• CSM – Certified Scrum Master https://www.scrumalliance.org/get-
certified/practitioners/csm- certification
• Need to take 2 days Scrum Alliance Training Passing Marks: 80% Minimum
• Cost: US$ 1000 to US$ 2500
• PSM 1 – Professional Scrum Master, Level 1 https://www.scrum.org/professional-scrum-
certifications
• Starts from US$ 150
http://www.ifourtechnolab.com
Thank you!

Understanding Agile Development with Scrum

  • 1.
    Understanding Agile Development WithScrum https://www.ifourtechnolab.com/custom-software-development
  • 2.
    http://www.ifourtechnolab.com • Module 1:Fundamentals of the AgileDevelopment Approach • Agile Manifesto and Agile values, Tackling uncertainty, Customer responsiveness, Early availability • Module 2: Agile Development LifeCycle • Scrum flow andartifacts, Product backlog, Sprint backlog, Sprints planning, Scrum meetings, Sprintreview • Module 3: Roles and Responsibilities • Product Owner, Scrum Master, TheTeam • Module 4: Agile Requirements Development • Breaking requirements into user stories, Story estimation,Merging and splitting stories Topics included
  • 3.
    http://www.ifourtechnolab.com • Module 5:AgilePlanning • Release planning, Sprint types, Sprintplanning • Module 6: AgileDesign • Minimal design, Design for change, Usinginformation hiding to minimize code changes, Lightweight design documentation • Module 7: AgileConstruction • Pair programming, Refactoring,TDD,CI • Module 8: Agile Project Management • Scrum and management, Status reporting, Sprint review agenda, Sprint retrospective agenda, Recovery whenthings go wrong, Scaling agileprojects Topics included
  • 4.
  • 5.
    http://www.ifourtechnolab.com  Development thatis characterized by gated stages.  Waterfall - Most common and widelyused approach Plan Driven Development
  • 6.
  • 7.
    http://www.ifourtechnolab.com  Requirements remainssame through out the project  Requirements are well understood  Size of the projects are small to mid scale  Highly structured systematic process Plan Driven Development – Where toUse?
  • 8.
    http://www.ifourtechnolab.com Software is dumb-Why? What thecustomer really needed How the customer explained it How the project leader understoodit How the analyst designed it How the programmer wroteit What the beta testers received How the business consultant How the project was documented What operations installed When itwas delivered
  • 9.
    http://www.ifourtechnolab.com • What if •The requirements required to change during the project life cycle? • Requirements required to meet with business challenges time to time? • Client wants to out perform the competitors by introducing the product first in the market? • Businesses and project stakeholders are constantly looking to improve process andinnovate. Project Requirements
  • 10.
    http://www.ifourtechnolab.com • Value drivenmethod • Understand and meets the challenges of today’s business • Offers much more value to the stakeholders • Firm emphasis on customer satisfaction and quick ROI • It is all via Iterativeapproach Agile Development Methodology
  • 11.
  • 12.
    http://www.ifourtechnolab.com What is AgileDevelopment?–Definition • Iterative and Incremental Software development method where requirements and solutions evolve through collaboration between self organizing, cross- functional teams.
  • 13.
    http://www.ifourtechnolab.com AgileManifesto • Individuals andinteraction over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation responding to change over following a plan. • While, there is value in the items on the right side, we value the items on the left more.
  • 14.
    http://www.ifourtechnolab.com Principals of AgileDevelopment 1.Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project.
  • 15.
    http://www.ifourtechnolab.com Principals of AgileDevelopment 5.Build projects around motivated individuals. Give them the environment and 6. support they need, and trust them to get the job done. 7. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 8. Working software is the primary measure of progress. 9. Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.
  • 16.
    http://www.ifourtechnolab.com Principals of AgileDevelopment 10.Continuous attention to technical excellence and good design enhance agility. Simplicity—the art of maximizing the amount of work not done—is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 17.
  • 18.
  • 19.
  • 20.
    http://www.ifourtechnolab.com Scrum Artifacts • Primary(Main) Artifacts • Product backlog • User Stories • Product backlog sizing • Sprint backlog • Kanban Board (Signboard / Billboard) • Burn-down chart • Secondary Artifacts • Acceptance Criteria.
  • 21.
    http://www.ifourtechnolab.com Product Backlog • Listthat represents customer’s needs and wants • Requirements are always defined into user stories in a product backlog • Managed by product owner • Product owner can add or remove user stories
  • 22.
    http://www.ifourtechnolab.com How To CreateProduct Backlog? • Typical product backlog comprises following different types of items: • Features They are described in the form of user stories • Bugs It is almost same as the feature • Technical Work e.g. Upgrade all developer’s work station to windows 10 • Knowledge Acquisition e.g. Researching about various JavaScript libraries.
  • 23.
  • 24.
    http://www.ifourtechnolab.com Product Backlog- ExcelFormat • Product backlog in this manner is written in the form of user stories • The form is like “As a, so that…” e.g. As an administrator should be able to inactive any registered user so that such user can not login to the system • The spreadsheet helps to divide each part of the requirements in to specific columns • You can add columns as per your requirements like Status column.
  • 25.
    http://www.ifourtechnolab.com User Stories • UserStory is written for the developer • Expresses the increment of value to customer • Vertical slice through the product.
  • 26.
  • 27.
    http://www.ifourtechnolab.com What is EfficientUser Stories? • User Story should fit INVEST acronym Independent Should be self containedThere should not be inherent dependency on another story Negotiable Can always be changed and rewritten until they are part of a sprint Valuable Must deliver value to thecustomer Estimable Must always be able to estimate the size of a user story Sized Appropriately Should not be so big to plan / prioritize Testable Must provide necessary information to make testdriven development possible
  • 28.
    http://www.ifourtechnolab.com Backlog Sizing • Estimatinganything is a tricky task but comparing anything is simpler and better • Sizing a backlog is all about making decision based upon, • Complexity • Amount of work (Efforts estimation) • It is not about how long it will take to do the work.
  • 29.
    http://www.ifourtechnolab.com Sprint Backlog • Subsetof Product Backlog • Sprint backlog created during sprint planning meeting • User stories and tasks to accomplish or remaining to complete from previous sprint • User stories will be divided into tasks during the sprint • Task is a small chunk of a user story that can be done by any team member e.g. Database changes required to do for a user story.
  • 30.
  • 31.
    http://www.ifourtechnolab.com Kanban Board • Kanbanis a Japanese word of Signboard or Billboard • Kanban board is a task board • Visible to entire organization • Comprises, • All tasks to be done by team during the sprint will be displayed on task board • Setup meetings to gather requirements • Review checks • Research • Testing • Design • Stages of coding.
  • 32.
  • 33.
    http://www.ifourtechnolab.com Burn-Down Chart • Visualway to track how the sprint is progressing on daily basis • Sprint backlog supplies the information for burn down chart • Indicates remaining work • Provides early indication if there is a problem in the sprint and the team may not fulfill the commitment • Burn down chart is used to analyze during sprint retrospection meeting about how the sprint was progressed and where it can be improved in the next sprint. • There are 2 types of burn down charts, • Sprint Burn Down Chart • Release Burn Down Chart.
  • 34.
  • 35.
    http://www.ifourtechnolab.com Release Burn-Down Chart •Used to track iteration progress against the release plan in a sprint burn down chart
  • 36.
    http://www.ifourtechnolab.com Alternative Release Burn-DownChart • What if, • Requirements are changing frequently in eachsprint? • New requirements added in the currentsprint? • The burn down chart in such cases may not provide the correct result • e.g. The team was expected to finish 40 story points in a sprint but completed only 10 storypoints. • Burn down chart should also provide such impediment ideas so for such cases, use alternative release burn down chart.
  • 37.
  • 38.
    http://www.ifourtechnolab.com Acceptance Criteria –SecondaryArtifact • Set of steps that developer must complete before the story can be considered done • Created by product owner with the help of customer • Upfront sets the expectation of the user story • Helps to write automated tests or to implement TDD
  • 39.
  • 40.
  • 41.
    http://www.ifourtechnolab.com Pig Roles • Pigsare people who are committed to the project • Pigs handle creating, testing and deploying of the project • Typical scrum team size is 5 – 9 people • 3 pig roles to make a scrum team i. Scrum Master ii. Product Owner iii. Delivery Team.
  • 42.
    http://www.ifourtechnolab.com Chicken Roles • Areless committed • They are the stakeholders and/or interested parties who benefit from the project, but are not responsible for delivering it • Chicken roles are, i. Business Managers ii. Customers / Vendors / Sponsors.
  • 43.
    http://www.ifourtechnolab.com Scrum Master -Responsibilities • Scrum master’s role is much more than a traditional project manager • Scrum master liaises with different part of the team from stakeholders to testers • Ensures the scrum process is understood and followed by the team • Facilitates team meetings & remove any blockages
  • 44.
    http://www.ifourtechnolab.com Scrum Master -Responsibilities • Ensures no obstacles keeping the team from achieving the goals • Isolates the teamfrom outside distractions • Working with the product owner to keep product backlog ready for the next sprint.
  • 45.
    http://www.ifourtechnolab.com Scrum Master -Characteristics • “Servant Leader” – Not the boss of the team but to help the team • Helps to align the work in order to deliver value to the customer • Point of contact for outside the group • Needs to be a top-notch communicator • Conflict resolving ability to bring the team back on track • Scrum master should be influential
  • 46.
    http://www.ifourtechnolab.com Product Owner • Customer’srepresentative to theteam • Determines customer’s needs • Prepares Product Road map • Prioritize items so that team always works on items of highest customer value • Manages product backlog • Responsible for the sign-off of sprint deliverable–Sprint demo • Should be motivating the team with clear, elevating goals.
  • 47.
  • 48.
    http://www.ifourtechnolab.com Product Owner -Characteristics • Visionary • Decision Maker • Collaborator • Communicator • Analytical – Tracks progress
  • 49.
  • 50.
  • 51.
    http://www.ifourtechnolab.com Delivery Team • Groupof self-organized people responsible for delivery • Team size – 2 to 10 • Team members – Programmers, testers, front-end designers and other disciplines • Team works on each user story to move tasks on next stage in Kanban board • No one is a leader, everyone decide as a group what they are going to deliver.
  • 52.
    http://www.ifourtechnolab.com Chicken Roles • Theproject is developed for these people • Their views are important and must be taken in account • Should provide the resources that helps the team to get job done • Actively involved during sprint review only • Do attend scrum meetings time to time.
  • 53.
  • 54.
    http://www.ifourtechnolab.com Sprint Planning • Sprintplanning requires before the start of the sprint • To determine which features to include in sprint from product backlog • Stories are sized with the team via Planning Poker tool • Stories are turned into tasks by the team • Time estimation elicited for each task • Team decides if they can commit to all tasks to complete in a sprint or not.
  • 55.
    http://www.ifourtechnolab.com Daily Stand Ups •Who attends? • The Team • Scrum Master • Product Owner • When? • Daily in the same place at the same time • No longer than 15 minutes
  • 56.
    http://www.ifourtechnolab.com Daily Stand Ups •What is to discuss? • To discuss the progress and issues • Each team member answer the following 3 questions, i. What have you done since yesterday? ii. What are you planning to do today? iii. Do you have any problems preventing you from accomplishing your goal? What progress has been made on existing impediments? Can the blockage be removed? or must it be escalated? (The Scrum Master looks after this area.)
  • 57.
    http://www.ifourtechnolab.com Sprint Review • Heldat the end of the sprint • Team present user stories that are completed • Informal demo of the product • Who attends? • The team • Product Owner • Scrum Master • Manager / Customer • The meeting is a direct value addition for the customer by showing the working software • No need for slides and mass of presentation • It gives a chance to customer to see ROI which is not possible in the waterfall model.
  • 58.
    http://www.ifourtechnolab.com Sprint Retrospectives • Heldat the end of the sprint along with sprint review • Scrum master gives each team mate 3 color post it notes • 3 colors to represent, • Things that went well during the sprint • Things that were confusing • Things that were bad.
  • 59.
  • 60.
    http://www.ifourtechnolab.com Planning • Important partof the project • Planning comprises, • Just In Time Planning • Detailed Planning • User Stories • Release Planning • Iteration Planning (Sprint Planning)
  • 61.
    http://www.ifourtechnolab.com User Stories • Shortdescription of a feature • Represents single unit of business value to the customer • It is told from user’s prospective • Format As a <type of user>, I want <some action> so that < business benefit> Or, In order for <some reason>, as a <user role> I want <some action> • Typically recorded on indexed card during meeting with customer • Should always be in a language that customer understands.
  • 62.
    http://www.ifourtechnolab.com User Stories • Mustbe INVEST (Independent, Negotiable, Valuable, Estimable, Sized Appropriately, Testable) • User story shifts focus from writing about features to discussing them. • Details can be added to user stories in 2 general ways, i. By Splitting a user story into multiple, smaller user stories ii. By Adding Conditions of satisfaction.
  • 63.
    http://www.ifourtechnolab.com User Stories • Whoshould write user story? • Including product owner, every one in the team because involvement of every one makes a big difference to refine each user story and its acceptance criteria • When are user stories written? • Generally through out the agile project • Specifically story-writing workshop should be held near the start of the project / sprint
  • 64.
    http://www.ifourtechnolab.com User Stories AcceptanceCriteria • Acceptance criteria should be captured during story generation • It can be captured on the reverse side of the user story card • It helps to find more details and identifying dependencies • Typically each story should have minimum 3 acceptance criteria.
  • 65.
    http://www.ifourtechnolab.com Types Of UserStory • There are mainly 4 types of user stories, • Baseline User Story • Normal User Story • Spike User Story • Epic User Story
  • 66.
    http://www.ifourtechnolab.com Baseline User Story •The team should start with a small and easy to size story to begin estimation which becomes a baseline user story. • Each user story’s efforts estimate should be relative to this story • Baseline story’s estimate must be accurate • If baseline story estimate is inaccurate then the whole estimation can be inaccurate.
  • 67.
    http://www.ifourtechnolab.com Spike User Story •Story is too difficult to estimate due to lack of technical knowledge – Create spike (alternate story) • Spike is created for the unfamiliar technology • Once spike is completed then development team can estimate the actual user story • Spike involves gaining enough technical knowledge to estimate user story e.g. Learning accelerometer, gyroscope readings to develop motion sensing game
  • 68.
    http://www.ifourtechnolab.com Epic User Story– Story Division • Story that needs total more than one week of work is epic story • It is usually too big to estimate • Divide a story in smaller VERTICAL slices • The story should work through all layers of architecture because that provides immediate customer value.
  • 69.
    http://www.ifourtechnolab.com Estimating Stories –Planning Poker • Planning poker is a group estimation technique • Incorporates all team members – software developers, analysts, QA-tester, security and infrastructure experts • Each team member brings different technical prospective • Customerisalsoinvolvedonlytogiveanswerraised bytheteamwhileestimating.
  • 70.
    http://www.ifourtechnolab.com Planning Poker –How To Play? • Product owner reads the story • The team discusses the feature with the customer to get more details • The team is free to ask the questions • Scrum maser asks the team to privately give a number to represent the complexity of the story.
  • 71.
    http://www.ifourtechnolab.com Planning Poker –How To Play? • To prevent influence, team members should not share their numbers with others • Once all has given number then Scrum Master asks everyone to reveal their number • If all team member decides the same number then it is assigned to that user story • If numbers does not match then the team member with lowest and highest number are asked to explain why they think so.
  • 72.
    http://www.ifourtechnolab.com Planning Poker –How To Play? • After the discussion, another round of poker is played • The process is repeated until the team has unanimously settled on a number • In general no more than 3 rounds will be taken • If the team is not on conclusion even after 3 rounds then the Scrum Master should take the middle number and move on to the next user story.
  • 73.
    http://www.ifourtechnolab.com Planning Poker –Advantage • Gives more accurate estimate because we are better in comparison • Gives different technical prospective from different team members so all possible loop holes can be identified • Helps the team to be on the same page.
  • 74.
    http://www.ifourtechnolab.com Release Planning • Releaseis made of enough stories to offer business value • Typically it is made of 4 iterations
  • 75.
    http://www.ifourtechnolab.com Iteration Planning • Iterationplanning mainly involves 3 steps, 1. Defining Acceptance Criteria 2. Splitting User Stories in to Tasks 3. Developer “In the Zone”.
  • 76.
  • 77.
  • 78.
    http://www.ifourtechnolab.com Agile Construction • Agiledevelopment should be strategically implemented across the company/development of the project • Agile methodology construction blocks involves, • Environment • On site customer • Self Organization • Collective Code Ownership • Shared Understanding • Simple Design • Refactoring • Continuous Integration • Pair Programming • Testing & QA.
  • 79.
    http://www.ifourtechnolab.com Simple Design • Simpledesign = free of code smells • Code smell is any symptom in code indicating potential deeper problem & makes the system more difficult to maintain e.g. Code duplication, Over engineering, Large classes, Dead code, Uncommunicated names.
  • 80.
    http://www.ifourtechnolab.com Refactoring • Process ofimproving and simplifying the design of existing code without changing its behavior • Allows automated test to be written • Makes the application more maintainable • Legacy applications often needs to be re-factor in order to strip away dependencies so that automated tests can be performed.
  • 81.
  • 82.
    http://www.ifourtechnolab.com Pair Programming • Twoheads are better than one – Pair programming • Two developers share the duty of completing one user story task • Driver & Navigator model • Driver – Typing the code • Navigator – Reviewing the code, Thinking about next step.
  • 83.
    http://www.ifourtechnolab.com Quality Assurance • Qualityassurance is essential when creating software • Having great practices for gathering requirements, working closely with client and understanding all user story without getting the right product is of no use! • Agile promotes TDD and UAT.
  • 84.
    http://www.ifourtechnolab.com Quality Assurance • “Test-drivendevelopment (TDD) is a software development process that relies on the repetition of a very short development cycle” • It’s a practice that adds reliability to the development process. • TDD is a technique where you write your test cases before you write any implementation code. • TDD is a technique for improving the software’s internal quality. • TDD provides , • Good design • A balanced division of functionalities • Smooth evolution • Maintainability • Tests provide a specification of “what” a piece of code actually does
  • 85.
    http://www.ifourtechnolab.com Quality Assurance (Cont.) •A test is not something you “do”, it is something you “write” and run once, twice, three times, etc. • It is a piece of code • Testing is therefore “automated” • Repeatedly executed, even after small changes
  • 86.
    http://www.ifourtechnolab.com TDD – LifeCycle Requirements Design Testing Implementation Deployment & Maintenance Requirements Design Testing Implementation Deployment & Maintenance
  • 87.
    http://www.ifourtechnolab.com Conclusion • Implement agilemethodology across the company with Agile Construction Blocks • No code will go in production without associated test cases • Refactoring helps to improve maintainability • CI helps for successful increments • TDD helps to improve quality
  • 88.
  • 89.
    http://www.ifourtechnolab.com • Project managementis a combination of art and science both • You should be well versed with the principals of the project management • At the same time you should be practical while taking decision and understanding circumstances • Agile project management is more about empowerment • Agile projects are not lead by individual like project manager. Project Management
  • 90.
    http://www.ifourtechnolab.com Project Management • Ratherprojects are lead by the whole team • Agile projects works on simple processes that anyone can follow • Who manage the agile projects? • Project are mainly managed by both Product Owner and Scrum Master together • Product owner is responsible for managing business aspects • Scrum Master is responsible for implementing agile development processes.
  • 91.
    http://www.ifourtechnolab.com Project Phases • Thereare 5 distinct phasesfor any project,
  • 92.
    http://www.ifourtechnolab.com Agile Project Phases Initiation>> Product Backlog Planning >> Sprint Planning Executing >> Sprint Monitoring & Controlling >> Manage Sprint Closing >> Close Iteration &Release Planning
  • 93.
    http://www.ifourtechnolab.com Planning (Sprint Planning) InputsTools & Techniques Outputs 1 Product Backlog (Prioritized) 2 Velocity Achieved Previously 2 User Stories (Draft) 2 Team Members’ Availability 1 Sprint Planning Meeting 2 Estimating in Points (Fibonacci) 2 Planning Poker 1 Sprint Goals 1 Sprint Backlog 1 User Stories Selected 1 Task Breakdown and Estimates 1 Team’s Commitment 1 Cards on Whiteboard
  • 94.
    http://www.ifourtechnolab.com Execute Iteration (Sprint) InputsTools &Techniques Outputs 1 Selected User Stories (represented by Cards on Whiteboard) 2 TaskBreakdown 1 Collaboration 1 Test Driven Development 1 Automated Testing 1 Continuous Integration or Daily Build 1 Test Early &Often 1 Pair Programming 1 Refactoring 1 Working Software for Selected User Stories 2 Test Confirmations 2 Automated Tests 2 AnyRelated Documentation
  • 95.
    http://www.ifourtechnolab.com Monitor & ControlIteration (Manage Sprint) Inputs Tools &Techniques Outputs 1 Work Completed Yesterday 2 Work Planned Today 2 Impediments Affecting Progress 2 Working Software for User Stories Completed SoFar 1 Cards on Whiteboard 1 DailyScrum/Standup 1 DailyBurn down or Burnup Chart 1 Review Product Frequently / Active User Involvement 1 Address Impediments 1 Definition of Done 1 Final Burn down or Burnup Chart 2 Velocity Achieved
  • 96.
    http://www.ifourtechnolab.com Close Iteration (ManageSprint) Inputs Tools &Techniques Outputs 1 Work Completed Yesterday 2 Work Planned Today 2 Impediments Affecting Progress 2 Working Software for User Stories Completed SoFar 1 Cards on Whiteboard 1 DailyScrum/Standup 1 DailyBurn down or Burnup Chart 1 Review Product Frequently / Active User Involvement 1 Address Impediments 1 Definition of Done 1 Final Burn down or Burnup Chart 2 Velocity Achieved
  • 97.
    http://www.ifourtechnolab.com Velocity • Velocity meansto find how much work you can commit in a sprint • It better helps to estimating the features and providing commitments • How to measure velocity – i. Select a sprint as unit to measure velocity ii. Add the estimation of all the tasks of the sprint iii. At the end of the sprint add the hours of the tasks that are completed fully iv. Tasks that are not completed will be considered as zero v. At the end of the sprint the hours you got is your velocity.
  • 98.
    http://www.ifourtechnolab.com Scrum Of Scrum •Scrum of Scrum is analogues to DailyStand upmeetings (DailyScrum Meetings) • Large Scale projects when there are multiple sprint teams available, each team identifies one person to attend Scrum ofScrum • Decision of who to send is belongs to the team • Usually theperson chosen should be technical – programmer, designer, tester • Generally product owner or scrum master does not selected
  • 99.
    http://www.ifourtechnolab.com Scrum Of ScrumMeeting Agenda • Scrum of scrum meeting agenda is similar to daily scrum with one more additional question. • The questions to be asked are, i. What has your team done since we last met? ii. What will your team do before we meet again? iii. Is anything slowing your team down or getting in their way? iv. Are you about to put something in another team’s way?
  • 100.
    http://www.ifourtechnolab.com Scrum Of ScrumExample (Large Scale Project) • Total Resources: 243 People • Team size: 9 People in each team • Total Sprint Teams: 27 Sprint Teams • Scrum of Scrum meetings are held for monitoring and helping cluster of teams
  • 101.
    http://www.ifourtechnolab.com Scrum Of ScrumExample (Large Scale Project)
  • 102.
    http://www.ifourtechnolab.com How agile areyou or your team? • Questionnaire to ask the team members • 42 questions present in it • Give answer as 1 if you are 100% doing it else 0 • Take the average of the score of each team member.
  • 103.
    http://www.ifourtechnolab.com 42 Points Test 1.The team is empowered to make decisions. 2. The team is self-organizing and does not rely on management to set and meet its goals. 3. The team commits and takes responsibility for delivery and is prepared to help with any task that helps the team to achieve its goal. 4. The team knows who the product owner is. 5. Each sprint/iteration has a clear goal. 6. All team members, including testers, are included in requirements workshops.
  • 104.
    http://www.ifourtechnolab.com 42 Points Test 7.Requirements documentation is barely sufficient and the team collaborates to clarify details as features are ready for development. 8. Test cases are written up-front with the requirements/user story. 9. There is a product backlog/feature list prioritized by business value. 10. The product backlog has estimates created by the team. 11. The team knows what their velocity is. 12. Velocity is used to gauge how many user stories should be included in each sprint/iteration.
  • 105.
    http://www.ifourtechnolab.com 42 Points Test 13.Sprints/iterations are time boxed to four weeks or less. 14. Sprint budget is calculated to determine how many product backlog items/features can be included in the sprint/iteration. 15. The sprint/iteration ends on the agreed end date. 16. All tasks on the sprint backlog are broken down to a size that is less than one day. 17. Requirements are expressed as user stories and written on a card. 18. The team estimates using points which indicate the relative size of each feature on the product backlog/feature list.
  • 106.
    http://www.ifourtechnolab.com 42 Points Test 19.The team generates burn down charts to track progress daily. 20. Software is tested and working at the end of each sprint/iteration. 21. The team is not disrupted during the sprint/iteration. 22. Changes are integrated throughout the sprint/iteration. 23. Automated unit testing is implemented where appropriate. 24. There is an automated build and regression test. 25. Stretch tasks are identified for inclusion in the sprint/iteration if it goes better than expected 26. The Product Owner is actively involved throughout each sprint. 27. All code changes are reversible and it is possible to make a release at any time.
  • 107.
    http://www.ifourtechnolab.com 42 Points Test 28.Testing is integrated throughout the life cycle and starts on delivery of the first feature. 29. Impediments that hold up progress are raised, recorded on the whiteboard and resolved in a timely fashion. 30. When someone says ‘done’, they mean DONE! (i.e.shippable). 31. The team uses the whiteboard to provide clear visibility of progress and issues on a daily basis. 32. The sprint/iteration goal(s) is clearly visible on the board. 33. All user stories and tasks are displayed on the whiteboard for the duration of the sprint/iteration.
  • 108.
    http://www.ifourtechnolab.com 42 Points Test 34.Daily scrums happen at the same time every day – even if the scrum master isn’t present. 35. The daily scrum is restricted to answering the standard 3 scrum questions and lasts no more than 15 minutes. 36. There is a product demonstration/sprint review meeting at the end of each sprint/iteration. 37. All team members, including testers and Product Owner, are included in the sprint/iteration review. 38. The sprint/iteration review is attended by executive stakeholders. 39. There is a sprint retrospective at the end of each sprint/iteration.
  • 109.
    http://www.ifourtechnolab.com 42 Points Test 40.Key metrics are reviewed and captured during each sprint retrospective. 41. All team members, including testers, are included in the sprint retrospective meeting. 42. Actions from the sprint retrospective have a positive impact on the next sprint/iteration.
  • 110.
    http://www.ifourtechnolab.com Disadvantage Of Agile 1.Active user involvement and close collaboration 2. Requirements emerge and evolve 3. Agile requirements are barely sufficient 4. Testing is integrated throughout the life cycle 5. Frequent delivery 6. Sustainable pace 7. System structure tends to degrade as new increments are added 8. Regular changes usually corrupts the structure unless time & money spent on refactoring 9. Has the potential to degenerate into a build & fix model.
  • 111.
  • 112.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 1 Pro Agile .NET Development With Scrum- Apress
  • 113.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 2 Scrum Mastery : From Good to Great Servent-Leadership
  • 114.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 3 Agile Estimating & Planning Your Sprint with Scrum
  • 115.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 4 Continuous Delivery: Reliable Software Releases through Build, Test,& Deployment Automation
  • 116.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 5 Agile Retrospectives: Making Good Teams Great
  • 117.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 6 The Agile Enterprise: Building & Running Agile Organizations
  • 118.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 7 Agile UX Storytelling: Crafting Stories for Better Software Development
  • 119.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 8 User Stories Applied: For AgileSoftwareDevelopment
  • 120.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 9 More AgileTesting: Learning Journeys for the Whole Team (Addison- Wesley Signature Series (Cohn))
  • 121.
    http://www.ifourtechnolab.com Top 10 BooksFor Agile Transformation 10 AgileEstimating and Planning
  • 122.
    http://www.ifourtechnolab.com Certification Bodies • PopularMain 3 bodies • Scrum • https://www.scrum.org • Scrum Alliance • https://www.scrumalliance.org • Project Management Institute • https://www.pmi.org
  • 123.
    http://www.ifourtechnolab.com Certification Bodies • OtherBodies • Scrum Institute • www.scrum-institute.org • APMG International • www.apmg-international.com • International Consortium for Agile (ICAgile) • www.icagile.com • Scrum Study • www.scrumstudy.com • Agile Certifications • www.Agilecertifications.org
  • 124.
    http://www.ifourtechnolab.com Certification Types • PMIACP (Agile Certified Practitioner) https://www.pmi.org/certifications/types/agile-acp 120 Multiple Choice Questions • Cost: US$ 495 • CSM – Certified Scrum Master https://www.scrumalliance.org/get- certified/practitioners/csm- certification • Need to take 2 days Scrum Alliance Training Passing Marks: 80% Minimum • Cost: US$ 1000 to US$ 2500 • PSM 1 – Professional Scrum Master, Level 1 https://www.scrum.org/professional-scrum- certifications • Starts from US$ 150
  • 125.