Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Agile methodologiesvswaterfall
1. MSQUARE SYSTEMS INC.,
CONTACT 212-941-6000/202-400-5003.
EMAIL:INQUIRY@MSQUARESYSTEMS.COM
AGILE Vs. WATERFALL
METHODOLOGY
2. ABOUT AGILE METHODOLOGY
¢ Agile Methodologies are models used in the system development
arena.
¢ The agile methodology has evolved in the mid-1990s as a part of
reaction against traditional waterfall methods.
¢ Agile method is a software development method that is people-focused
communications-oriented, flexible, speedy, lean,
responsive and learning.
¢ The Agile method bears conceptual similarities to Six Sigma.
¢ Agile approaches are typically used in software development to
help businesses respond to unpredictability.
¢ Scrum is the most popular way of introducing Agility due to its
simplicity and flexibility.
3. AGILE SOFTWARE DEVELOPMENT
MANIFESTO
Individuals and interactions over processes
and tools
Working software over comprehensive
documentation
Customer collaboration over contract
negotiation
Responding to change over following a plan
4. 12 PRINCIPLES
¢ Customer satisfaction by rapid delivery of useful
software.
¢ Welcome changing requirements, even late in
development.
¢ Working software is delivered frequently.
¢ 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.
5. 12 PRINCIPLES
¢ Face-to-face conversation is the best form of
communication.
¢ Projects are built around motivated individuals.
¢ Continuous attention to technical excellence and
good design.
¢ Simplicity
¢ Self-organizing Team.
¢ Regular adaptation to changing circumstance
6. AGILE METHODOLGIES:SCRUM
¢ SCRUM: It is the iterative process
of development used with agile
software development.
¢ Scrum is designed to add energy,
focus, clarity and transparency to
project teams development software
systems.
¢ It allows team to operate in close
proximity to foster rapid system
evolution.
¢ The set of features that go into each
sprint come from product backlog.
¢ Scrum can be implemented at the
beginning of a project or in the middle
of a project or product development
effort that is in trouble.
7. SCRUM AGILE QUICK REFERENCE
ROLES AND RESPONSIBILTIES
CHIEF ENGINEER/ARCHITECT
¢ Ensures the integrity of the architecture
¢ Communicates the systems design
¢ Has no predefined team.
¢ Adds to the Product Backlog
PRODUCT OWNER
¢ Defines the features of the product
¢ Manages project features and release to optimize return on investment.
¢ Prioritize features according to mission/users needs
¢ Inspects increment and makes adaptation to project
¢ Can change features and priority every sprint
¢ Communicates project status and progression
¢ Accepts or rejects work
8. CONTINUED…
TEAM
¢ Cross-functional seven plus/minus two members.
¢ Selects the sprint goal and specifies work results
¢ Commits to what it feels it can accomplish
¢ Has authority to do everything within existing standards and
guidelines to reach the sprint goal.
¢ Manages itself and its work.
¢ Collaborates with product owner to optimize value
¢ Demos work results to the product owner
SCRUM MASTER
¢ Ensures that team is fully functional , productive and improves
quality.
¢ Enables close cooperation across all roles and function and
removes barriers.
¢ Shields the team from external interferences.
9. CONTINUED…
¢ Ensures that the process is followed
¢ Teaches product owner and team how to fullfil roles
¢ Does not make decision for the team
USER STORIES:
¢ Typically in one or two sentences in the everyday language of the
user
¢ Users stories are used for the specification of requirement.
¢ There are three components for the user story: Written
description, conversation about the story, and the tests.
ESTIMATE TEAM CAPACITY
Capacity=# Team members(Productive hours X sprint days)
E.g.: Team size is 5, productive Hrs are 7,sprint days is 8
days(minus 2 for planning and sprint review days)
Capacity = 5 X7X8= 280hours
10. CONTINUED...
VISION/CAPABILITY DEFINITION:
¢ Why are we building this product, system, or application?
¢ what problem does it solve and for whom?
¢ Budget in place for incremental funding
PRODUCT ROADMAP: 3-12 MONTHS OUT
¢ High-level product capabilities mapped to several releases.
¢ Priorities identified ,resources.
¢ Product backlog updated.
RELEASE PLAN:
¢ Ongoing preparation: groom the product backlog.
¢ Usually ½-1 day meeting
¢ Occurs with entire project team.
11. CONTINUED...
OUTPUT:
¢ Stories with acceptance criteria and estimated.
¢ Dependencies and risks identified.
¢ Interfaces defined
¢ Design updated
¢ Commitment to release
SPRINT PLAN
¢ Ongoing preparation; groom the product backlog.
¢ Usually 2-4 hours meeting
¢ Occurs with the team.
¢ Output: stories for the sprint and tasks with hours for each user
story
12. EXTREME PROGRAMMING(XP)
¢ The XP improves a software project in four essential
ways which are communication, simplicity, feedback
and courage.
¢ In XP, there is an emphasis on priority of customer/
client stories which represent the business
requirements for each system release.
¢ he XP approach involved many small releases of
system functionality/features with developers writing
the tests for system functionality/features before
actually writing the specific code.
¢ knowledge transfer between the customer and
developers very much in line with the RAD approach
13.
14. ADAPTIVE SOFTWARE DEVELOPMENT(ASD)
¢ Adaptive Software Development is a
software development process that grew out
of rapid application development work.
4 phases of the Adaptive Software Development
process Model:
15. 4 PHASES
¢ Communication and planning
The project specification and proposal documents, which are
composed of feasibility and risk assessment, are prepared
¢ Analysis
The analysis phase will be started only when a customer
approves the proposal in the first prepared during the first
phase. In this phase, the quality of software will be
approved through paper documentation. An analyst
gathers details information and requirement from this
phase. Software requirement specification (SRS) document
is a product the analysis phase.
¢ Design and development
Adaptive Software Development process Model uses the
prototype approach to verify the design and requirements.
¢ Testing and deployment
Test cases for each increment are prepared at the beginning
of this phase
16. CRITICISM OF AGILE DEVELOPMENT
¢ It is developer-centric rather than user-centric.
¢ Agile focuses on processes for getting
requirements and developing code and does not
focus on product design.
¢ Agile methodologies can also be inefficient in
large organizations and certain types of projects.
17. ABOUT WATERFALL METHODOLOGY
¢ The waterfall model is a liner sequential
design process, used in software development
processes.
¢ The phases of Conception, Initiation ,Analysis,
Design ,Construction, Testing and Maintenance.
¢ Waterfall model is the earliest SDLC approach
that was used for software development.
¢ Testing is done in every stage.
¢ Documentation is produced at every stage of the
waterfall model allowing people to understand
what has been done.
19. DIFFERENT PHASES OF WATERFALL MODEL
1. Requirement Gathering and analysis:
¢ All possible requirements of the system to be
developed are captured in this phase and
documented in a requirement specification
document.
¢ The software details should be detailed and accurate
2. Design:
¢ The customer requirement are broken down into
logical module for the ease of implementation.
Hardware and software requirements for every
module are identified and designed accordingly.
20. 3. CODING:
¢ In this phase coding is translated into machine-readable
form.
¢ If design is done in sufficient detail then coding
can be done effectively. Programs are created in
this phase.
¢ In this phase all software divided into small
module rather than do coding whole software.
4.TESTING:
¢ In this stage both individual components and
integrated whole are methodically verified to
ensure that they are error-free and fully meet the
requirements.
¢ In this phase testing whole software into two
parts 1)Hardware 2)Software.
21. ¢ Types of testing is 2 types
ü Inside test
ü Outside Test.
5)Maintenance:
¢ Final Phase of the waterfall model in which the
completed software product is handed over to the
client after alpha , beta testing.
¢ After the software has been deployed on the
client site, it is duty of the software development
team to undertake routine maintenance activities
by visiting the client site.
¢ If customer suggests changes or enhancements
the software process has to be followed all over
again right from the first phase i.e requirement
analysis
22. THE DIFFERENCE BETWEEN WATERFALL AND
AGILE
Waterfall –Involves
– Structured
– One big project
– A sequential
process
– Suited for
situations where
change is
uncommon
– Internal
– A process that
requires clearly
defined
requirements
upfront
customers.
–A process in
which
requirements are
expected to evolve
and change
– Flexible
– Many small
projects
– Highly
collaborative
– Best for those who
want continuous
improvements
Agile
23. PROS OF AGILE
¢ It offers incredibly flexible design model, promising
adaptive planning and evolutionary development.
¢ Software developers work on small modules at a
time.
¢ Customer feedback occurs simultaneously with
development needs to be able to respond to changes
in requirement rapidly and effectively.
CONS OF WATERFALL:
¢ Its incredibly rigid and inflexible.
¢ Cant alter project at any stage or very difficult.
¢ Problems cant be solved immediately amount of time
required.
24. Getting Started or Support Need for IT
Solutions.
Muthu Natarajan
muthu.n@msquaresystems.com
Visit: www.msquaresystems.com
Phone: 212-941-6000/202-400-5003