[ESD] Ahmed Abdelrahman - Agile Software Development

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

The way to agile:

The way to agile 1

Introductions:

First things first Introductions

A Quick Introduction:

A Quick Introduction Ahmed Abdurrahman Senior SW Developer @Raya Software Agile Educator, Coach and Consultant Over 5 years of dev and delivery experience Over 2 year of adopting Agile B.Sc. in Computer Science – Faculty of Computers & Information - Cairo University

Agenda:

Agile Practices Agile Principles Agenda Agile Values The need to respond to constant change

The bigger picture The need to respond to constant change:

Hyper performing organizations The bigger picture The need to respond to constant change

Challenged Projects:

Challenged Projects USA : $80-145 billion per year is spent on failed and cancelled projects UK :12 out of 18 Large IT projects have failed Standish Report - 2006

Challenged Projects:

Challenged Projects KPMG Canada Survey (1995) 176 IT Projects 61% deemed to have failed The Chaos Report (1995) 8,380 IT Projects 31% cancelled before they ever get completed 52% cost 190% of the original estimate

The Cost of a Challenged Project:

The Cost of a Challenged Project Project Result IRS Project on Taxpayer Compliance 10 Years over-schedule $50 Billion over cost Department of Homeland Security Emerge2 - Financial System Failed - Canceled after $229 Million US Justice Department Virtual Case File Project Failure - after 5 years and $104 million - 400 Requirement Changes in 18 months California DMV - revamp driver license registration application process Cancelled after $45 million invested over six years London Stock Exchange - paperless share settlement system Cancelled after 10 years at 13,200 % percent over budget

Conclusion:

Conclusion IT Cortex Conclusion an IT project is more likely to be unsuccessful than successful About 20% of IT projects is likely to bring full satisfaction There is a big challenge!

Main Causes of SW Crisis:

Main Causes of SW Crisis What is the most successful industry now a days? CONSTRUCTION industry Lets use its methodologies …

Looks Familiar ?:

Looks Familiar ? Dr. Winston W. Royce The Waterfall Model 1970. "Managing the Development of Large Software Systems: Concepts and Techniques". In: Technical Papers of Western Electronic Show and Convention ( WesCon ) August 25-28, 1970, Los Angeles, USA. “ ”

Be the customer … just for a minute:

Be the customer … just for a minute

Feature Usage:

Source: Jim Johnson of the Standish Group, Keynote Speech XP 2002 Always Often Sometimes Rarely Never Feature Usage

The Nature of sw development:

The Nature of sw development

Is software development a defined process?:

Is software development a defined process? Given the same exact inputs (including people) Will we get the same results every time Can we even have the same exact inputs every time Is every task completely understood? Is it possible to first complete specifications, and then build ? It is possible to identify, define, schedule, and order all the detailed activities. Ex. Construction, Railway

Empirical Processes:

Empirical Processes Predictable Manufacturing (Defined Process) New Product Development (Empirical Process) It is possible to first complete specifications, and then build. Rarely possible to create upfront unchanging and detailed specs. Near the start, one can reliably estimate effort and cost. Near the beginning, it is not possible. As empirical data emerge, it becomes increasingly possible to plan and estimate. It is possible to identify, define, schedule, and order all the detailed activities. Near the beginning, it is not possible. Adaptive steps driven by build-feedback cycles are required. Adaptation to unpredictable change is not the norm, and change-rates are relatively low. Creative adaptation to unpredictable change is the norm. Change rates are high. Source: IBM Global Services – Dr. Christoph Steindle

Empirical Processes :

Empirical Processes Specs & Requirements are constantly changing. As empirical data emerge, it becomes increasingly possible to plan and estimate . Adaptive steps driven by build-feedback cycles are required . Change rate is high. Ex. Driving from 6 October to Airport

Traditional Approach to SW Development:

Traditional Approach to SW Development “Try Harder, I am sure it will work !!!” “Great, I think it worked”

3 Things ...:

We wish were true The customer knows exactly what they want The developers know exactly how to build it Nothing will change along the way We have to live with The customer discovers what he wants The developers discover how to build it Many things change along the way 3 Things ...

The Cone of Uncertainty :

The Cone of Uncertainty

The Key to Empirical Processes:

The Key to Empirical Processes Inspect and Adapt Product (Changing Requirements / Scoping Features) Process (Engineering and Management Practices)

Software is like a Baby :

Software is like a Baby You do not grow arms when you are 6 years old You lose and change teeth during your lifetime

Tahrir Square:

Tahrir Square London Square

# tahrir:

# tahrir Who was the leader? We were SELF ORGANIZED What was the plan? There wasn’t, we were VALUE DRIVEN What was our key?

Inspect ....:

Inspect ....

& Adapt …:

& Adapt …

Inspect …:

Inspect …

& Adapt …:

& Adapt …

Inspect …:

Inspect …

& Adapt …:

& Adapt …

Till You Reach The Goal:

Till You Reach The Goal

The start of agile:

The start of agile The Year 2001

Quick History of Agile:

Quick History of Agile Software Crisis (1960’s) Software intensive systems delivered late, over budget and do not meet the quality requirements Solution attempt #1: Structured Methods (in 1970’s) Solution attempt #2: Object Oriented Methodologies Chronic Software Crisis (1990’s) Software intensive systems still delivered late, over budget and do not meet the quality requirements Solution attempt #3: Software process improvement Solution attempt #4: Agile development methodologies

Light-Weight “Pre-Agile” Methodologies:

Light-Weight “Pre-Agile” Methodologies Extreme Programming (Kent Beck, Ward Cunningham, Ron Jeffries - 1999) Scrum (Ken Schwaber and Jeff Sutherland) Lean Software Development (Mary and Tom Poppendieck ) Crystal Methods (Alistair Cockburn) Feature Driven Development (Jeff Deluca) Dynamic Systems Development Method (DSDM Consortium )

2001: The Agile Manifesto (Agile Values) :

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: The Agile Manifesto (Agile Values)

Agile Principles (1/4):

Agile Principles (1/4) Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Agile Principles (2/4):

Agile Principles (2/4) Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is? face-to-face conversation

Agile Principles (3/4):

Agile Principles (3/4) Working software is the primary measure of progress. Agile processes promote sustainable development. Continuous attention to technical excellence and good design enhances agility.

Agile Principles (4/4):

Agile Principles (4/4) Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile in a word:

Agile is a mindset defined by values guided by principles and manifested through many different practices Agile in a word

Agile is NOT ...:

Agile is NOT ... NOT New NOT A silver bullet NOT Without planning, documentation, architecture & design NOT License to hack NOT An excuse for poor quality NOT Undisciplined NOT Unproven

Agile at a Glance:

Agile Practices Agile Principles Agile at a Glance The fundamental reason for a “new” paradigm Defines the set of most important beliefs of what is truly important Defines a set of ways to meet the values Defines in detail how this is implemented in practice Agile Values The need to respond to constant change

Agile Practices:

Agile Practices Agile Team Room Self Organizing Teams Releases / Iterations Time boxing Retrospectives Pair Programming Test Driven Development Continuous Integration Refactoring Much Much More ...

Agile Practices:

Agile Practices Pair Programming Automated Unit Testing Test Driven Development Continuous Integration Refactoring Much Much More ... Self Organizing Teams Release Planning Iteration Planning Deliver Frequently Time boxing Client-Driven Iterations Retrospectives Team Room

Q: Keys to empirical process?:

Q: Keys to empirical process? Is your personal life an empirical process or defined process? Name 2 keys for your personal life sucess

Slide 46:

Q & A

Thank you:

Thank you

authorStream Live Help