Agile Software Development Paradigms Start with the Manifesto












- Slides: 12
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 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 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 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 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 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 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 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 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 • 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 – 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 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.