Update on the YAGNI Episode

Sometimes I write a blog post knowing that it’s stupid and just going to get me (justifiably) flamed, but yet I still click “Publish” anyway.  In the whole “table layout vs absolute positioning with CSS vs a jQuery Layout Manager” argument, the “simplest” answer turned out to be the jQuery layout (just pass me the salt for the side of crow I’m eating).  That being said, investing the extra time to make the layout configurable and extensible for possible future requirements?  That’s still a YAGNI.

One thing about “The Simplest Thing That Could Possibly Work” that I forgot is that “simple” to you isn’t the same as “simple” to me.  It’s funny how getting comfortable with new or different techniques or technologies can change your image of what *is* simpler.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • JJ Watt Jersey

    On January 6, 2011, Watt-J.J. Watt Jersey announced that he would forgo his senior year of college to enter the 2011 NFL Draft.
    On April 28, 2011, Watt was drafted 11th overall to the Houston Texans.[7] On July 31, 2011, Watt was signed to a four-year contract with the Texans worth $11,237,000, which includes a signing bonus of $6,672,000.[8] In his first regular season game with the Texans, Watt recorded five tackles (all solo) and recovered a fumble.
    Watt finished the regular season with 56 tackles (48 of them solo stops), 5? sacks, 2 fumble recoveries, 4 passes defensed, and a blocked field goal.
    In the Texans’ first ever playoff game on January 7, 2012 against the Cincinnati Bengals, Watt intercepted quarterback Andy Dalton and returned it for his first career NFL touchdown to give Houston a 17-10 lead. The Texans won 31-10. Interestingly, Dalton had been the Quarterback that beat Watt’s Badgers in the 2011 Rose Bowl the year before.
    In the Divisional Round against the Baltimore Ravens on January 15, 2012, Watt sacked quarterback Joe Flacco 2? times, equal to fellow rookie Brooks Reed. However, the Texans lost 20-13, ending the franchise’s first playoff run.
    Patrick Willis –Patrick Willis Jersey (born January 25, 1985) is an American football player who plays inside linebacker for the San Francisco 49ers of the National Football League (NFL). He played college football for the University of Mississippi, and received All-American honors. The San Francisco 49ers chose him with the eleventh overall pick in the 2007 NFL Draft.
    During Willis’s senior season at Ole Miss, he received the Butkus Award and the Jack Lambert Award as the nation’s top linebacker. A year later as a member of the 49ers, Willis led the NFL in tackles, earned first-team All-Pro and Pro Bowl honors while being named the 2007 AP NFL Defensive Rookie of the Year. Willis has earned Pro Bowl and All-Pro honors in all five years he has played in the NFL. He is the only player to receive the Butkus Award for best linebacker in more than one category. He won the college Butkus Award in 2006 while at Ole Miss and in 2009, he won the professional Butkus Award while with the San Francisco 49ers.the best player Troy Polamalu Jersey.
    The North Face Jackets, Inc. is an American outdoor product company specializing in outerwear, fleece, coats, shirts, footwear, and equipment such as backpacks, tents, and sleeping bags.
    The clothing and equipment lines are catered towards wilderness chic, climbers, mountaineers, skiers, snowboarders, hikers, and endurance athletes.
    The company sponsors professional athletes from the worlds of running, climbing, skiing and Cheap North Face Jackets snowboarding

  • http://www.backlinkschecker.ws/backlinks/buylinks.html Purchase High PR Backlink

    I fully support this blog, thank you.

  • Kent Leach
  • Joe Chung

    jQuery is useless if you don’t have script enabled. Even a table-based layout is better than a script-based one if you don’t have a scriptless fallback.

  • http://chadmyers.lostechies.com Chad Myers

    The simplest thing that could possibly work needs to account for “A heap mound of unnecessary complexity surrounding an otherwise simple task ” :(

    The table *should’ve* worked and been the easiest, but, due to external factors, wasn’t :(

  • http://www.shaneo.ca Shaneo

    Off topic a bit…but your explanation of ["simple" to you isn't the same as "simple" to me.]

    This always makes me think back on how to explain Ubiquitous Language as relates to DDD. This is a great example how easily miscommunication can happen.

    In this case, even though different parties are using the same words, and in the same context even, the words still have different meanings to different people.

    So what’s my point? Well, if I have one, I suppose I’m making a case for the importance of Ubiquitous Language. Sorry to hijack your post :P

    -Shane

  • http://blog.dynamicprogrammer.com Hernan Garcia

    I’m so glad to see this follow up post. I specially like your last sentence, since I believe that to be true, and put in context your first post.
    What we try to do in our company when we come up with similar situations is to do the “simples” or “faster” thing at the time, even knowing that is not the best, but we record the technical debt we took, as a case (or user story) for next iterations.
    This allow us to move fast and at the same time to have a clear view of what is going to “probably” slow us down later on. Also comunicates this to the client since get’s recorded in the backlog.

  • http://blog.danielfernandes.net Daniel Fernandes

    The point I was trying to make is that YAGNI is one of those things that will always attract criticism whether it’s fair or not.

  • http://weblogs.asp.net/fbouma Frans Bouma

    Don’t feel bad about yourself: you stood up and took a stand for what you thought was a thing to explain to others. That some of those others didn’t agree, so be it. Though it seems as if the ‘community’ at large tends to get more hostile over the years: whenever someone speaks up, there will always be flames posted, no matter what the subject is. I find that disturbing, it makes it necessary to have a thick skin to stand up and explain something to others, which is IMHO insane.

  • http://blog.danielfernandes.net Daniel Fernandes

    Indeed, the thing that concerns me with YAGNI is the assumptions lurking down below that are never surfaced when someone mentions it to cut a discussion short.
    So I joked about YAGNI with some guys in my team and told them YAGNI is like a rock-paper-scissors game; whoever says it first wins!
    Daniel