Agile Software Development Paradigms Start with the Manifesto

  • Slides: 12
Download presentation
Agile Software Development Paradigms Start with the Manifesto. Creative Commons License – Curt Hill.

Agile Software Development Paradigms Start with the Manifesto. Creative Commons License – Curt Hill.

Introduction • Agile Software Development is a reaction to the problems of software development

Introduction • Agile Software Development is a reaction to the problems of software development commonly found in businesses • Therefore a number of developers wrote the Agile Manifesto to lay the foundation for an alternative way – This occurred in February of 2001 • These were representatives from several different paradigms Creative Commons License – Curt Hill.

Signatories: A Who’s Who of OO • • • Kent Beck Mike Beedle Arie

Signatories: A Who’s Who of OO • • • Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt • • Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Creative Commons License – Curt Hill.

Assignment • Each of the above signatories is comparatively famous – At least compared

Assignment • Each of the above signatories is comparatively famous – At least compared to your professor • Each of you will do a brief report on a different one that includes: – Birth date – Agile methodology connected with – A book that they have written – Company currently connected with – Any OO technique connected with • Word document of less than one page Creative Commons License – Curt Hill.

We Value Processes and tools Comprehensive documentation Individuals and interactions over Working software over

We Value Processes and tools Comprehensive documentation Individuals and interactions over Working software over Customer collaboration over Contract negotiation Responding to change over Following a plan • While there is value in the items on the right, we value the items on the left more Creative Commons License – Curt Hill.

Principles 1 -3 • Our highest priority is to satisfy the customer through early

Principles 1 -3 • 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 Creative Commons License – Curt Hill.

Principles 4 -6 • Business people and developers must work together daily throughout the

Principles 4 -6 • Business people and developers must work together daily throughout the project • Build projects around motivated individuals – Give them the environment and support they need – 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 Creative Commons License – Curt Hill.

Principles 7 -9 • Working software is the primary measure of progress • Agile

Principles 7 -9 • 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 • Continuous attention to technical excellence and good design enhances agility Creative Commons License – Curt Hill.

Principles 10 -12 • Simplicity--the art of maximizing the amount of work not done--is

Principles 10 -12 • Simplicity--the art of maximizing the amount of work not done--is essential • The best architectures, requirements, and designs emerge from selforganizing teams • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly Creative Commons License – Curt Hill.

Development Methodology? • In a real sense agile is not a software development methodology

Development Methodology? • In a real sense agile is not a software development methodology • Rather it is a set of principles • Many different software development methodologies are quite different, yet still agile • Thus agile is a family of methodologies with similar values Creative Commons License – Curt Hill.

Examples • The most important versions of agile today seem to be: – Scrum

Examples • The most important versions of agile today seem to be: – Scrum – Kanban – XP • These and others will be considered • All agile methods have fans and detractors • Converting to an agile method can be particularly difficult – The mindset is different Creative Commons License – Curt Hill.

Finally • Now that we have seen these principles, we can look at all

Finally • Now that we have seen these principles, we can look at all of the agile methods • Ask the questions when we consider: – What are the characteristics of each? – Where do they live up to the manifesto? – Where do they not live up to the manifesto? Creative Commons License – Curt Hill.