<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Luma</title>
  <id>http://127.0.0.1</id>
  <updated>2011-10-08</updated>
  <author>
    <name>luma02</name>
  </author>
  <entry>
    <title>Luma: Now with more action and more talk!</title>
    <link rel="alternate" href="http://127.0.0.1/2011/10/08/luma-now-with-more-action-and-more-talk/"/>
    <id>http://127.0.0.1/2011/10/08/luma-now-with-more-action-and-more-talk/</id>
    <published>2011-10-08</published>
    <updated>2011-10-08</updated>
    <author>
      <name>luma02</name>
    </author>
    <summary type="html">&lt;p&gt;Well, it was past time for another redesign; so here it is. Notice that I said redesign rather than tweak. With your periodical
design tweak, you take every thing down from the shelves and dust. Maybe, if you&amp;rsquo;re feeling frisky, you shampoo the carpet, or you&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;Well, it was past time for another redesign; so here it is. Notice that I said redesign rather than tweak. With your periodical
design tweak, you take every thing down from the shelves and dust. Maybe, if you&amp;rsquo;re feeling frisky, you shampoo the carpet, or you
try that new image replacement technique those hipster Ajax kids keep harping on about. What you don&amp;rsquo;t do is tear off the entire
roof and replace it with it pneumatically raised, mechanically articulated, alfresco disco floor.&lt;/p&gt;

&lt;p&gt;That you save for the full redesign.&lt;/p&gt;

&lt;div class='push note grid_4 push_10'&gt;
&lt;h2&gt;&lt;strong&gt;Web Designers:&lt;/strong&gt; A Brief Word on Terminology&lt;/h2&gt;
&lt;p&gt;I know there has been a trend in web design circles for the last two years to talk about the differences between a Redesign 
and a Realignment. There's a good summary of this in this &lt;a href='http://www.alistapart.com/articles/redesignrealign' title='Read "Good Designers Redesign, Great Designers Realign" on ALA'&gt;ALA article&lt;/a&gt; by Cameron Moll. I won't repeat his arguments here, it's a good article and Cameron's stuff is always worth a read. Go and read it and then come back here.&lt;/p&gt;
&lt;p&gt;My only issue with this whole debate is that seemed to become a little too terminology focused. When these discussions flared
up and I first read the definitions of Realign my first thought was "Well, Duh! Of course that's what you should be doing. Except that it's
called a Redesign." I suspect that my perspective is slightly skewed here in that I'm not a graphic designer, I'm
a software designer.&lt;/p&gt;
&lt;p&gt;When designing software, particularly the underlying architecture, you don't immediately think of the aesthetics of it. You are
usually mostly focused on the purpose of each component and how they interact with each other. This is true even when designing UI Wireframes,
which is the most visual part of what I do.&lt;/p&gt;
&lt;p&gt;So I completely agree that what is being called Realignment is important, I also agree that the term "Redesign" is overloaded 
in graphic design. I only point out that I believe the word "Redesign" should be reclaimed, and Redesign for 
purely aesthetic reasons should be given an entirely new name.&lt;/p&gt;
&lt;p&gt;Basically, if you're a designer that's been through the whole Resign vs Realign debate, just think "Realign" when I say "Redesign".&lt;/p&gt;
&lt;p&gt;&lt;a href='#note1'&gt;Back to the main Article&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;


&lt;p&gt;&lt;a name='note1'&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But the full redesign is more than just a chance to knock out a few walls. It&amp;rsquo;s a chance to think about whether you
even &lt;em&gt;need&lt;/em&gt; walls. When you start you think: &amp;ldquo;Why, of course I need walls! How else would my roof stay up?&amp;rdquo;. But there are
other ways to hold up a roof, ways that are distinctly unwall-like. Hell, maybe we don&amp;rsquo;t need a roof either?&lt;/p&gt;

&lt;p&gt;The nice thing about doing a full redesign is that the whole process can be rather a good excuse to get quite Meta about
things. You get to think about your motivations and processes; you get a chance to make dramatic changes. The kind of changes
that will almost certainly be challenging, a little painful, but also completely invigorating. If your redesign isn&amp;rsquo;t these three
things (and a whole lot more) then you&amp;rsquo;re likely doing it wrong.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m not talking about the kind of wrong that will cause the police to kick down your door. No one&amp;rsquo;s going to drag you out of your
house, throw you in front of the camera-flash happy media and accuse you of laziness. Instead you&amp;rsquo;ll miss out in lots of small,
quiet ways. Ways that don&amp;rsquo;t seem important in the short term but, from the perspective of a longer timeline, may be the highlights
that define you.&lt;/p&gt;

&lt;p&gt;So you embrace change and throw yourself into your redesign. You learn, grow, and come to a better understanding of how you
work and think. Is there any particular reason that you couldn&amp;rsquo;t do all of this as part of a smaller design tweak? Yes, absolutely,
and you should. But you miss out on the context switch.&lt;/p&gt;

&lt;h3&gt;The Mighty Context Switch&lt;/h3&gt;

&lt;p&gt;I&amp;rsquo;m always amazed at how many difficult problems become tractable, or even trivial, from a different perspective. Sometimes all
that&amp;rsquo;s needed is a different context and, hallelujah, the hidden path becomes visible. I always assumed it had something to do
with the cognitive load that a particular context puts on a person, that is: the sheer amount of junk you need to keep in your
head to understand what&amp;rsquo;s going on in a large project.&lt;/p&gt;

&lt;p&gt;Context, constraints, and history are all bound up tightly together. When you&amp;rsquo;re managing a project you try your best to not let
that bundle become an angry, knotted mess. If you don&amp;rsquo;t, you won&amp;rsquo;t get to spend your time creating. Instead you&amp;rsquo;ll spend your time
nervously pulling on exposed loops, hoping that each one you tug on isn&amp;rsquo;t the one that leaves you with something that
you&amp;rsquo;ll never untie.&lt;/p&gt;

&lt;p&gt;Striking the right balance is hard. I have infinite respect for the few project leaders that I know can manage it. You want to
acknowledge context (otherwise what you deliver would serve no one) and you want to embrace your constraints (so you&amp;rsquo;ll be
making the best use of your resources and avoiding undue effort). But you also don&amp;rsquo;t want to be held hostage by your constraints and
history; You want to be agile so you can respond to new situations.&lt;/p&gt;

&lt;p&gt;This is not the same as the &lt;a href="http://en.wikipedia.org/wiki/Project_triangle"&gt;Project Triangle&lt;/a&gt; (TL;DR Version: Good, Fast, or Cheap. Pick any two). In fact context,
constraints, and history are three of the most critical things to take into account when pondering your own Project Triangle. Sadly, there isn&amp;rsquo;t
a nice clean mapping between the two. Instead you use them (and other factors) to work out what Good, Fast, and Cheap would look like for your project &amp;mdash; and what
the relative cost of each would be.&lt;/p&gt;

&lt;h3&gt;Constraints are Liberating?&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://gettingreal.37signals.com/ch03_Embrace_Constraints.php"&gt;Constraints are definitely Liberating&lt;/a&gt;. That has definitely been my experience so I don&amp;rsquo;t want to
imply otherwise, but there&amp;rsquo;s usually a point in every project at which the choices that you&amp;rsquo;ve made are too hard to undo &amp;mdash; your constraints
too limiting. This is when you have no choice but to step outside of your project&amp;rsquo;s context. This is also usually the point
when, right or wrong, people start talking about a redesign.&lt;/p&gt;

&lt;p&gt;It&amp;rsquo;s tricky to know when a full redesign is needed and when a few tweaks are all that&amp;rsquo;s needed. I don&amp;rsquo;t want to give the impression that a
redesign is all ponies and unicorns. On large projects deciding to do The Big Rewrite is a decision that can, and frequently does,
kill a project. They are dangerous for a great &lt;a href="http://programmers.stackexchange.com/questions/6268/when-is-a-big-rewrite-the-answer#6303"&gt;many&lt;/a&gt; reasons, and really are the atom bombs
of project management. Even if it solves your problems you might not be able to live with the consequences.&lt;/p&gt;

&lt;h3&gt;Neither the High Road or the Low Road&lt;/h3&gt;

&lt;p&gt;There is definitely a middle path that can be walked. A place where you gain a number of the benefits of the redesign, without
having to accept all the risks. That is the Incremental Redesign. The Incremental Redesign is exactly what it sounds like: you
take your one large redesign and divide it up into a series of smaller, discreet projects. The discreetness of these projects
is actually the secret sauce that makes this work, as it allows you to tackle small chunks of the problem without being forced
to deal with the complexity of the entire project.&lt;/p&gt;

&lt;p&gt;When done right, this allows improvements to be deployed to a specific part of a larger system &lt;em&gt;without&lt;/em&gt; major interruptions to
overall system availability. This means more frequent deploys, faster feedback cycles and (usually) a system that zeroes-in quicker
on the user&amp;rsquo;s needs.&lt;/p&gt;

&lt;p&gt;A particular challenge when attempting this is dealing with systems that have degenerated into &lt;a href="http://en.wikipedia.org/wiki/Big_ball_of_mud"&gt;Big Balls of Mud&lt;/a&gt;. I&amp;rsquo;m hard-pressed to characterise this
as a flaw of Incremental Redesigns, as systems in this state are always a complete pain in the arse.&lt;/p&gt;

&lt;p&gt;Seriously, expect to loose both hair and sanity.&lt;/p&gt;

&lt;p&gt;Replacing them in a single massive redesign is hugely risky, but it can be equally difficult to identify subsystems
modular enough that they can be tackled without accidentally borking related systems. Usually a process of partial decoupling will
be necessary before the real redesign begins. This is frequently painful both technically &lt;em&gt;and&lt;/em&gt; politically as your users frequently won&amp;rsquo;t
see any immediate benefits of this work, so you need to work harder to justify it to the stakeholders.&lt;/p&gt;

&lt;p&gt;In large systems that are critical parts of businesses infrastructure, there is a (correct) instinct to be constantly improving.
Your best shot at this is by bringing the capabilities and purpose of the system inline with its users and the overall objectives
of the business. This all becomes a bit like painting the Forth Bridge (&lt;a href="http://www.webinquirer.co.uk/painting-of-the-forth-bridge-about-to-end/7795/"&gt;interestingly enough&lt;/a&gt; I probably won&amp;rsquo;t get to use
this phrase anymore), as the user requirements will be constantly evolving, as will the businesses, so systems are never really finished.&lt;/p&gt;

&lt;p&gt;There is a tendency, particularly for badly briefed CFOs, to view this as something of an indulgence. But if you&amp;rsquo;re a company
that leans heavily on a piece of technology that you support internally, then you should be viewing this as a necessary investment
to stay competitive and an opportunity to develop these systems in such a way that they can actually make your processes more efficient.&lt;/p&gt;

&lt;p&gt;But this only works if the purpose of these systems stays relevant to what the business is trying to achieve. If you redesign
once every couple of years then it&amp;rsquo;s nigh-on impossible to do. If you&amp;rsquo;re constantly analysing and improving your systems, then
it&amp;rsquo;s only bloody hard to do.&lt;/p&gt;

&lt;p&gt;These goals gel really nicely with the idea of a continuous, Incremental Redesign. In fact, I&amp;rsquo;d go as far as saying that this
should be the default way of approaching long term development on software projects that businesses have a stake in.&lt;/p&gt;

&lt;h3&gt;This sure is a lot of words&lt;/h3&gt;

&lt;p&gt;Yeah, it is. Especially since I could have just gone with: Here&amp;rsquo;s my new site, enjoy!&lt;/p&gt;

&lt;p&gt;One of my goals for the redesign of this site was to give myself a vehicle to jot down a few thoughts about how I do things. This
definitely isn&amp;rsquo;t self-aggrandizing, nor is it a marketing exercise. I&amp;rsquo;m not a writer and, I dare-say, I&amp;rsquo;ll embarrass myself more often
than not. But I totally buy into the idea that you show/gain mastery of a topic by explaining it, and frequently the best way to
communicate something is still to write it down.&lt;/p&gt;

&lt;p&gt;My whole spiel about redesigns came about because it was already on my mind. This was partly because I needed to bring luma.co.nz
inline with where my head was at, but it was mostly because the issues of design, redesign, and maintenance are very relevant to
most businesses I deal with.&lt;/p&gt;

&lt;p&gt;It&amp;rsquo;s a sad fact that most businesses still have a very uneasy relationship with software. This is especially true for companies
that develop or maintain software, but don&amp;rsquo;t have software development as part of their core business. There really is room for
us all to improve here. But I figure it will only get better if we&amp;rsquo;re actually discussing these issues.&lt;/p&gt;

&lt;p&gt;To put it another way, it was time that I joined the rest of the Internet monkeys and see if we can&amp;rsquo;t bang out the software
engineering equivalent of Shakespeare.&lt;/p&gt;
</content>
  </entry>
</feed>
