Joshua Kerievsky Introduces "Sufficient Design" To The Craftsmanship Discussion

by Mike Bria Follow 0 Followers on  May 19, 2010 15

Software Craftsmanship has been a hot topic as of late. Joshua Kerievsky posits a possible counter-perspective to the underlying "code must always be clean!" ethos of the craftsmanship movement; something he calls "Sufficient Design". Learn about what Joshua means, and hear thoughts also from Bob Martin and Ron Jeffries on Kerievsky's ideas.


Agile Architecture - Oxymoron or Sensible Partnership?

by Shane Hastie Follow 18 Followers on  May 14, 2010 9

A number of commentators have been talking about the perceived dichotomy between Agile techniques and architectural thinking. This post investigates some of the tensions between Big Up Front Design (BDUF) and You Aint Gonna Need It (YAGNI) thinking and looks at how the two approaches can in fact work together in complimentary ways.


Should We Define SOA Non-Principles?

by Boris Lublinsky Follow 0 Followers on  Apr 14, 2010 4

In addition to well established principles and anti-principles, Steve Jones’ new post introduces the notion of non-principles of an SOA implementation and explains why they are important.


Should We Rely on Language Constraints or Responsibility?

by Abel Avram Follow 7 Followers on  Jul 17, 2009 9

Bruce Eckel, Michael Feathers, Niclas Nilsson, Keith Braithwaite, and others on the question: should languages be fully flexible, allowing the developers to tweak them as they like, and trusting they will be responsible in their work, or should there be clear constraints set in the language from its design phase to avoid mistakes that create bad code, hard to maintain or to read?


Presentation: Kent Beck on Responsive Design

by Amr Elssamadisy Follow 0 Followers on  Jun 04, 2009 3

Purpose and intent are just as important as skill in effective software development. Skill allows you to deliver value in difficult technical circumstances. Clear purpose and positive intent allow you to deliver value in difficult social and business circumstances. Kent Beck shares his design technique which involves both intent and a small set of strategies he uses when designing.


Presentation: Meeting the Challenge of Simplicity

by David West Follow 0 Followers on  May 15, 2009

This session addresses the abstract notion of simplicity, looks at why it is critical in modern UI design and answers questions: Why does simplicity matter? Is there a meaningful definition of simplicity? Why do design processes and good intentions undermine simplicity? What processes and techniques can software developers use to achieve simplicity?


An Agile Approach to Code Reuse

by Chris Sims Follow 0 Followers on  Apr 13, 2009 11

A recent discussion on the Extreme Programming Yahoo Group explored the apparent conflict between making software reusable and the XP practice of not writing code until it is needed. Ron Jeffries and others shared insights about the costs and benefits of code reuse, as well as how and when to do it in an agile environment.


C# 4.0 "Fixes" Deadlock Issue

by David West Follow 0 Followers on  Mar 11, 2009 2

C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.


Spolsky vs Uncle Bob

by Niclas Nilsson Follow 0 Followers on  Feb 17, 2009 8

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.


Refactoring Not a Substitute for Design

by Chris Sims Follow 0 Followers on  Feb 09, 2009 2

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.


Presentation: REST: A Pragmatic Introduction to the Web's Architecture

by Abel Avram Follow 7 Followers on  Jan 30, 2009 6

In this presentation recorded during QCon London 2008, Stefan Tilkov introduces the audience to REST seen as an architectural style. He thinks that REST is not an alternative to SOA but it can serve SOA to reach its goals. Stefan also covers other related topics: HTTP, WS-*, SOAP, CORBA, RPC, enterprise, in an attempt to make the listeners understand what REST is and what is not and how it helps.


"Good Design" Means ...?

by Mike Bria Follow 0 Followers on  Jan 29, 2009 9

It's not news that at the heart of successful software systems (and, frankly, fulfilling software careers) is good design. Also not news is that defining what "good design" really means has been at the heart of many debates, papers, talks, books, discussions, and more for ages. To help, J.B. Rainsberger and Scott Bellware offer some advice to follow until that one true definition comes along.


Article: Webber, Parastatidis and Robinson on "How to GET a Cup of Coffee"

by Stefan Tilkov Follow 3 Followers on  Oct 02, 2008 16

In a new article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.


Article: Joshua Bloch: Bumper-Sticker API Design

by Abel Avram Follow 7 Followers on  Sep 22, 2008 10

In this article, Joshua Bloch, Chief Java Architect at Google and former Distinguished Engineer at Sun Microsystems, presents a list of maxims intended to be a concise summary of good API design guidelines. The maxims represent the abstract written by Joshua for his session "How to Design a Good API and Why it Matters" held during JavaPolis 2006.


Architecture Life Span:Implications on Business and how to build more Long-lasting Architecture

by Sadek Drobi Follow 0 Followers on  Sep 12, 2008

Introducing the concept of architectural shelf life, Dan Pritchett defines the average duration of an architectural life span. Stressing that failing to evolve the architecture at the end of its life span may have important business implications, he provides some advices that aim at facilitating architecture update with new technologies and patterns, thus making architectures last longer.

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you