BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Agile Techniques Content on InfoQ

  • Story Driven Development Recipes with Cucumber

    Behavior Driven Development's (BDD) popularity cannot be denied. By simplifying DSL writing, Ruby allowed the birth of many BDD frameworks. Cucumber is one of them and can also be used to test Java, .NET and Flex and more.

  • Empirical Studies Show Test Driven Development Improves Quality

    A paper first published in the Empirical Software Engineering journal reports: "TDD seems to be applicable in various domains and can significantly reduce the defect density of developed software without significant productivity reduction of the development team." The study compared 4 projects, at Microsoft and IBM that used TDD with similar projects that did not use TDD.

  • Agile Is a Culture Not a Process

    Jeff Patton explains why thinking of agile as culture and not just process explains resistance and difficulty in teaching and learning the approach. Furthermore he suggests that culture generates process, and therefore we should focus on culture first before process and techniques

  • Interview with Brian Marick at Agile 2008

    Brian Marick discusses what he means by micro-scale-retro-futurist-anachro-syndicalism and why we should go back to the roots of Agile. He talks about what he thinks were the mistakes in the Agile Manifesto, how it has lead to the state of the Agile community today, and how we can build better systems by making them so that they are much more easily tested.

  • 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.

BT