The Register® — Biting the hand that feeds IT

Feeds

Agentless Backup is Not a Myth

Agile development methodologies have been around for a while now, and the list of them is long. It includes:

  • Extreme Programming (XP): Developed by Kent Beck, Ward Cunningham, and Ron Jeffries, XP is probably the best-known lightweight methodology. With its roots in the Smalltalk community, it is a relatively complex system of practices, and Highsmith warned potential XP users to think carefully before picking and choosing among individual components.


  • The New Methodology: Developed by Martin Fowler, this approach emphasizes adaptation over prediction, people over practices, with an additional emphasis on what works in the real world.

  • The Crystal family of methodologies (sometimes called "the Crystals): Developed by Alistair Cockburn, who believes that different kinds of projects require different kinds of methodologies. He looks into this variation along two axes: the number of people in the project, and the consequences of errors. Each methodology fits into a different part of the grid, so a 40-person project that can lose discretionary money has a different methodology from a six-person, life-critical project.

  • SCRUM: Developed by Ken Schwaber and Jeff Sutherland, this methodology focuses on the idea that defined and repeatable processes only work for defined and repeatable problems, with defined and repeatable people in defined and repeatable environments. The process divides a project into iterations (called "sprints") of 30 days. Before developers begin a sprint, they define the functionality required for it, and then leave the team to deliver it. The point is to stabilize the requirements during the sprint.

  • The Dynamic System Development Method (DSDM): Developed in the UK. in the mid-1990s, DSDM has the best-supported training and documentation of any agile process in Europe, Highsmith said. Its principles include active user involvement, frequent delivery, team decision-making, integrated testing throughout the project life cycle, and reversible changes in development.

  • Lean Development: Highsmith said that Bob Charette's approach was the most strategic-oriented lightweight process, and the least known. It is derived from the principles of Lean Production, Taiichi Ohno's revolutionary restructuring of the Japanese automobile manufacturing process, Highsmith said. Lean Development practices subvert traditional methodologies’ view of change as risk, to be controlled with restrictive management. This method welcomes change as an opportunity to practice "risk entrepreneurship."

  • Peter Coad’s minimalist five-step approach to software engineering focuses on developing an overall model, building a features list, and planning by feature and design, with short, iterative cycles using object models of more shape than detail.

  • Adaptive Software Development (ASD): Developed by Highsmith himself, at the heart of ASD are three non-linear, overlapping phases: speculation, collaboration, and learning. Highsmith views planning as a paradox in an adaptive environment, since outcomes are naturally unpredictable. In traditional planning, deviations from plans are mistakes that should be corrected. In an adaptive environment, deviations guide developers towards the correct solution.

Which agile method does Rotman recommend? “I use a mix,” he says. “I go for the principles.” ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

Latest Comments
Anonymous Coward

"I use a mix," "I go for the priciples"

Yeah, I just hack and do whatever I feel like, too. I'm so professional.

0
0

@Pascal Monett

"Maintaining [the little projects] becomes mandatory, and that can entail major changes a few years down the road, changes that become costly because the initial framework was not implemented in a way that allows the new requirements to be implemented correctly."

Your post reads like a recipe for Big Up Front Design, which is the antithesis of agile. Good luck with that. People are very bad at generalising from single examples, or projecting future requirements before they can see a working product.

Code for today, keep the costs of change low through decent test coverage, add complexity only when required.

And above all else, don't let stupid people near a keyboard.

John

0
0

Methodology != Cure All

Using a methodology is a good idea.

Will it prevent developers from writing spaghetti code? No.

0
0

More from The Register

SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry