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


Amplify Your Agility

Posted June 3, 2011 by Joshua Kerievsky in Agile Transition, Software Design

Amplify Your Agility Presentation on Slideshare. View more presentations from Joshua Kerievsky.
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.
Read more

No comments


When Sufficient Design Means Poor Design

Posted May 5, 2010 by Joshua Kerievsky in Software Design

Sufficient Design is where Lean meets Craft. Lean is quantitatively focused on increasing value while shortening cycle time. Craft is qualitatively focused on increasing quality while removing kludges and cruft. Lean is the Accountant in the family. Craft is the Artist. Endless sibling rivalry rages between the two.
Read more

No comments


Sufficient Design

Posted April 26, 2010 by Joshua Kerievsky in Software Design

  When I consider the quality of software design on the products we write and sell, I do so from the dual perspective of business owner and programmer.
Read more

5 comments