You are on page 1of 20

EMP5120: Product Development and Management

Copyright 2020 Colin Moden EMP5120 1


Faculty of Engineering

The Agile
Methodology

Copyright 2020 Colin Moden EMP5120


Agile in Words
• Using an agile development model, • However
Instead of tackling all
you still do the same type of work as the steps for all of your
you would using a traditional waterfall product features at
model once, you break the
project into iterations
You create requirements and designs
(smaller segments of
You develop your feature the overall project)
You integrate features to form the product These bite size segments are called sprints
You test the product, fix any problems and
deploy it for use

Copyright 2020 Colin Moden EMP5120 3


12 Principles of Agile
1. Our highest priority is to satisfy the customer 7. Working software is the primary measure of
through early and continuous delivery of valuable progress.
software
8. Agile processes promote sustainable development.
2. Welcome changing requirements, even late in The sponsors, developers, and users should be able
development. Agile processes harness change for
the customer's competitive advantage to maintain a constant pace indefinitely.
3. Deliver working software frequently, from a couple 9. Continuous attention to technical excellence and
of weeks to a couple of months, with a preference good design enhances agility.
to the shorter timescale 10. Simplicity — the art of maximizing the amount of
4. Business people and developers must work work not done — is essential.
together daily throughout the project 11. The best architectures, requirements, and designs
5. Build projects around motivated individuals. Give emerge from self-organizing teams.
them the environment and support they need, and
trust them to get the job done. 12. At regular intervals, the team reflects on how to
become better
6. The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation

Copyright 2020 Colin Moden EMP5120 4


The Agile Development Cycle

Copyright 2020 Colin Moden https://www.smartsheet.com/agile-vs-scrum-vs-waterfall-vs-kanban EMP5120 5


The Agile Development Cycle - Details
• Planning: Once an idea is deemed viable and feasible, the project team comes together and works to identify features. The
goal of this phase is to break down the idea into smaller pieces of work (the features) then to prioritize each feature and
assign it to an iteration
• Requirements analysis: This phase involves many meetings with managers, stakeholders, and users to identify business
requirements. The team needs to gather information like who will use the product and how they will use it. These
requirements must be quantifiable, relevant, and detailed
• Design: The system and software design is prepared from the requirements identified in the previous phase. The team needs
to think about what the product or solution will look like. The test team also comes up with a test strategy or plan to proceed
• Implementation, coding or development: This phase is all about creating and testing features, and scheduling iterations for
deployment (following the iterative and incremental development approach [IID]). The development phase starts with
iteration 0, because there are no features being delivered. This iteration lays down the foundation for development, with
tasks like finalizing contracts, preparing the environments, and funding
• Testing: Once the code has been developed, it is tested against the requirements to make sure the product is actually solving
customer needs and matching user stories. During this phase, unit testing, integration testing, system testing, and acceptance
testing are done
• Deployment: After testing, the product is delivered to customers for them to use. However, deployment isn’t the end of the
project. Once customers start using the product, they may run into new problems that the project team will need to address.

Copyright 2020 Colin Moden https://www.smartsheet.com/agile-vs-scrum-vs-waterfall-vs-kanban EMP5120 6


The Agile Approach
• Instead of treating these fixed stages
Agilists believe these are continuous
activities
• By doing them continuously
Quality improves because testing starts
from day one
Visibility improves because you are 1/2
way through the project when you have
built 1/2 the features
Risk is reduced because you are getting
feedback early
Customers are happy because they can
make changes without paying exorbitant
costs

Copyright 2020 Colin Moden http://www.agilenutshell.com/agile_vs_waterfall 7


EMP5120
Agile Scrum: Video
• https://youtu.be/XU0llRltyFM
What is Agile Scrum? Learn Scrum in under 10
minutes
This video is an introduction to the Scrum
software development methodology
By the end of this fast-paced video, you'll
practically be a scrum master. You'll know
about burn down charts, team roles, product Product Backlog
backlogs, sprints, daily scrums and more
You'll also be ready to start implementing
Scrum in your own team

Copyright 2020 Colin Moden EMP5120 8


Agile Option: Daily Standup Meeting
• Each team member speaks in turn
• What did I achieve yesterday
• What do I plan to do today
• Am I blocked/stuck by anything
• ~ 2 minutes
• Team discusses any resulting issues
• 6 people * 2 Minutes => 15 Minutes
• Physically standing encourages brevity

Copyright 2020 Colin Moden EMP5120 9


Agile Option: Kanban
• The Kanban methodology is less
structured than Scrum
• It’s not really a process framework, but
a model for introducing change through
incremental improvements
• You can apply Kanban principles to any
process you are already running
• Often used by IT departments as a way
of working through trouble tickets

Copyright 2020 Colin Moden EMP5120 10


Agile Option: Burn Down
Sprint 3 progress
35

30

25

20

15

10

0
Day 1 Day 2 Day 3 Day 4
Unstarted Started Bugs
Copyright 2020 Colin Moden EMP5120 11
Copyright 2020 Colin Moden EMP5120 12
Claimed Advantages of Agile over Waterfall

1. Quality
2. Visibility
3. Risk
4. Change

Copyright 2020 Colin Moden EMP5120 13


Quality
• First off, when the project starts to run
out of time and money, testing is the
only phase left
• This means good projects are forced to
cut testing short and quality suffers

Copyright 2020 Colin Moden http://www.agilenutshell.com/agile_vs_waterfall EMP5120 14


Visibility
• Secondly, because working software
isn't produced until the end of the
project, you never really know where
you are on a Waterfall project
• That last 20% of the project always
seems to take 80% of the time

Copyright 2020 Colin Moden http://www.agilenutshell.com/agile_vs_waterfall EMP5120 15


Risk
• Thirdly you've got schedule risk because
you never know if you are going to
make it until the end
• You've got technical risk because you
don't actually get to test your design or
architecture until late in the project
• And you've got product risk because
don't even know if you are building the
right until it's too late to make any
changes

Copyright 2020 Colin Moden http://www.agilenutshell.com/agile_vs_waterfall 16


EMP5120
Change
• And finally, most importantly, it's just
not a great way for handling change

Copyright 2020 Colin Moden http://www.agilenutshell.com/agile_vs_waterfall 17


EMP5120
Advantages of Agile
• Change is embraced: With shorter planning cycles, it’s • Strong team interaction: Agile highlights the
easy to accommodate and accept changes at any time
during the project. There is always an opportunity to importance of frequent communication and face-to-
refine and reprioritize the backlog, letting teams face interactions. Teams work together and people
introduce changes to the project in a matter of weeks are able to take responsibility and own parts of the
• End-goal can be unknown: Agile is very beneficial for projects
projects where the end-goal is not clearly defined. As
the project progresses, the goals will come to light and • Customers are heard: Customers have many
development can easily adapt to these evolving opportunities to see the work being delivered, share
requirements
their input, and have a real impact on the end
• Faster, high-quality delivery: Breaking down the project product. They can gain a sense of ownership by
into iterations (manageable units) allows the team to
focus on high-quality development, testing, and working so closely with the project team
collaboration. Conducting testing during each iteration • Continuous improvement: Agile projects encourage
means that bugs get identified and solved more quickly.
And this high-quality software can be delivered faster feedback from users and team members throughout
with consistent, successive iterations the whole project, so lessons learned are used to
improve future iterations

Copyright 2020 Colin Moden https://www.smartsheet.com/agile-vs-scrum-vs-waterfall-vs-kanban EMP5120 18


Disadvantages of Agile
• Planning can be less concrete: It can sometimes be hard to • Documentation can be neglected: The Agile Manifesto prefers
pin down a solid delivery date. Because Agile is based on working software over comprehensive documentation, so some
time-boxed delivery and project managers are often team members may feel like it’s less important to focus on
reprioritizing tasks, it’s possible that some items originally documentation. While comprehensive documentation on its
scheduled for delivery may not be complete in time. And, own does not lead to project success, Agile teams should find
additional sprints may be added at any time in the project, the right balance between documentation and discussion
adding to the overall timeline
• Team must be knowledgeable: Agile teams are usually • Final product can be very different: The initial Agile project
small, so team members must be highly skilled in a variety might not have a definitive plan, so the final product can look
of areas. They also must understand and feel comfortable much different than what was initially intended. Because Agile
with the chosen Agile methodology is so flexible, new iterations may be added based on evolving
customer feedback, which can lead to a very different final
• Time commitment from developers: Agile is most deliverable
successful when the development team is completely
• Architecture can be neglected: The focus is on delivering one
dedicated to the project. Active involvement and user story at a time. Looking at the total set of user stories
collaboration is required throughout the Agile process, might indicate Architecture A, But the fastest route to the first
which is more time consuming than a traditional approach. user story is Architecture B, and the fastest route to adding a
It also means that the developers need to commit to the second user story is to patch & extend Architecture B.
entire duration of the project

Copyright 2020 Colin Moden EMP5120 19


EMP5120: Product Development and Management

Copyright 2020 Colin Moden EMP5120 20

You might also like