Fashion-Driven Development

Posted October 14, 2013 by Joshua Kerievsky in Learning, Refactoring, Software Design

In his foreword to the book, The Joy of Clojure, Steve Yegge shared this insight: “The global programming community is fashion-driven to a degree that would embarrass haute couture designers from New York to Paris.”
Read more

14 comments


Muscling It

Posted February 13, 2012 by Joshua Kerievsky in Software Design

There are moments in software development when ordinary or common usage of an API, library, language or tool won’t solve a programming problem. At such times, some programmers retreat and consider alternative solutions that rely on simple, ordinary code. Other programmers refuse to give up and push forward to find whatever uncommon or arcane parts of […]
Read more

2 comments


Replace Badass Query With Simple Loop

Posted February 1, 2012 by Joshua Kerievsky in Refactoring, Software Design

× Warning: this blog contains ugly code requiring horizontal scroll bars. Viewer discretion advised. Yesterday, we found the following badass query in our CompletionStatusRepository class:
Read more

No comments



Return of the Horizontal Slice

Posted May 31, 2011 by Joshua Kerievsky in Lean Startup, Software Design

A vertical slice contains all of the essential layers (UI, persistence, domain logic) necessary for a user to experience a primitive yet working version of a feature.
Read more

No comments


Experimenting Vs. Productizing

Posted March 7, 2011 by Joshua Kerievsky in Lean Startup, Software Design

The first stand-alone, eLearning software product that Industrial Logic produced in 2004 was a commercial failure that taught me some valuable lessons about being an entrepreneur and programmer. The product was Refactoring to Patterns Interactive (RTPI), an eLearning class based on my best-selling book.
Read more

No comments


Seven Design Transformation Strategies

Posted November 12, 2010 by Joshua Kerievsky in Software Design

What are the moves you make when improving the design of software? Over the past 4-5 years, I’ve been observing, naming and using a set of design transformation strategies that have provided guidance and a handy vocabulary for making and talking about software changes.
Read more

No comments


What’s Wrong With Clean Code?

Posted October 31, 2010 by Joshua Kerievsky in Lean Startup, Software Design

We recently made a dramatic improvement to our kitchen that got me thinking about software design and the striking difference between cleaning code and remodeling it.
Read more

1 comment


Product Metaphor

Posted July 19, 2010 by Joshua Kerievsky in Extreme Programming, Refactoring, Software Design

A product metaphor shapes the look and behavior of a product, integrates the product’s features and inspires new functionality. If you value metaphors, a single word can inspire your entire product.
Read more

1 comment


Sufficient Design In The Sketch, Craft, Refine Cycle

Posted July 1, 2010 by Joshua Kerievsky in Lean Startup, Software Design

Part 3 of X We’ve recently been working with a rock-star poster artist on new posters for our in-person workshops. Here are the earliest sketches that this artist prepared for us one morning:
Read more

No comments