SlideShare a Scribd company logo
PART I

AGILE OVERVIEW




Bahaa Farouk
CONTENTS

The Story of Software Development
Lean Thinking
Agile Values and Principles
Summary/Review
THE STORY OF SOFTWARE
DEVELOPMENT
– We started off with Software Engineering
– IEEE defines Software Engineering as:


“Software Engineering is the application of a
  systematic, disciplined, quantifiable approach to
  development, operation and maintenance of software: that is, the
  application of engineering to software.”
IEEE Standard Computer Dictionary,
WHO DOES SOFTWARE ENGINEERING?
– NASA




         For the space shuttle’s operating system
NASA’S DEFECT DENSITY
– The last 11 versions of the space shuttle’s 420,000 line systems had a
  total of 17 defects.
MISSILE DEFENSE SYSTEM
– 1969-1975, 5407 person years
– Hardware designed at the same time as software specs being written
– Late changes in requirements not an option

                                                            Code &
– Did it Succeed?                                           Unit Test
                                                             18%
                                                   Design
                                                    20%
                Integration
                  Testing
                   42%
                                  Requireme
                                     nts
                                    20%
MISSILE DEFENSE SYSTEM
– Revised Project Statistics
– The project was delivered according to specifications
– Cost: $25 Billion (not adjusted)
– 1969-1975, 5407 person years


Operational for 133 days - Project terminated in 1978


“By the time the 6-year anti-missile system project was completed, the
  new missiles were faster than the antimissile missiles”
WHERE DID THINGS GO WRONG?
– Software Engineering is a heavy weight methodology and such heavy
  weight methodologies characteristically are most successful when:


– Requirements are stable
– Technology is well known and mature
– Everything happens as one would expect
– We are not taking on anything new or unknown
– We have done this many times before
CONTENTS

The Story of Software Development
Lean Thinking
Agile Values and Principles
Summary/Review
LEAN THINKING
– Based on the best practices of lean production:


– The Toyota Production System, 1988 (1978), Taichii Ohno
  •   Pull Scheduling - Just-in-Time Flow
  •   Expose Problems - Stop-the-Line Culture



– Study Of ‘Toyota’ Production System, 1981, Shigeo Shingo
  •   Non-Stock Production - Single Minute Setup
  •   Zero Inspection – Automatic Error Detection at Every Step
LOWER COST OF CHANGE
THROUGH HIGHER QUALITY
SOFTWARE
LEAN SOFTWARE DEVELOPMENT
– Eliminate Waste
  •   Any development work unrelated to customer value has to be avoided
  •   administration and project management
  •   20% of your features will give 80% of a product’s value

– Focus on Learning
  •   encourage prototyping as a source for feedback and improvements
  •   prototype is a good way to challenge and improve currently existing standards.

– Build Quality In
  •   test driven development creates proper working code from the beginning
  •   Code is integrated and verified continuously by the developer who is implementing the
      use case
  •   Quality implies that the customers’ expectations are met.
LEAN SOFTWARE DEVELOPMENT
– Defer Commitment
  •   the development needs to be approached in many small increments, rather than a full
      specification
  •   The overall system architecture should support the addition of any feature at any time
  •   Making the system change-tolerant is the key challenge that software architects are
      facing now

– Deliver Fast
  •   The “Queuing Theory” applies to development teams as well, not just to mainframes
  •   Progress in small iterations will allow making enhancements available to customers
      very quickly, instead of waiting for a final shipment

– Respect People
  •   effective leadership, which encourages pride, commitment, respect, and trust. Within
      such a climate, existing talent can unfold its creativity, intelligence and decisiveness
  •   Encouraging self-responsibility and autonomy of teams is one key reason for the
      remarkable efficiency of lean enterprises
LEAN SOFTWARE DEVELOPMENT
– Optimize the Whole
 •   looking at the entire value stream: What is necessary to deliver a successful and
     profitable product?
 •   both the product itself as well as the process for developing the product, needs to be
     reviewed continuously
TRADITIONAL PROCESS




                      Time
   50% Done?
APPLYING LEAN PRINCIPLES TO SWD




End-to-End small
                   20 % done = 100 % usable
slices of work
APPLYING LEAN PRINCIPLES TO SWD
CONTENTS

The Story of Software Development
Lean Thinking
Agile Values and Principles
Summary/Review
NEW METHODOLOGIES
 XP     • Extreme Programming
FDD     • Feature Driven Development
Scrum   • Agile Methodology
DSDM    • Dynamic System Development Method
RUP     • Rational Unified Process
AUP     • Agile Unified Process
AMDD    • Agile Model Driven Development
AGILE MANIFESTO
– “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.”


           © 2001 Agile Alliance. http://www.agilemanifesto.org
PRINCIPLES BEHIND THE MANIFESTO
– 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 a preference to the shorter timescale.
– Business people and developers must work together daily
  throughout the project.
PRINCIPLES BEHIND THE MANIFESTO
– Build projects around motivated individuals. Give them the
  environment and support they need, and trust them to get the job
  done.
– 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.
CONTENTS

The Story of Software Development
Lean Thinking
Agile Values and Principles
Summary/Review
USE OF AGILE METHODS
– Helps handle changing requirements & priorities
– Lowers cost of change
– Provides better visibility into project progress
– Reduces risk
– Maximizes return on investment (business value prioritized)
– Encourages higher quality, simpler code
– Delivers business value early & often
WITH RESPECT … TO
– Courage!!
– Constant Business involvement
– A need for more Discipline
– Greater emphasis on Testing
– Whole Organization Involvement
– Last but not the least, with an OPEN MIND
PART II

TEST DRIVEN
DEVELOPMENT




Bahaa Farouk
CONTENTS

What is unit testing?
Why do I want it?
What’s NUnit?
Why test first?
WHAT’S UNIT TESTING


 A UNIT TEST IS A TEST
 OF A SMALL FUNCTIONAL PIECE OF CODE


 Public bool IsLoginOK(string user, string password)
 {
 //…………………………
 }
DEVELOPER LIVES EASIER


– Easier to find bugs
– Easier to maintain
– Easier to understand
– Easier to Develop
ALREADY DONE UNIT TESTING

– Not structured
– Not Repeatable
– Not on all your code
– Not easy to do as it should be


– A framework is missing
THE XUNIT FRAMEWORKS

– Original was for SmallTalk
   − Kent Beck and Erich Gamma

– Ported to Various languages and platforms
   − JUnit, CppUnit, DUnit, VBUnit, RUnit, PyUnit, Sunit, HtmlUnit, …
   − Good list at www.xprogramming.com

– Standard test architeture


– Introducing NUnit
HOW WE USE NUNIT

– Write Tests
  •   Make it easy to create and organize tests
  •   Reference an assembly, spread some attributes, you’re done



– Run Tests
  •   Allow running all of our tests, a group or just one.
  •   From command line or GUI



– Review Results
  •   Immediate Pass/Fail feedback
  •   Details on each failure
  •   Able to generate XML reports
PART III

DIFFERENT
METHODOLOGIES




Bahaa Farouk
CONTENTS

XP
RUP
SCRUM
XP
– Pair programming, Refactoring, Simplicity, Planning game, Small
  releases
– Continuous integration, Continuous testing,
– Collective code ownership, Sustainable pace, Coding standards, On-
  site customer
– Story cards, Prototype UI and UI navigation, Stand-up meeting
– Iteration completeness
RUP
SCRUM
PART IV

PROJECT
PLANNING &
ARCHITECTURE




Bahaa Farouk
AGILE PLANNING
FEATURES VS. TIME
PLAN ITERATIONS
ARCHITECTURE
– Keep it simple
  •   A complex system should be split
  into smaller subsystems

– Keep it flexible
  •   a versatile product needs to
  be highly customizable to fit into many different environments

– Keep it small
  •   can be described and implemented
  within a single iteration

– Keep it transparent
  •   design needs to be discussed with the
  people who need to understand it

– Keep it vital
  •   architecture is something that must be
  complete before any development takes place
REFERENCES
– http://www.slideshare.net/Siddhi/intro-to-agile
– Agile Software Development, Best Practices for Large Software
  Development Projects
– 2003 - Rueping - Agile Documentation A Pattern Guide to Producing
  Lightweight Documents for Software Projects
– HP What is Agile
– Coaching.Agile.Teams
THANKS

More Related Content

What's hot

Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentationgihanlsw
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile MethodologyNiel Deckx
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basicsArun R
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentationdeyoepw
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training ProcessClarion Marketing
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overviewsunilkumar_
 
Agile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An IntroductionAgile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An IntroductionXBOSoft
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentTathagat Varma
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummiesVinay Dixit
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewDUONG Trong Tan
 

What's hot (20)

Agile overview
Agile overviewAgile overview
Agile overview
 
Reducing Cost With Agile
Reducing Cost With AgileReducing Cost With Agile
Reducing Cost With Agile
 
AGILE METHODOLOGY
AGILE METHODOLOGYAGILE METHODOLOGY
AGILE METHODOLOGY
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
 
Scrum artifacts
Scrum artifactsScrum artifacts
Scrum artifacts
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Scrum 101
Scrum 101 Scrum 101
Scrum 101
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training Process
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 
Agile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An IntroductionAgile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An Introduction
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Introducing scrum
Introducing scrumIntroducing scrum
Introducing scrum
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummies
 
PMBoK and Scrum: can we be friends?
PMBoK and Scrum: can we be friends?PMBoK and Scrum: can we be friends?
PMBoK and Scrum: can we be friends?
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Viewers also liked

Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandranAbhilash Chandran
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumLemi Orhan Ergin
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To JiraHua Soon Sim
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software DevelopmentBahaa Farouk
 
Fun Facts About Domains from AirFreight.com Owner Dan Boaz
Fun Facts About Domains from AirFreight.com Owner Dan Boaz Fun Facts About Domains from AirFreight.com Owner Dan Boaz
Fun Facts About Domains from AirFreight.com Owner Dan Boaz Dan Boaz
 
Rhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourRhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourCaoilte Dunne
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 sJames Sutter
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basicsEdwin Dando
 
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLON
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLONSearch Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLON
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLONAleyda Solís
 
Career building and Skills Development
Career building and Skills DevelopmentCareer building and Skills Development
Career building and Skills DevelopmentBahaa Farouk
 
Origins & Overview of Lean and Agile
Origins & Overview of Lean and AgileOrigins & Overview of Lean and Agile
Origins & Overview of Lean and AgileGeorg Fasching
 
20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jiraMT AG
 
City Limits: The Urbanisation Challenge
City Limits: The Urbanisation ChallengeCity Limits: The Urbanisation Challenge
City Limits: The Urbanisation ChallengeAuckland Conversations
 

Viewers also liked (20)

Jira Agile
Jira AgileJira Agile
Jira Agile
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To Jira
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software Development
 
QualiTech Profile
QualiTech ProfileQualiTech Profile
QualiTech Profile
 
Fun Facts About Domains from AirFreight.com Owner Dan Boaz
Fun Facts About Domains from AirFreight.com Owner Dan Boaz Fun Facts About Domains from AirFreight.com Owner Dan Boaz
Fun Facts About Domains from AirFreight.com Owner Dan Boaz
 
Rhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourRhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavour
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Agile 101
Agile 101Agile 101
Agile 101
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basics
 
M-Brokrage
M-BrokrageM-Brokrage
M-Brokrage
 
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLON
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLONSearch Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLON
Search Keyword & Social Data Mining by @Aleyda from @WooRank at #SESLON
 
Career building and Skills Development
Career building and Skills DevelopmentCareer building and Skills Development
Career building and Skills Development
 
Origins & Overview of Lean and Agile
Origins & Overview of Lean and AgileOrigins & Overview of Lean and Agile
Origins & Overview of Lean and Agile
 
20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jira
 
City Limits: The Urbanisation Challenge
City Limits: The Urbanisation ChallengeCity Limits: The Urbanisation Challenge
City Limits: The Urbanisation Challenge
 
Jira
JiraJira
Jira
 

Similar to Agile Overview Session

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...Philippe Krief
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life CycleKumar
 
Engineering DevOps Right the First Time
Engineering DevOps Right the First TimeEngineering DevOps Right the First Time
Engineering DevOps Right the First TimeMarc Hornbeek
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 

Similar to Agile Overview Session (20)

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Engineering DevOps Right the First Time
Engineering DevOps Right the First TimeEngineering DevOps Right the First Time
Engineering DevOps Right the First Time
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 

More from Bahaa Farouk

Blockchain FinTech App | Land Registry
Blockchain FinTech App | Land RegistryBlockchain FinTech App | Land Registry
Blockchain FinTech App | Land RegistryBahaa Farouk
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF OverviewBahaa Farouk
 
Core web application development
Core web application developmentCore web application development
Core web application developmentBahaa Farouk
 
Scrum Agile Methodlogy
Scrum Agile MethodlogyScrum Agile Methodlogy
Scrum Agile MethodlogyBahaa Farouk
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development ProcessBahaa Farouk
 

More from Bahaa Farouk (7)

Blockchain FinTech App | Land Registry
Blockchain FinTech App | Land RegistryBlockchain FinTech App | Land Registry
Blockchain FinTech App | Land Registry
 
Being Architect
Being ArchitectBeing Architect
Being Architect
 
ESB Overview
ESB OverviewESB Overview
ESB Overview
 
Oracle ADF Overview
Oracle ADF OverviewOracle ADF Overview
Oracle ADF Overview
 
Core web application development
Core web application developmentCore web application development
Core web application development
 
Scrum Agile Methodlogy
Scrum Agile MethodlogyScrum Agile Methodlogy
Scrum Agile Methodlogy
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development Process
 

Recently uploaded

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 

Recently uploaded (20)

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Agile Overview Session

  • 2. CONTENTS The Story of Software Development Lean Thinking Agile Values and Principles Summary/Review
  • 3. THE STORY OF SOFTWARE DEVELOPMENT – We started off with Software Engineering – IEEE defines Software Engineering as: “Software Engineering is the application of a systematic, disciplined, quantifiable approach to development, operation and maintenance of software: that is, the application of engineering to software.” IEEE Standard Computer Dictionary,
  • 4. WHO DOES SOFTWARE ENGINEERING? – NASA For the space shuttle’s operating system
  • 5. NASA’S DEFECT DENSITY – The last 11 versions of the space shuttle’s 420,000 line systems had a total of 17 defects.
  • 6. MISSILE DEFENSE SYSTEM – 1969-1975, 5407 person years – Hardware designed at the same time as software specs being written – Late changes in requirements not an option Code & – Did it Succeed? Unit Test 18% Design 20% Integration Testing 42% Requireme nts 20%
  • 7. MISSILE DEFENSE SYSTEM – Revised Project Statistics – The project was delivered according to specifications – Cost: $25 Billion (not adjusted) – 1969-1975, 5407 person years Operational for 133 days - Project terminated in 1978 “By the time the 6-year anti-missile system project was completed, the new missiles were faster than the antimissile missiles”
  • 8. WHERE DID THINGS GO WRONG? – Software Engineering is a heavy weight methodology and such heavy weight methodologies characteristically are most successful when: – Requirements are stable – Technology is well known and mature – Everything happens as one would expect – We are not taking on anything new or unknown – We have done this many times before
  • 9. CONTENTS The Story of Software Development Lean Thinking Agile Values and Principles Summary/Review
  • 10. LEAN THINKING – Based on the best practices of lean production: – The Toyota Production System, 1988 (1978), Taichii Ohno • Pull Scheduling - Just-in-Time Flow • Expose Problems - Stop-the-Line Culture – Study Of ‘Toyota’ Production System, 1981, Shigeo Shingo • Non-Stock Production - Single Minute Setup • Zero Inspection – Automatic Error Detection at Every Step
  • 11. LOWER COST OF CHANGE THROUGH HIGHER QUALITY SOFTWARE
  • 12. LEAN SOFTWARE DEVELOPMENT – Eliminate Waste • Any development work unrelated to customer value has to be avoided • administration and project management • 20% of your features will give 80% of a product’s value – Focus on Learning • encourage prototyping as a source for feedback and improvements • prototype is a good way to challenge and improve currently existing standards. – Build Quality In • test driven development creates proper working code from the beginning • Code is integrated and verified continuously by the developer who is implementing the use case • Quality implies that the customers’ expectations are met.
  • 13. LEAN SOFTWARE DEVELOPMENT – Defer Commitment • the development needs to be approached in many small increments, rather than a full specification • The overall system architecture should support the addition of any feature at any time • Making the system change-tolerant is the key challenge that software architects are facing now – Deliver Fast • The “Queuing Theory” applies to development teams as well, not just to mainframes • Progress in small iterations will allow making enhancements available to customers very quickly, instead of waiting for a final shipment – Respect People • effective leadership, which encourages pride, commitment, respect, and trust. Within such a climate, existing talent can unfold its creativity, intelligence and decisiveness • Encouraging self-responsibility and autonomy of teams is one key reason for the remarkable efficiency of lean enterprises
  • 14. LEAN SOFTWARE DEVELOPMENT – Optimize the Whole • looking at the entire value stream: What is necessary to deliver a successful and profitable product? • both the product itself as well as the process for developing the product, needs to be reviewed continuously
  • 15. TRADITIONAL PROCESS Time 50% Done?
  • 16. APPLYING LEAN PRINCIPLES TO SWD End-to-End small 20 % done = 100 % usable slices of work
  • 18. CONTENTS The Story of Software Development Lean Thinking Agile Values and Principles Summary/Review
  • 19. NEW METHODOLOGIES XP • Extreme Programming FDD • Feature Driven Development Scrum • Agile Methodology DSDM • Dynamic System Development Method RUP • Rational Unified Process AUP • Agile Unified Process AMDD • Agile Model Driven Development
  • 20. AGILE MANIFESTO – “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.” © 2001 Agile Alliance. http://www.agilemanifesto.org
  • 21. PRINCIPLES BEHIND THE MANIFESTO – 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 a preference to the shorter timescale. – Business people and developers must work together daily throughout the project.
  • 22. PRINCIPLES BEHIND THE MANIFESTO – Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. – 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.
  • 23. CONTENTS The Story of Software Development Lean Thinking Agile Values and Principles Summary/Review
  • 24. USE OF AGILE METHODS – Helps handle changing requirements & priorities – Lowers cost of change – Provides better visibility into project progress – Reduces risk – Maximizes return on investment (business value prioritized) – Encourages higher quality, simpler code – Delivers business value early & often
  • 25. WITH RESPECT … TO – Courage!! – Constant Business involvement – A need for more Discipline – Greater emphasis on Testing – Whole Organization Involvement – Last but not the least, with an OPEN MIND
  • 27. CONTENTS What is unit testing? Why do I want it? What’s NUnit? Why test first?
  • 28. WHAT’S UNIT TESTING A UNIT TEST IS A TEST OF A SMALL FUNCTIONAL PIECE OF CODE Public bool IsLoginOK(string user, string password) { //………………………… }
  • 29. DEVELOPER LIVES EASIER – Easier to find bugs – Easier to maintain – Easier to understand – Easier to Develop
  • 30. ALREADY DONE UNIT TESTING – Not structured – Not Repeatable – Not on all your code – Not easy to do as it should be – A framework is missing
  • 31. THE XUNIT FRAMEWORKS – Original was for SmallTalk − Kent Beck and Erich Gamma – Ported to Various languages and platforms − JUnit, CppUnit, DUnit, VBUnit, RUnit, PyUnit, Sunit, HtmlUnit, … − Good list at www.xprogramming.com – Standard test architeture – Introducing NUnit
  • 32. HOW WE USE NUNIT – Write Tests • Make it easy to create and organize tests • Reference an assembly, spread some attributes, you’re done – Run Tests • Allow running all of our tests, a group or just one. • From command line or GUI – Review Results • Immediate Pass/Fail feedback • Details on each failure • Able to generate XML reports
  • 35. XP – Pair programming, Refactoring, Simplicity, Planning game, Small releases – Continuous integration, Continuous testing, – Collective code ownership, Sustainable pace, Coding standards, On- site customer – Story cards, Prototype UI and UI navigation, Stand-up meeting – Iteration completeness
  • 36. RUP
  • 37. SCRUM
  • 42. ARCHITECTURE – Keep it simple • A complex system should be split into smaller subsystems – Keep it flexible • a versatile product needs to be highly customizable to fit into many different environments – Keep it small • can be described and implemented within a single iteration – Keep it transparent • design needs to be discussed with the people who need to understand it – Keep it vital • architecture is something that must be complete before any development takes place
  • 43. REFERENCES – http://www.slideshare.net/Siddhi/intro-to-agile – Agile Software Development, Best Practices for Large Software Development Projects – 2003 - Rueping - Agile Documentation A Pattern Guide to Producing Lightweight Documents for Software Projects – HP What is Agile – Coaching.Agile.Teams