SlideShare une entreprise Scribd logo
1  sur  44
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 
Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 

Similaire à 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
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 

Plus de 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
 

Plus de 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
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

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