Showing posts with label xp (extreme programming). Show all posts
Showing posts with label xp (extreme programming). Show all posts

eXtreme Programming Versus Scrum

extreme programming versus scrumSo you've had enough of failed projects. You like the sound of agile development as an alternative. You buy into the key principles and you're ready to take the plunge.

Which methodology should you go for?

I don't have any official stats on which agile methodologies are most widely used, but there certainly seems to be much more of a buzz about eXtreme Programming and Scrum, at least on a global basis.

So which is right for you, eXtreme Programming (XP) or Scrum?

I've heard people ask this question. I've heard people talk about them as though they are mutually exclusive choices. But really they are not.

eXtreme Programming and Scrum are so different they are not really comparable.

They share the same underlying values described in the agile manifesto, and the same underlying principles that characterise 'agile'. They overlap in areas, but fundamentally they address completely different aspects of software development.

Scrum is an agile management methodology. Whereas XP is an agile engineering methodology. As such they are entirely complementary.

If your motivation for agile is wanting more visibility, better business engagement, team collaboration, a clear process for prioritisation, etc - Scrum is for you.

If your motivation for agile is simplification of requirements management and improved product quality, XP is for you.

In both cases you will benefit from a more incremental, iterative approach to development.

In my experience, Scrum is the more likely starting point when the adoption of agile is driven by management. XP is the more likely starting point when the adoption of agile is driven by developers.

In my view? Ideally you would do both. Or at least elements of both. And you would start with the one that addresses the issues causing you to adopt agile in the first place.

Kelly.

P.S. Click one of the icons below to join the growing community of people reading this blog by RSS or by email...
subscribe by rss feedsubscribe by email


Photo by i-plus

read more

eXtreme Programming Is Not Agile!

In the course of my blogging, I've often come across comments or other bloggers talking about XP (eXtreme Programming) as though it *is* agile.

Truth is, XP is Agile, but Agile is not XP...

Although I like a lot of the concepts in eXtreme Programming, whether or not you use XP practices does not define whether or not you are doing agile development.

It's quite feasible that you're not doing Test Driven Development. That you're not doing Automated Unit Testing. That you're not doing Pair Programming. And that you're absolutely doing agile development.

Agile development is a set of values and principles. And eXtreme Programming is just one of the agile methodologies that supports these principles.

People using Scrum are doing agile. People using DSDM are doing agile. People using 'home-made' forms of iterative, incremental, collaborative development are doing agile. To a greater or lesser extent, I admit, and with a different emphasis. But they are certainly 'doing agile'.

eXtreme Programming, whilst one of the more popular forms of agile development, is only one form of agile development. And as it's name suggests, it is probably the most extreme. 'Milder' forms of agile can be equally beneficial, and should not be dismissed as 'not agile'.

Kelly.

P.S. Click one of the icons below to join the growing community of people reading this blog by RSS or by email...
subscribe by rss feedsubscribe by email


Photo by grisei

read more

Top 10 Agile Development Websites

According to Alexa, these are the top 10 most visited agile development websites...

1. Martin Fowler
Papers and articles from one of the giants in the field.
www.martinfowler.com



2. ThoughtWorks, Inc.
A commercial site for Martin Fowler's company.
www.thoughtworks.com



3. Agile Modeling
Practice-based methodology for effectively modeling and documenting software-based systems.
www.agilemodeling.com



4. Extreme Programming
A gentle introduction to eXtreme Programming (XP).
www.extremeprogramming.org



5. XProgramming
Articles, FAQs and other information on the XP methodology.
www.xprogramming.com



6. Rally Software Development
Agile development tools and consulting.
www.rallydev.com



7. JUnit
A unit testing framework for Java.
www.junit.org



8. Agile Software Development [Wikipedia]
Wikipedia's definition of agile software development.
http://en.wikipedia.org/wiki/Agile_software_development



9. Alistair Cockburn
One of the parents of the agile movement, and creator of Crystal family of lightweight methodologies.
www.alistair.cockburn.us



10. Advanced Development Methods, Inc.
Home of Scrum agile development methodology.
www.controlchaos.com



What, not "all about agile" :-)

read more

Testing Testing 123 (test driven development)

XP (eXtreme Programming) advocates Test Driven Development, where test cases are written before the code. Radical, huh?

If you think about it, it makes complete sense. Assuming you are planning to write test cases anyway, it’s no more effort than writing them later. And the big advantage of writing them first?

If you know how you’re going to test it, you write the code to pass first time! Simple really. Simple but inspired.

See also:
10 Key Principles of Agile Development
Principle #9: Testing is integrated throughout the lifecycle

read more