BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Delivering Quality Content on InfoQ

  • Dissecting Technical Debt

    The term "technical debt" was coined by Ward Cunningham. It describes the obligation that a development team incurs when it chooses a design or construction approach that is easy to implement in the short run but has a larger negative impact in the long run. Agilists provide their view point on what should be considered a technical debt and how it could be classified.

  • Software Debt Adds Up to Substantive Costs

    In a recent article entitled “Continued Delivery of High Values as Systems Age”, Chris Sterling discusses the concept of Software Debt – “Software debt accumulates when focus remains on immediate completion while neglecting changeability of the system over time.” Software Debt goes beyond technical debt an encompases a variety of aspects that impact on the ability to deliver value.

  • Rescuing Your Ruby on Rails Projects

    Ruby on Rails has been around for about 5 years and in those years developers have created a lot of applications. Many of those applications were created while learning Ruby and Ruby on Rails and may not have used the best practices but yet made it into production web sites. These web applications can be problematical but a new book focused on the solution is available.

  • Code quality for teams

    Jaibeer Malik has posted an introduction of how to address and introduce code quality within a team. His series of posts may suite you if you are in a situation where you have to either learn more yourself or introduce these ideas to others. The series provides a brief overview of the topic and gives pointers in different directions of where to go to study more.

  • A Dollar Value On Pair Programming

    "Why in the world would we use two people to do the job of one?" This is often the initial reaction to people when first introduced to the idea of pair programming. In essence, they perceive pair programming as doubling the cost of writing any segment of code. Dave Nicollete offers some quantitive ideas to help show how pair programming can save money, not waste it.

  • Kent Beck Suggests Skipping Testing for Very Short Term Projects

    Kent Beck suggests that on very short term projects, when you're trying to figure out if there is a viable concept, you might do less (even no) automated testing to help get off the ground quickly. This goes against all of the conventional wisdom surrounding TDD.

  • How TDD and Pairing Increase Production

    "Test-driven Development" and "Pair Programming" are two of the most widely known of agile practices, yet are still largely not being practiced by many agile teams. Often, people will cite being "too busy" to adopt such practices as TDD and pairing; in essence, implying that striving for high code quality will reduce productivity. Mike Hill explains how this logic is seriously flawed.

  • Presentation: A Tale of 2 Systems

    In this video recorded during QCon London 2008, Pete Goodliffe presents two Linux-based audio products with a complete different outcome, software design making the difference.

  • What does Quality Mean?

    Is quality supposed to mean a lack of defects that are holding us back? Mike Bria, Lisa Crispin, James Bach and JB Rainsberger debate the meaning of quality and the limitations our current definition is placing on us.

  • J.B. Rainsberger: "Integration Tests Are A Scam"

    Well-known agilist and TDD expert J.B. Rainsberger has begun a series of posts to explain why his experience has led him to the thought-provoking conclusion that "integration tests are a scam".

  • Throw Away Your Bug Tracking System?

    Elisabeth Hendrickson, A.K.A "testObsessed", presents a thought-provoking stance on triaging bugs in an agile project. She discusses her feelings that problems found during the iteration are not "bugs", that only the Product Owner has the right to call something "bug", and that a healthy agile team might likely have no need for a bug tracking system.

  • Interview: Luke Francl Explains Why Testing Is Overrated

    In this interview filmed during RubyFringe 2008, Luke Francl explains his position towards testing. While supporting unit testing, he thinks testing is not going to reveal all application defects. Development teams should practice code reviews and usability tests which are likely to discover bugs not visible though other methods.

  • Presentation: Testing is Overrated

    In this talk from RubyFringe, Luke Francl asks: is developer-driven testing really the best way to find software defects? Or is the emphasis on testing and test coverage barking up the wrong tree?

  • Forget Your Debugger, Use The "Saff Squeeze"

    Kent Beck, renowned co-father of XP, TDD, and JUnit itself, tells a story about tracking down a defect in a new JUnit feature, JUnitMax, with unit tests instead of a debugger. He explains a method shown to him by current JUnit lead developer, David Saff, where a high level unit test is recursively inlined until a super concise test is created down at the very root of the defect.

  • Presentation: Principles and Practices of Lean-Agile Software Development

    In this presentation held during Agile 2008, Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

BT