Presentation is loading. Please wait.

Presentation is loading. Please wait.

The New Methodology Martin Fowler Paper Presented by Vyshali Belagodu

Similar presentations


Presentation on theme: "The New Methodology Martin Fowler Paper Presented by Vyshali Belagodu"— Presentation transcript:

1 The New Methodology Martin Fowler Paper Presented by Vyshali Belagodu
Online Paper Paper Presented by Vyshali Belagodu Sujan Kapadia Jason Franklin

2 Contents Introduction Predictive versus Adaptive Putting People First
Self-Adaptive Process Methodologies Should you go agile?

3 Introduction From “code and fix” to “monumental methodologies” to “agile methodologies” Agile methods are rather code-oriented and less document-oriented Agile methods are Adaptive rather than predictive People-oriented rather than process-oriented

4 Predictive versus Adaptive
Separate Design and Construction Get a design that can turn coding into a construction activity? The cost of this small enough to be worthwhile? Construction is cheap! All effort is in design which requires creative and talented people Cannot plan creative processes easily

5 Predictive versus Adaptive
Unpredictability of Requirements “the problem with this project is that the requirements are always changing” Understanding the options for requirements is tough Estimation is hard Difficult to determine the value of a software feature until it’s used Cannot get a predictable plan without stable requirements

6 Predictive versus Adaptive
Is predictability impossible? Can’t pretend to follow a predictable process when the situation is not predictable How to control over unpredictable world? Getting feedback frequently through iterations Produce working versions frequently that have a subset of the required features

7 Predictive versus Adaptive
How long should an iteration be? Adaptive process work if the customer is also adaptive A good predictive project will go according to plan, a good agile project will build something different and better than the original plan foresaw

8 Putting People First Are software developers replaceable parts?
Process, process, process! Most companies strive toward predictable processes (think the race to CMMI Level 5…) Management assumes programmers are predictable as well People are not predictable by nature!

9 “Plug Compatible” Fowler calls these predictable programmers “plug compatible programming units” Software is highly creative and professional work – if you treat developers like drones, they won’t stay long

10 Hey, we’re professional too!
Contrasts to Frederick Taylor’s theory: those who are working shouldn’t decide how to work (this is manager’s job) No, software developers are bright and professional – they should decide how to conduct technical work Fowler thinks we’re attracted to software development by its glitz and money (??)

11 People Oriented Processes
Agile development – people accept the process, not imposed by managers Therefore process are not just strict rules, but become molded into the work Developers and managers have an equal place at work – developers make all technical decisions

12 Measuring the immeasurable
Traditional measurement-based management is prone to flaw and inaccuracy Only works for simple work – quickly becomes inaccurate for large projects So use delegatory style of management (doers decide how to work)

13 The Role of Business Leadership
Technical people are just that: technical So they need to be in close contact with customers and those of business expertise Agile development says things always change – so you need to adapt and therefore need to be close to customer, etc. Should you go agile?

14 Self-Adaptive Process
Use adaptive processes: at the end of an iteration, ask yourself: What did we do well? What have we learned? What can we do better? Then tune the process according to the task or project at hand

15 Methodologies Extreme Programming (XP) Cockburn's Crystal Family
Communication, Feedback, Simplicity, and Courage Strong emphasis on testing Cockburn's Crystal Family Less productive than XP however more people will be able to follow it Encourages the process to be self-improving Open Source Style of software, not so much a process There is a way things are done that can be brought to closed systems

16 Methodologies (con’t)
Highsmith’s Adaptive Software Development Speculation, collaboration, and learning Fosters collaboration and learning within the project Scrum Short term rapid development 15 min scrums to allow management to find out progress and things that are blocking progress Feature Driven Development Short iterations that deliver tangible functionality Has five processes: Develop an Overall Model, Build a Features List, Plan by Feature, Design by Feature, Build by feature

17 Methodologies (con’t)
DSDM (Dynamic System Development Method) Notable for having much of the infrastructure of more mature traditional methodologies Following the principles of the agile methods approach Rational Unified Process Process that goes with UML Too open ended, can be agile but can also be traditional Example of a good iteration is dX Process combining XP with RUP

18 Should you go agile? Can work for small or medium teams
Yes (go agile!): Uncertain or volatile requirements Responsible and motivated developers Customer who understands and is involved No (go predictive!): A team over a hundred Fixed price, or fixed scope contract


Download ppt "The New Methodology Martin Fowler Paper Presented by Vyshali Belagodu"

Similar presentations


Ads by Google