EUGENIO ROMANO
AGILE DEVELOPMENT CHAPTER 1
Agile Software Development,
Principles, Patterns, and Practices
AGILE DEVELOPMENT
• Human interactions are complicated and
never very crisp and clean in their effects, but they matter more than
any other aspect of the work. — Tom de Marco and Timothy Lister.
• Principles, patterns are important but it’s people that make it works
• If our projects are to succeed, we are going to have to build
collaborative and self-organizing teams
AGILE PRACTICES
• Lack of effective practices leads to
unpredictability, repeated error, and wasted
effort resulting in slipping schedules, growing
budget and poor quality
• How we solve it? We can create constraints to
avoid errors
• Big cumbersome process can create the very
problems that Is designed to prevent . Slipping
schedules, growing budget and poor quality
AGILE ALLIANCE MANIFESTO
• INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
• WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
• CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
• RESPONDING TO CHANGE OVER FOLLOWING A PLAN
INDIVIDUALS AND
INTERACTIONS OVER
PROCESSES AND TOOLS
• A GOOD PROCESS WILL NOT SAVE THE PROJECT
FORM A FAILURE IF THE TEAM DOESN’T HAVE
STRONG PLAYERS BUT A BAD PROCESS CAN MAKE
EVEN THE STRONGEST OF PLAYER INEFFECTIVE
• A TEAM OF AVERAGE PROGRAMMERS WHO
COMMUNICATE WELL ARE MORE LIKELU TO
SUCCED THAN A GROUP OF SUPERSTARS WHO
FAIL TO INTERACT AS A TEAM
WORKING SOFTWARE OVER
COMPREHENSIVE DOCUMENTATION
• SOFTWARE WITHOUT DOCUMENTATION IS A DISASTER.
TEAMS NEEDS TO PRODUCE HUMAN REDABLE DOCUMENTS
THAT DESCRIBE THE SYSTEM
• TOO MUCH DOCUMENTATION IS WORST THANT TOO LITTLE:
• DIFFICULT TO KEEP IN SYNC, NEEDS TIME TO PRODUCE
• DOCUMENTS NEED TO BE SHORT AND SALIENT
• TWO BEST DOUCMENT FOR NEW TEAM MEMBERS ARE THE
CODE AND THE TEAM (HUMAN TO HUMAN INTERACTION)
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
• YOU CANNOT WRITE A DESCRIPTION OF THE SOFTWARE YOU WANT
AND THEN HAVE SOMEONE DEVELOP IT IN A FIXED SCHEDULE FOR A
FIXED PRICE
• SUCCESSFUL PROJECTS IVOLVE FREQUENT CUSTOMER FEEDBACK
• THE BEST CONTRACT ARE THE CONTRACT WHERE THAT DESCRIBE
HOW THE CUSTOMER AND DEVELOPER INTERACT
• REQUIREMENTS OF A PROJECT CAN BE IN A COSTANT STAT OF FLUX .
MAJOR CHANGE TO THE ORIGINAL PLAN ARE ADDIMTTED AND
NORMAL
RESPONDING TO CHANGE OVER
FOLLOWING A PLAN
• IS THE ABILITY TO RESPOND TO CHANGE THAT OFTEN DETERMINE IF A
PROJECT SUCCED OR FAIL
• PLAN HAS TO BE FLEXIBLE, YOU CAN NOT PLANING TOO FAR IN THE
FUTURE.
• GOOD RECIPE FOR THE RIGHT PLANING STARTEGY:
• DETAILED PLAN FOR THE NEXT 2 WEEKS
• ROUGH PLAN NEXT 3 MONTHS
• CRUDE PLAN BEYOND THAT

Agile software development, principles, patterns, and practices Chapter 1

  • 1.
    EUGENIO ROMANO AGILE DEVELOPMENTCHAPTER 1 Agile Software Development, Principles, Patterns, and Practices
  • 2.
    AGILE DEVELOPMENT • Humaninteractions are complicated and never very crisp and clean in their effects, but they matter more than any other aspect of the work. — Tom de Marco and Timothy Lister. • Principles, patterns are important but it’s people that make it works • If our projects are to succeed, we are going to have to build collaborative and self-organizing teams
  • 3.
    AGILE PRACTICES • Lackof effective practices leads to unpredictability, repeated error, and wasted effort resulting in slipping schedules, growing budget and poor quality • How we solve it? We can create constraints to avoid errors • Big cumbersome process can create the very problems that Is designed to prevent . Slipping schedules, growing budget and poor quality
  • 4.
    AGILE ALLIANCE MANIFESTO •INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS • WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION • CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION • RESPONDING TO CHANGE OVER FOLLOWING A PLAN
  • 5.
    INDIVIDUALS AND INTERACTIONS OVER PROCESSESAND TOOLS • A GOOD PROCESS WILL NOT SAVE THE PROJECT FORM A FAILURE IF THE TEAM DOESN’T HAVE STRONG PLAYERS BUT A BAD PROCESS CAN MAKE EVEN THE STRONGEST OF PLAYER INEFFECTIVE • A TEAM OF AVERAGE PROGRAMMERS WHO COMMUNICATE WELL ARE MORE LIKELU TO SUCCED THAN A GROUP OF SUPERSTARS WHO FAIL TO INTERACT AS A TEAM
  • 6.
    WORKING SOFTWARE OVER COMPREHENSIVEDOCUMENTATION • SOFTWARE WITHOUT DOCUMENTATION IS A DISASTER. TEAMS NEEDS TO PRODUCE HUMAN REDABLE DOCUMENTS THAT DESCRIBE THE SYSTEM • TOO MUCH DOCUMENTATION IS WORST THANT TOO LITTLE: • DIFFICULT TO KEEP IN SYNC, NEEDS TIME TO PRODUCE • DOCUMENTS NEED TO BE SHORT AND SALIENT • TWO BEST DOUCMENT FOR NEW TEAM MEMBERS ARE THE CODE AND THE TEAM (HUMAN TO HUMAN INTERACTION)
  • 7.
    CUSTOMER COLLABORATION OVERCONTRACT NEGOTIATION • YOU CANNOT WRITE A DESCRIPTION OF THE SOFTWARE YOU WANT AND THEN HAVE SOMEONE DEVELOP IT IN A FIXED SCHEDULE FOR A FIXED PRICE • SUCCESSFUL PROJECTS IVOLVE FREQUENT CUSTOMER FEEDBACK • THE BEST CONTRACT ARE THE CONTRACT WHERE THAT DESCRIBE HOW THE CUSTOMER AND DEVELOPER INTERACT • REQUIREMENTS OF A PROJECT CAN BE IN A COSTANT STAT OF FLUX . MAJOR CHANGE TO THE ORIGINAL PLAN ARE ADDIMTTED AND NORMAL
  • 8.
    RESPONDING TO CHANGEOVER FOLLOWING A PLAN • IS THE ABILITY TO RESPOND TO CHANGE THAT OFTEN DETERMINE IF A PROJECT SUCCED OR FAIL • PLAN HAS TO BE FLEXIBLE, YOU CAN NOT PLANING TOO FAR IN THE FUTURE. • GOOD RECIPE FOR THE RIGHT PLANING STARTEGY: • DETAILED PLAN FOR THE NEXT 2 WEEKS • ROUGH PLAN NEXT 3 MONTHS • CRUDE PLAN BEYOND THAT