Agile Methodologies: Understanding, Applying, and Improving Software Development Processes

undefined
 
 
 
 
          
JIT1002
            AGILE
METHODOLOGIES
undefined
 
JIT1002
 
AGILE METHODOLOGIES
  
L  T  P  C    3   0   0
3
COURSE OBJECTIVES:
Understand the basic concepts of Agile Software Process
Comprehend various Agile Methodologies
Develop Agile Software Process
Apply principles of Agile Testing
Understand metrics used in Agile
UNIT I INTRODUCTION
   
9
Software is new product development- Iterative and Evolutionary
Methods- Agile Development – Case Study: Perform a comparative
Study between Traditional / Heavy weight Methodologies with Agile
Methodology
undefined
 
UNIT II AGILE AND ITS SIGNIFICANCE
  
9
Agile Story: Evolutionary delivery -Scrum Demo- Planning game, -
Sprint back log- adaptive planning - Agile Motivation – Problems with
The Waterfall - Research Evidence Scrum: Method Overview -Life cycle
phases and Work product roles
UNIT III AGILE METHODOLOGY
  
9
Extreme Programming: Method Overview -Life cycle phases and Work
product roles - Unified process: Method Overview -Life cycle phases
and Work product roles - EVO: Method Overview -Life cycle phases and
Work product roles -Case Study: Student group must collaborate and
report together along with assigned batch members. Collect the
requirements from the client and adopt the suitable agile practice
method
undefined
 
UNIT IV AGILE PRACTICES
  
9
Agile Project management - Agile Environment -. Agile Requirements -
Case Study – Practices: At the end of each sprint of automated and
acceptance tests
UNIT VAGILITY AND QUALITY ASSURANCE
 
9
Agile product development – Agile Metrics – Feature Driven
Development (FDD)- Agile approach to Quality Assurance -Test Driven
Development – Agile approach in Global Software Development
TOTAL: 45 PERIODS
undefined
 
TEXT BOOKS:
1.
Craig Larman, “Agile and Iterative Development – A Manager’s Guide”, Pearson
Education, 2006.
 
2.
Elisabeth Hendrickson Quality Tree Software Inc, “Agile Testing”, 2008.
REFERENCES:
1.
Chetankumar Patel, MuthuRamachandran, Story Card Maturity Model (SMM): A
Process Improvement Framework for Agile Requirements Engineering Practices,
Journal of Software, Academy Publishers, Vol 4, No 5 (2009), 422-435, Jul 2009.E.
Capriolo, D. Wampler, and J. Rutherglen, "Programming Hive", O'Reilley, 2012.
 
2.
David J. Anderson; Eli Schragenheim, Agile Management for Software Engineering:
Applying the Theory of Constraints for Business Results, Prentice Hall, 2003.
 
 
WEB LINKS:
https://www.guru99.com/agile-scrum-extreme-testing.html
https://www.infoworld.com/article/3237508/what-is-agile-methodology-modern-
software-development-explained.html
https://www.simplilearn.com/tutorials/agile-scrum-tutorial/what-is-agile
undefined
 
undefined
 
What is Agile Methodology?
Agile Methodology meaning a practice that
promotes 
continuous iteration
 of development and
testing throughout the software development lifecycle of
the project. In the Agile model in software testing, both
development and testing activities are concurrent, unlike
the Waterfall model.
undefined
 
Agile software development is based on an incremental,
iterative approach.
 
Instead of in-depth planning at the beginning of the project,
Agile methodologies are open to changing requirements over
time and encourages constant feedback from the end users.
 
Cross-functional teams work on iterations of a product over a
period of time, and this work is organized into a backlog that is
prioritized based on business or customer value.
 
 
 
The goal of each iteration is to produce a working product
undefined
 
In Agile methodologies, leadership encourages
teamwork, accountability, and face-to-face
communication.
 
Business stakeholders and developers must
work together to align the product with
customer needs and company goals
undefined
 
Agile refers to any process that aligns with the concepts
of the Agile Manifesto. In February 2001, 17 software
developers met in Utah to discuss lightweight
development methods.
 
published the Manifesto for Agile Software
Development, which covered how they found “better
ways of developing software by doing it and helping
others do it” and included four values and 12 principles.
 
 
The Agile Manifesto is a dramatic contrast to the
traditional Project Manager’s Body of Knowledge
(PMBOK) guide and standards. 12 Principles of Agile
Methodology
undefined
 
The Agile Manifesto lists 12 principles to guide teams on
how to execute with agility. These are the principles:
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 preference to the
shorter timescale.
4.
Business people and developers must work together
daily throughout the project.
5.
Build projects around motivated individuals. Give them
the environment and support they need, and trust them
to get the job done.
undefined
 
1)
The most efficient and effective method of conveying
information to and within a development team is face-to-
face conversation.
2)
Working software is the primary measure of progress.
3)
Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a
constant pace indefinitely.
4)
Continuous attention to technical excellence and good
design enhances agility.
5)
Simplicity -- the art of maximizing the amount of work not
done -- is essential.
6)
The best architectures, requirements, and designs emerge
from self-organizing teams.
7)
At regular intervals, the team reflects on how to become
more effective, then tunes and adjusts its behavior
accordingly. Advantages of Agile
undefined
 
 
 
 
        
Software is new product development
undefined
 
Is software development a product development?
Software Product development is 
the process of
creating a new product with some added
value and features
. It can be anything from
developing an entire new product, or upgrading an
existing product, or improving the process,
technique, or development methodology of the
system
undefined
 
Is software a product or process?
Software as a product (SaaP, also programming
product, software product) is 
a product, software
,
which is made to be sold to users, and users pay for
licence which allows them to use it, in contrast to
SaaS, where users buy subscription and where the
software is centrally hosted.
undefined
 
What is considered new product development?
New product development (NPD) is 
the process of
bringing a new product to the marketplace
. Your
business may need to engage in this process due to changes
in consumer preferences, increasing competition and
advances in technology or to capitalise on a new
opportunity.
 
What are the types of product development?
Types of Product Developments
New product developments can be grouped into four major
categories: 
new-to-the-company, improvement of
existing product, extension of product line, and new-to-
the-marke
 
undefined
 
4 Basic Type of Software Products as per your
Business Needs
1. System Software Products
Systems software
 programs manage the resources of
the computer system that help simplify application
programming. They include software such as the
operating system, database management systems,
networking software, translators,
and software utilities.
2. Programming Software Products
Programming software also knows as development
tools such as compilers, text editors, debuggers, linker
are 
programs
 or set of programs which
help 
software
 developers in creating, debugging, and
maintaining other programs and apps.
undefined
 
3. Application Software Products:
Application Software is an application or product
that can be used to perform tasks. Famous
examples of application software are data
management software, Office productivity suites,
media players, etc.
4. Embedded Software Products:
Embedded System Software products are used to
control machines and devices through
telecommunications networks, industrial robots,
cars, and more.
undefined
 
Steps to Follow for Software Product
Development Process plan:
The software product development process is a basic
tool for facilitating a large number of people to work
together on a collaborative development project. Using
one ultimately results in fewer defects, drives shorter
delivery times, and better value.
The software product development process consists of
the following 7 steps:
1. Ideation and planning
Everything starts with a great idea! But that idea
needs to be carefully thought over in order to be
executed. Careful planning is the first and foremost
step of software product development as it presupposes
deciding the scope of the project, explaining means and
ways for the new software system to meet business
model objectives, cost-related issues, resource
availability, and timelines.
undefined
 
2. Requirements and feasibility analysis
During this stage of software product development,
the project is defined in a detailed analysis of and
how the project’s feasibility is carried out. To build
an actionable solution, catchy design, and clean
code are not enough, you first need the developers
to get an in-depth understanding of the project
objective and requirements.
Requirements and feasibility analysis showcase all
the technical as well as economical aspects that
affect the software development process. It helps
identify the risks at the beginning so that risk
mitigation strategies can be worked out.
undefined
 
3. Design
Software product design is a prominent aspect of the development
process. The actual conceptualizing of the software system is
created during the design stage, that is the structured software
architecture meeting specific project requirements is created.
A tailored software product design by developers sets
definite workflows and standards. The whole software structure
is built with the final prototype and mockups used for the next
stages of the software product development process. Once the
design is identified it’s time to move to the very development.
4. Development & coding
The development stage is all about writing code and turning
design documentation into the actual software within the
software product development process. This stage development is
the longest as it’s the backbone of the whole process. The software
developers make sure their code meets the software requirements
specifications, conforms to the stakeholders’ requirements, etc.
undefined
 
5. Integration and testing
Now that the software is developed and completed
the next step involves integration starts and
system testing. The Quality Assurance (OA) team
conducts a series of tests including systems
integration, functionality testing, and
interoperability along with user acceptance testing.
This is to make sure the code is clean and the
business goals of the solution are met.
6. Implementation and deployment
This is a step that includes the installation of the
build software system. It’s a step-by-step procedure
based on the implementation plan. The newly built
and tested software system is moved to production
and transfer for the specific changes to be deployed.
undefined
 
7. Operations and maintenance
The very last phase of the software product
development lifecycle involves regular updates and
maintenance of the software product. This step is
treated with the utmost attention since during this
stage product is polished, enhanced, upgraded, and
fine-tuned according to the real-world feedbacks on
its performance within this stage.
undefined
 
Different Software Product Development
Methodologies
There are different software product development
methodologies in the market today, each offering a
different set of advantages: from minimized risk to
improved process efficiency and continuous
iterations to enhanced scalability. Here’s a look at
the 4 most popular software product development
methodologies – 
waterfall, agile, scrum,
Incremental and Iterative
– and see which fits
the best for your business needs best.
undefined
 
Waterfall
This is one of the earliest software product
development methodologies, the waterfall model
assimilates a series of sequential stages: from
conception to maintenance. Since this model ensures
well-defined goals are achieved, it is best for projects
where demands are clear and accurate documents that
describe how the system is to be produced.
Agile
The agile methodologies are where new updates &
releases of the software product are created, and made
available to customers every few weeks.
For every stage of the product, more attributes can be
tested, added, and again tested after receiving feedback
from customers. Agile methodology saves time and
makes sure the end product meets the intended
requirements.
undefined
 
Scrum
Scrum, is a subset of Agile methodologies, it is used to
manage the software product development process at
the macro level. It follows the principles and values of
agile; plus, it covers further specification and definition
by considering some important software product
development practices. This approach is best suitable
for software products with changing demands.
Incremental and Iterative
The incremental and iterative software product
development approach is like a center ground between
the upfront planning of the Waterfall process and the
flexibility of the Agile process. While both follow the
idea of creating bits of software and exposing them to
customers for feedback, however, they differ
in 
what
 you create during each release.
undefined
 
Scrum
Scrum, is a subset of Agile methodologies, it is used to
manage the software product development process at
the macro level. It follows the principles and values of
agile; plus, it covers further specification and definition
by considering some important software product
development practices. This approach is best suitable
for software products with changing demands.
Incremental and Iterative
The incremental and iterative software product
development approach is like a center ground between
the upfront planning of the Waterfall process and the
flexibility of the Agile process. While both follow the
idea of creating bits of software and exposing them to
customers for feedback, however, they differ
in 
what
 you create during each release.
undefined
 
What is considered product development?
Product development, also called new product
management, is 
a series of steps that includes
the conceptualization, design, development
and marketing of newly created or newly
rebranded goods or services
.
undefined
 
 
 
 
 
 
 
               
Agile Development
undefined
 
 
Agile Development:
 
The 
Agile software development
 methodology is one of
the simplest and effective processes to turn a vision for a
business need into software solutions.
 
 Agile is a term used to describe software development
approaches that employ continual planning, learning,
improvement, team collaboration, evolutionary
development, and early delivery. It encourages flexible
responses to change.
undefined
 
The agile software development emphasizes on
four core values
.
 
Individual and team interactions over processes
and tools
 
Working software over comprehensive
documentation
 
Customer collaboration over contract negotiation
 
Responding to change over following 
a plan
undefined
 
undefined
 
Slide Note
Embed
Share

Explore the world of Agile methodologies in software development, covering basic concepts, various methodologies, testing principles, and quality assurance. Dive into Agile practices, project management, metrics, and global development. Recommended textbooks and references provided for in-depth learning.

  • Agile Methodologies
  • Software Development
  • Agile Testing
  • Quality Assurance
  • Project Management

Uploaded on Jul 19, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. JIT1002 AGILE METHODOLOGIES

  2. JIT1002 3 AGILE METHODOLOGIES L T P C 3 0 0 COURSE OBJECTIVES: Understand the basic concepts of Agile Software Process Comprehend various Agile Methodologies Develop Agile Software Process Apply principles of Agile Testing Understand metrics used in Agile UNIT I INTRODUCTION 9 Software is new product development- Iterative and Evolutionary Methods- Agile Development Case Study: Perform a comparative Study between Traditional / Heavy weight Methodologies with Agile Methodology

  3. UNIT II AGILE AND ITS SIGNIFICANCE 9 Agile Story: Evolutionary delivery -Scrum Demo- Planning game, - Sprint back log- adaptive planning - Agile Motivation Problems with The Waterfall - Research Evidence Scrum: Method Overview -Life cycle phases and Work product roles UNIT III AGILE METHODOLOGY 9 Extreme Programming: Method Overview -Life cycle phases and Work product roles - Unified process: Method Overview -Life cycle phases and Work product roles - EVO: Method Overview -Life cycle phases and Work product roles -Case Study: Student group must collaborate and report together along with assigned batch members. Collect the requirements from the client and adopt the suitable agile practice method

  4. UNIT IV AGILE PRACTICES 9 Agile Project management - Agile Environment -. Agile Requirements - Case Study Practices: At the end of each sprint of automated and acceptance tests UNIT VAGILITY AND QUALITY ASSURANCE 9 Agile product development Agile Metrics Feature Driven Development (FDD)- Agile approach to Quality Assurance -Test Driven Development Agile approach in Global Software Development TOTAL: 45 PERIODS

  5. TEXT BOOKS: Craig Larman, Agile and Iterative Development A Manager s Guide , Pearson Education, 2006. 1. Elisabeth Hendrickson Quality Tree Software Inc, Agile Testing , 2008. 2. REFERENCES: Chetankumar Patel, MuthuRamachandran, Story Card Maturity Model (SMM): A Process Improvement Framework for Agile Requirements Engineering Practices, Journal of Software, Academy Publishers, Vol 4, No 5 (2009), 422-435, Jul 2009.E. Capriolo, D. Wampler, and J. Rutherglen, "Programming Hive", O'Reilley, 2012. 1. David J. Anderson; Eli Schragenheim, Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results, Prentice Hall, 2003. 2. WEB LINKS: https://www.guru99.com/agile-scrum-extreme-testing.html https://www.infoworld.com/article/3237508/what-is-agile-methodology-modern- software-development-explained.html https://www.simplilearn.com/tutorials/agile-scrum-tutorial/what-is-agile

  6. What is Agile Methodology? Agile Methodology meaning a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. In the Agile model in software testing, both development and testing activities are concurrent, unlike the Waterfall model.

  7. Agile software development is based on an incremental, iterative approach. Instead of in-depth planning at the beginning of the project, Agile methodologies are open to changing requirements over time and encourages constant feedback from the end users. Cross-functional teams work on iterations of a product over a period of time, and this work is organized into a backlog that is prioritized based on business or customer value. The goal of each iteration is to produce a working product

  8. In Agile methodologies, leadership encourages teamwork, accountability, and face-to-face communication. Business stakeholders and developers must work together to align the product with customer needs and company goals

  9. Agile refers to any process that aligns with the concepts of the Agile Manifesto. In February 2001, 17 software developers met in Utah development methods. to discuss lightweight published Development, which covered how they found better ways of developing software by doing it and helping others do it and included four values and 12 principles. the Manifesto for Agile Software The Agile Manifesto is a dramatic contrast to the traditional Project Manager s Body of Knowledge (PMBOK) guide and standards. 12 Principles of Agile Methodology

  10. The Agile Manifesto lists 12 principles to guide teams on how to execute with agility. These are the principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer s competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 1. 2. 3. 4. 5.

  11. The most efficient and effective method of conveying information to and within a development team is face-to- face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity -- the art of maximizing the amount of work not done -- is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Advantages of Agile 1) 2) 3) 4) 5) 6) 7)

  12. Software is new product development

  13. Is software development a product development? Software Product development is the process of creating a new product with some added value and features. It can be anything from developing an entire new product, or upgrading an existing product, or improving the process, technique, or development methodology of the system

  14. Is software a product or process? Software as a product (SaaP, also programming product, software product) is a product, software, which is made to be sold to users, and users pay for licence which allows them to use it, in contrast to SaaS, where users buy subscription and where the software is centrally hosted.

  15. What is considered new product development? New product development (NPD) is the process of bringing a new product to the marketplace. Your business may need to engage in this process due to changes in consumer preferences, increasing competition and advances in technology or to capitalise on a new opportunity. What are the types of product development? Types of Product Developments New product developments can be grouped into four major categories: new-to-the-company, improvement of existing product, extension of product line, and new-to- the-marke

  16. 4 Basic Type of Software Products as per your Business Needs 1. System Software Products Systems software programs manage the resources of the computer system that help simplify application programming. They include software such as the operating system, database management systems, networking software, translators, and software utilities. 2. Programming Software Products Programming software also knows as development tools such as compilers, text editors, debuggers, linker are programs or set of programs which help software developers in creating, debugging, and maintaining other programs and apps.

  17. 3. Application Software Products: Application Software is an application or product that can be used to perform tasks. Famous examples of application software are data management software, Office productivity suites, media players, etc. 4. Embedded Software Products: Embedded System Software products are used to control machines and devices through telecommunications networks, industrial robots, cars, and more.

  18. Steps to Follow for Software Product Development Process plan: The software product development process is a basic tool for facilitating a large number of people to work together on a collaborative development project. Using one ultimately results in fewer defects, drives shorter delivery times, and better value. The software product development process consists of the following 7 steps: 1. Ideation and planning Everything starts with a great idea! But that idea needs to be carefully thought over in order to be executed. Careful planning is the first and foremost step of software product development as it presupposes deciding the scope of the project, explaining means and ways for the new software system to meet business model objectives, cost-related issues, resource availability, and timelines.

  19. 2. Requirements and feasibility analysis During this stage of software product development, the project is defined in a detailed analysis of and how the project s feasibility is carried out. To build an actionable solution, catchy design, and clean code are not enough, you first need the developers to get an in-depth understanding of the project objective and requirements. Requirements and feasibility analysis showcase all the technical as well as economical aspects that affect the software development process. It helps identify the risks at the beginning so that risk mitigation strategies can be worked out.

  20. 3. Design Software product design is a prominent aspect of the development process. The actual conceptualizing of the software system is created during the design stage, that is the structured software architecture meeting specific project requirements is created. A tailored software product design by developers sets definite workflows and standards. The whole software structure is built with the final prototype and mockups used for the next stages of the software product development process. Once the design is identified it s time to move to the very development. 4. Development & coding The development stage is all about writing code and turning design documentation into the actual software within the software product development process. This stage development is the longest as it s the backbone of the whole process. The software developers make sure their code meets the software requirements specifications, conforms to the stakeholders requirements, etc.

  21. 5. Integration and testing Now that the software is developed and completed the next step involves integration starts and system testing. The Quality Assurance (OA) team conducts a series of tests including systems integration, functionality testing, and interoperability along with user acceptance testing. This is to make sure the code is clean and the business goals of the solution are met. 6. Implementation and deployment This is a step that includes the installation of the build software system. It s a step-by-step procedure based on the implementation plan. The newly built and tested software system is moved to production and transfer for the specific changes to be deployed.

  22. 7. Operations and maintenance The very last phase of the software product development lifecycle involves regular updates and maintenance of the software product. This step is treated with the utmost attention since during this stage product is polished, enhanced, upgraded, and fine-tuned according to the real-world feedbacks on its performance within this stage.

  23. Different Software Product Development Methodologies There are different software product development methodologies in the market today, each offering a different set of advantages: from minimized risk to improved process efficiency and continuous iterations to enhanced scalability. Here s a look at the 4 most popular software product development methodologies waterfall, agile, scrum, Incremental and Iterative and see which fits the best for your business needs best.

  24. Waterfall This is one of the earliest software product development methodologies, the waterfall model assimilates a series of sequential stages: from conception to maintenance. Since this model ensures well-defined goals are achieved, it is best for projects where demands are clear and accurate documents that describe how the system is to be produced. Agile The agile methodologies are where new updates & releases of the software product are created, and made available to customers every few weeks. For every stage of the product, more attributes can be tested, added, and again tested after receiving feedback from customers. Agile methodology saves time and makes sure the end product meets the intended requirements.

  25. Scrum Scrum, is a subset of Agile methodologies, it is used to manage the software product development process at the macro level. It follows the principles and values of agile; plus, it covers further specification and definition by considering some important software product development practices. This approach is best suitable for software products with changing demands. Incremental and Iterative The incremental and iterative software product development approach is like a center ground between the upfront planning of the Waterfall process and the flexibility of the Agile process. While both follow the idea of creating bits of software and exposing them to customers for feedback, however, they differ in what you create during each release.

  26. Scrum Scrum, is a subset of Agile methodologies, it is used to manage the software product development process at the macro level. It follows the principles and values of agile; plus, it covers further specification and definition by considering some important software product development practices. This approach is best suitable for software products with changing demands. Incremental and Iterative The incremental and iterative software product development approach is like a center ground between the upfront planning of the Waterfall process and the flexibility of the Agile process. While both follow the idea of creating bits of software and exposing them to customers for feedback, however, they differ in what you create during each release.

  27. What is considered product development? Product development, also called new product management, is a series of steps that includes the conceptualization, design, development and marketing of newly created or newly rebranded goods or services.

  28. Agile Development

  29. Agile Development: The Agile software development methodology is one of the simplest and effective processes to turn a vision for a business need into software solutions. Agile is a term used to describe software development approaches that employ continual planning, learning, improvement, team collaboration, development, and early delivery. It encourages flexible responses to change. evolutionary

  30. The agile software development emphasizes on four core values. Individual and team interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#