InfoQ Homepage Agile Techniques Content on InfoQ
-
Spolsky vs Uncle Bob
The last few weeks, a public dispute has been going on between Joel Spolsky and Robert C Martin (Uncle Bob) about Test-Driven Development and about the SOLID principles of OO design. Here is a summary and review of the match.
-
Use Cases Considered Valuable (but Optional) For Lean/Agile Requirements Capture
Dean Leffingwell, author of Scaling Software Agility and Chief Product Methodologist at Rally, has concluded that Use Cases can be a valuable tool to model requirements for a large-scale Lean/Agile Project. Use cases are not commonly encountered in Lean/Agile (especially XP and Scrum), where stories are the requirements gathering tool of choice.
-
Article: Lean and Agile, Marriage Made in Heaven or Oxymoron?
Dave West takes a look at the world views of the Agile and Lean communities and finds them in conflict. If true, then many of us in the community blending Lean and Agile and unaware of the inherent clash in ideals could be making some big mistakes. As an example of a manifestation of this conflict Dave takes the backlog.
-
Should the Product Owner Be One Person Only?
Is the role of product owner a role that should be satisfied by only one person? There are those who say that there must be one person accountable - a single wringable neck. There are those that say that the expertise needed for a product owner cannot be satisfied by one person. There are many ideas in between about what and who a product owner should be.
-
Refactoring Not a Substitute for Design
A member of the stack overflow community asked "Is design now a subset of refactoring?" The question highlights a common misunderstanding about the agile approach to emergent design. A common agile mantra is: "Test. Code. Refactor. Repeat!" This approach doesn't replace design; it simply spreads the work out over the life of the project.
-
Succession, an Agile Approach to Evolving Architecture
Kent Beck wrote 'First One, Then Many' to explain the application of Succession to software design. Succession is a technique for evolving the architecture of a system from 'just enough for now' to what will eventually be needed. The example given is for a system that only needs to process one transaction today, but will eventually need to process many.
-
Venkat Subramaniam on Facts and Fallacies of Everyday Software Development
Software development is challenging and lot of fun, but there are several factors that interrupt teams from succeeding in IT projects. These are usually not tools or technologies but it is the people that affect the success of software projects. In a keynote presentation at the recent CodeMash 2009 conference, Venkat Subramaniam talked about facts and fallacies of everyday software development.
-
Pair Programming vs. Code Review
Pair programming and code review are each practices that improve the quality of software, as well as promote knowledge sharing. When the agile vs. lean, XP vs. Scrum, and vi vs. Emacs debates get slow, developers have been known to debate the merits of pair programming vs. code review. Theodore Nguyen-Cao described code reviewers as chickens, and paired programmers as pigs.
-
First Kanban Conference
First annual Lean Kanban Process and Practices will be held in Miami, Florida, May 6-8th and featuring keynotes from Dean Leffingwell, Alan Shalloway and David Anderson. The other speakers include most of the players in Kanban movement (Corey Ladas, Karl Scotland, Eric Landes et al.).
-
Agile For Embedded Systems
Some might say that agile development and embedded software (ie. "software supporting a hardware device") do not mix well. Mark Levison has taken some time to assemble and writeup a resource reference of people, experiences, and advice that help to show otherwise.
-
Article: Making TDD Stick: Problems and Solutions for Adopters
In this article, Mark Levison addresses the difficulties encountered by developers willing to adopt TDD, the reasons why many start using TDD but give up after a short period of time, and what could be done to help developers make TDD a habit.
-
Code2Plan, a Free Visual Studio Agile Project Management Add-in
Jesse Johnston and Denis Morozov created code2plan, an Agile software project management tool, as a beta Visual Studio add-in and released it for free. The tool also runs as a stand-alone application that can be used to track projects, iterations, user stories, features, tests, defects and builds.
-
Interview: Keith Braithwaite, an Agile Skeptic
In this interview made by InfoQ’s Amr Elssamadisy during Agile 2008, Keith Braithwaite, an Agile developer, consultant and trainer, says that we should show a good deal of skepticism towards today’s Agile practice.
-
Presentation: Embrace Uncertainty by Jeff Patton
In this original presentation from the Communitech Agile Event, Jeff Patton, winner of the Agile Alliance’s 2007 Gordon Pask Award, explains why one needs to embrace uncertainty in order to succeed with his/her Agile project and how to avoid some of the common mistakes leading to project failure.
-
A Journeyman's Pair Programming Tour
Corey Haines has embarked on a unique personal "Pair Programming Tour". Now three weeks into this innovative journey, Haines has posted video interviews revealing many of the unique insights he's gained about pairing, automated testing, and the evolution of a software craftsman while sharing the keyboard at the home-bases of Dave Chelimsky, Brian Marick, Uncle Bob Martin, and others.