SlideShare a Scribd company logo
1 of 23
Software Engineering
(CSI 321)
An Agile View of Process
1
Introduction
• An agile philosophy for software engineering stresses four key
issues –
– The importance of self-organizing teams that have control
over the work they perform
– Communication and collaboration between team
members and between practitioners & their customers
– A recognition that change represents an opportunity
– An emphasis on rapid delivery of software that satisfies
the customer
• Agile process models have been designed to address each of
these issues.
2
The Manifesto for Agile Software Development
• “We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we have
come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.”
-- Kent Beck et al.
3
What is “Agility”?
 Effective response to change
 Effective communication among all stakeholders
 Drawing the customer onto the team; eliminate the
“us and them” attitude
 Organizing a team so that it is in control of the work
performed
 Rapid and incremental delivery of software
4
Principles to achieve agility – by the Agile
Alliance (1)
1. Highest priority ==> satisfy the customer
2. Welcome changing requirements
3. Deliver working software frequently
4. Business people and developers must work
together
5. Build projects around motivated individuals
6. Emphasize face-to-face conversation
5
Principles to achieve agility – by the
Agile Alliance (2)
7. Working software is the primary measure of progress
8. Agile processes promote sustainable development
9. Continuous attention to technical excellence and good
design enhances agility
10. Simplicity – the art of maximizing the amount of work not
done – is essential
11. The best designs emerge from self-organizing teams
12. The team tunes and adjusts its behavior to become more
effective
6
Agile Software Process
 Agile Software Process – Characterized by three Key
Assumptions:
1) Difficulty in predicting changes of requirements and
customer priorities.
2) For many types of s/w, design and construction are
interleaved.
3) Analysis, design, construction, and testing are not
as predictable as we might like.
7
Agile Software Process
• An agile process must be adaptable
• It must adapt incrementally
• Requires customer feedback
• An effective catalyst for customer feedback is an operational
prototype or a portion of an operational system
– An incremental development strategy should be instituted.
• Software increments must be delivered in short time periods
– Enables the customer to evaluate the software increment
regularly
– Provide necessary feedback to the software team
8
Agile Process Models
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Scrum
• Crystal
• Feature Driven Development (FDD)
• Agile Modeling (AM)
9
Extreme Programming (XP)
• The most widely used agile process, originally
proposed by Kent Beck.
• XP uses an object-oriented approach as its preferred
development paradigm.
• XP suggests a number of innovative & powerful
techniques that allow an agile team to create
frequent software releases delivering features &
functionality described & prioritized by the
customer.
10
Extreme Programming (XP)
 XP defines four framework activities:
1) Planning
2) Design
3) Coding
4) Testing
11
XP – Planning
• Begins with the creation of a set of stories (also called user
stories)
• Each story is written by the customer and is placed on an
index card
• The customer assigns a value (i.e. a priority) to the story
• Agile team assesses each story and assigns a cost
• Stories are grouped together for a deliverable increment
• A commitment is made on delivery date, and the XP team
orders the stories to be developed
• After the first software increment, the XP team computes
“project velocity” which is used to help define subsequent
delivery dates for other increments.
12
XP – Design
• Follows the KIS (keep it simple) principle
• Encourages the use of CRC (class-responsibility-
collaborator) cards as an effective mechanism for
thinking about the software in an object-oriented
context.
• For difficult design problems, XP suggests the
creation of “spike solutions”—a design prototype.
• Encourages “refactoring”—an iterative refinement of
the internal program design.
• Design occurs both before and after coding
commences.
13
XP – Coding
• Recommends the construction of a series of unit
tests for each of the stories before coding
commences
• Encourages “pair programming”
– Mechanism for real-time problem solving and real-time
quality assurance
– Keeps the developers focused on the problem at hand
• Needs “continuous integration” with other portions
(stories) of the s/w, which provides a “smoke
testing” environment that helps to uncover errors
early.
14
XP – Testing
• Unit tests should be implemented using a framework
to make testing automated. This encourages a
regression testing strategy.
• Integration and validation testing can occur on a
daily basis.
• Acceptance tests, also called customer tests, are
specified by the customer and focus on overall
system features & functionality that are visible &
reviewable by the customer.
• Acceptance tests are derived from user stories.
15
Adaptive Software Development (ASD)
• ASD stresses human collaboration and team self-organization.
• ASD uses an iterative process that incorporates adaptive cycle
planning , relatively rigorous requirements gathering
methods, and an iterative development cycle that
incorporates customer focus groups & FTRs as real-time
feedback mechanism.
• ASD philosophy has merit regardless of the process model
used. ASD’s overall emphasis on the dynamics of self-
organizing teams, interpersonal collaboration, and individual
& team learning yield software project teams that have a
much higher likelihood of success.
16
Adaptive Software Development (ASD)
• ASD is organized as three framework activities –
1) Speculation ==> Project initiation, Adaptive Cycle
Planning(Customer’s mission statement, Project constraints,
Basic requirements, Time-boxed release plan)
2) Collaboration ==> Requirements gathering , JAD, Mini-
specs.
3) Learning ==> Components designed, implemented, tested.
ASD teams learn in three ways –Focus groups for feedback,
FTRs, Postmortems
17
Dynamic Systems Development Method (DSDM)
• An agile software development approach that provides a
framework for building & maintaining systems which meet tight
time constraints through the use of incremental prototyping in a
controlled project environment.
• Similar in some respects the RAD process.
• Suggests a philosophy that is borrowed from a modified version of
the Pareto principle ( 80 % of an application can be delivered in 20%
of the time).
• Like XP & ASD, DSDM suggests an iterative software process.
• Advocates the use of time-box scheduling and suggests that only
enough work is required for each software increment to facilitate
movement to the next increment.
18
Dynamic Systems Development Method (DSDM)
 DSDM defines three different iterative cycles –
1) Functional model iteration
2) Design and build iteration
3) Implementation
• These three cycles are preceded by two additional
life cycle activities –
a) Feasibility study
b) Business study
19
Scrum
• Scrum emphasizes the use of a set of software process
patterns that have proven effective for projects with tight
timelines, changing requirements, and business criticality.
• Framework activities –Requirements, Analysis, Design,
Evolution, Delivery. Within each framework activity, work
tasks occur within a process pattern called a sprint.
• Each process pattern defines a set of development tasks and
allows the Scrum team to construct a process that is adapted
to the needs of the project.
– Backlog
– Sprint
– Scrum meeting
20
Scrum
• Scrum is an iterative and incremental agile software
development method.
• Scrum incorporates a set of process patterns that
emphasize:
– Project priorities
– Compartmentalized work units
– Communication
– Frequent customer feedback
21
Agility vs. Software Engineering
 So…..What you gonna choose?
 Agility, or Software Engineering?
22
Agility vs. Software Engineering
• You don’t have to choose between agility and
software engineering!
• Instead, define a software engineering approach that
is agile.
23

More Related Content

What's hot

Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7Priyanka Shetty
 
Software reliability
Software reliabilitySoftware reliability
Software reliabilityAnand Kumar
 
Waterfall model
Waterfall modelWaterfall model
Waterfall modelSandeep Kumar
 
Ch04 agile development models
Ch04 agile development modelsCh04 agile development models
Ch04 agile development modelsNoor Ul Hudda Memon
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept Atamjitsingh92
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteGolda Margret Sheeba J
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27Priyanka Shetty
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process ModelAchmad Solichin
 

What's hot (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Software testing
Software testingSoftware testing
Software testing
 
Incremental model
Incremental modelIncremental model
Incremental model
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Ch04 agile development models
Ch04 agile development modelsCh04 agile development models
Ch04 agile development models
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process Model
 

Similar to Software Engineering (An Agile View of Process)

4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile processDelowar hossain
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.pptssusere16bd9
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwarezeelp3114
 
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdf
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdfUNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdf
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdfRamosIvan2
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptRedHeart11
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Introduction to the Agile Methods
Introduction to the Agile MethodsIntroduction to the Agile Methods
Introduction to the Agile Methodssoftwareacademy
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.pptADARSHN40
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 

Similar to Software Engineering (An Agile View of Process) (20)

4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
 
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdf
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdfUNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdf
UNIT 4 - Topic 2 - Agile Development Methodologies (2 - XP).pdf
 
Unit -1.ppt
Unit -1.pptUnit -1.ppt
Unit -1.ppt
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Lecture 3 se
Lecture 3 seLecture 3 se
Lecture 3 se
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Introduction to the Agile Methods
Introduction to the Agile MethodsIntroduction to the Agile Methods
Introduction to the Agile Methods
 
Agile process
Agile processAgile process
Agile process
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 

More from ShudipPal

Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)ShudipPal
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)ShudipPal
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )ShudipPal
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)ShudipPal
 

More from ShudipPal (16)

Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)
 

Recently uploaded

Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 

Recently uploaded (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 

Software Engineering (An Agile View of Process)

  • 1. Software Engineering (CSI 321) An Agile View of Process 1
  • 2. Introduction • An agile philosophy for software engineering stresses four key issues – – The importance of self-organizing teams that have control over the work they perform – Communication and collaboration between team members and between practitioners & their customers – A recognition that change represents an opportunity – An emphasis on rapid delivery of software that satisfies the customer • Agile process models have been designed to address each of these issues. 2
  • 3. The Manifesto for Agile Software Development • “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” -- Kent Beck et al. 3
  • 4. What is “Agility”?  Effective response to change  Effective communication among all stakeholders  Drawing the customer onto the team; eliminate the “us and them” attitude  Organizing a team so that it is in control of the work performed  Rapid and incremental delivery of software 4
  • 5. Principles to achieve agility – by the Agile Alliance (1) 1. Highest priority ==> satisfy the customer 2. Welcome changing requirements 3. Deliver working software frequently 4. Business people and developers must work together 5. Build projects around motivated individuals 6. Emphasize face-to-face conversation 5
  • 6. Principles to achieve agility – by the Agile Alliance (2) 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development 9. Continuous attention to technical excellence and good design enhances agility 10. Simplicity – the art of maximizing the amount of work not done – is essential 11. The best designs emerge from self-organizing teams 12. The team tunes and adjusts its behavior to become more effective 6
  • 7. Agile Software Process  Agile Software Process – Characterized by three Key Assumptions: 1) Difficulty in predicting changes of requirements and customer priorities. 2) For many types of s/w, design and construction are interleaved. 3) Analysis, design, construction, and testing are not as predictable as we might like. 7
  • 8. Agile Software Process • An agile process must be adaptable • It must adapt incrementally • Requires customer feedback • An effective catalyst for customer feedback is an operational prototype or a portion of an operational system – An incremental development strategy should be instituted. • Software increments must be delivered in short time periods – Enables the customer to evaluate the software increment regularly – Provide necessary feedback to the software team 8
  • 9. Agile Process Models • Extreme Programming (XP) • Adaptive Software Development (ASD) • Dynamic Systems Development Method (DSDM) • Scrum • Crystal • Feature Driven Development (FDD) • Agile Modeling (AM) 9
  • 10. Extreme Programming (XP) • The most widely used agile process, originally proposed by Kent Beck. • XP uses an object-oriented approach as its preferred development paradigm. • XP suggests a number of innovative & powerful techniques that allow an agile team to create frequent software releases delivering features & functionality described & prioritized by the customer. 10
  • 11. Extreme Programming (XP)  XP defines four framework activities: 1) Planning 2) Design 3) Coding 4) Testing 11
  • 12. XP – Planning • Begins with the creation of a set of stories (also called user stories) • Each story is written by the customer and is placed on an index card • The customer assigns a value (i.e. a priority) to the story • Agile team assesses each story and assigns a cost • Stories are grouped together for a deliverable increment • A commitment is made on delivery date, and the XP team orders the stories to be developed • After the first software increment, the XP team computes “project velocity” which is used to help define subsequent delivery dates for other increments. 12
  • 13. XP – Design • Follows the KIS (keep it simple) principle • Encourages the use of CRC (class-responsibility- collaborator) cards as an effective mechanism for thinking about the software in an object-oriented context. • For difficult design problems, XP suggests the creation of “spike solutions”—a design prototype. • Encourages “refactoring”—an iterative refinement of the internal program design. • Design occurs both before and after coding commences. 13
  • 14. XP – Coding • Recommends the construction of a series of unit tests for each of the stories before coding commences • Encourages “pair programming” – Mechanism for real-time problem solving and real-time quality assurance – Keeps the developers focused on the problem at hand • Needs “continuous integration” with other portions (stories) of the s/w, which provides a “smoke testing” environment that helps to uncover errors early. 14
  • 15. XP – Testing • Unit tests should be implemented using a framework to make testing automated. This encourages a regression testing strategy. • Integration and validation testing can occur on a daily basis. • Acceptance tests, also called customer tests, are specified by the customer and focus on overall system features & functionality that are visible & reviewable by the customer. • Acceptance tests are derived from user stories. 15
  • 16. Adaptive Software Development (ASD) • ASD stresses human collaboration and team self-organization. • ASD uses an iterative process that incorporates adaptive cycle planning , relatively rigorous requirements gathering methods, and an iterative development cycle that incorporates customer focus groups & FTRs as real-time feedback mechanism. • ASD philosophy has merit regardless of the process model used. ASD’s overall emphasis on the dynamics of self- organizing teams, interpersonal collaboration, and individual & team learning yield software project teams that have a much higher likelihood of success. 16
  • 17. Adaptive Software Development (ASD) • ASD is organized as three framework activities – 1) Speculation ==> Project initiation, Adaptive Cycle Planning(Customer’s mission statement, Project constraints, Basic requirements, Time-boxed release plan) 2) Collaboration ==> Requirements gathering , JAD, Mini- specs. 3) Learning ==> Components designed, implemented, tested. ASD teams learn in three ways –Focus groups for feedback, FTRs, Postmortems 17
  • 18. Dynamic Systems Development Method (DSDM) • An agile software development approach that provides a framework for building & maintaining systems which meet tight time constraints through the use of incremental prototyping in a controlled project environment. • Similar in some respects the RAD process. • Suggests a philosophy that is borrowed from a modified version of the Pareto principle ( 80 % of an application can be delivered in 20% of the time). • Like XP & ASD, DSDM suggests an iterative software process. • Advocates the use of time-box scheduling and suggests that only enough work is required for each software increment to facilitate movement to the next increment. 18
  • 19. Dynamic Systems Development Method (DSDM)  DSDM defines three different iterative cycles – 1) Functional model iteration 2) Design and build iteration 3) Implementation • These three cycles are preceded by two additional life cycle activities – a) Feasibility study b) Business study 19
  • 20. Scrum • Scrum emphasizes the use of a set of software process patterns that have proven effective for projects with tight timelines, changing requirements, and business criticality. • Framework activities –Requirements, Analysis, Design, Evolution, Delivery. Within each framework activity, work tasks occur within a process pattern called a sprint. • Each process pattern defines a set of development tasks and allows the Scrum team to construct a process that is adapted to the needs of the project. – Backlog – Sprint – Scrum meeting 20
  • 21. Scrum • Scrum is an iterative and incremental agile software development method. • Scrum incorporates a set of process patterns that emphasize: – Project priorities – Compartmentalized work units – Communication – Frequent customer feedback 21
  • 22. Agility vs. Software Engineering  So…..What you gonna choose?  Agility, or Software Engineering? 22
  • 23. Agility vs. Software Engineering • You don’t have to choose between agility and software engineering! • Instead, define a software engineering approach that is agile. 23