Robby on Rails: Project Illuminatus, an introductionthoughts.sort_by{|t| t[:topic]}.collect tag:www.robbyonrails.com,2005:TypoTypo2006-09-05T22:12:48-04:00Robby Russellurn:uuid:7d2b93be-f889-4c80-b5af-1676d30b72992006-08-14T19:52:00-04:002006-09-05T22:12:48-04:00Project Illuminatus, an introduction<p>Due to an <a href="http://www.robbyonrails.com/articles/2006/08/11/isight-magnet-is-teh-suck">unfortunate event</a> last week, this blog entry is a few days late.</p>
<p>Over the next few weeks and months, the <a href="http://www.planetargon.com"><span class="caps">PLANET ARGON</span></a> team will be blogging about one of our big projects that recently started. We needed to get the client to sign off on the blogging project and got the a-okay from their management early last week.</p>
<p>First, some background.</p>
<p>We were contacted by this rather large (enterprise?) company around the time that we went to RailsConf. When we got back, I began talking with our primary point of contact about their project, which sounded like a fairly big challenge and the sales process took a few weeks to come to an agreement on the next steps. Once they were finished interviewing a few other potential firms, we got the go-ahead that we should proceed with an <span class="caps">ITER</span>-ZERO, which I outlined a few months ago in part one of, <a href="http://www.robbyonrails.com/articles/2006/05/31/the-art-of-delivery-part-1">The Art of Delivery</a>.</p>
<p><a href="http://flickr.com/photos/robbyrussell/198853696/in/set-72157594209695361"><img src="http://static.flickr.com/70/198853696_586e6c773f_m.jpg" style="float: right; padding: 6px;"></a>
<strong><span class="caps">ITER</span>-ZERO</strong> was essentially a two-day trip for Brian and I to Washington DC (<a href="http://flickr.com/photos/robbyrussell/sets/72157594209695361/">pictures</a>) to interview the client and some of their existing users (domain experts), establish the protocol and channels for communication between them (the client) and our team, and work on identifying the core goals of their product that we’ll be developing <em>with</em> them. They have an <strong>existing product</strong> that they’ve been selling to customers for <strong>over ten years</strong> and the product that we’ll be developing will be the next generation of this software. The new product is replacing a desktop application that is only runs on Windows. The application that we’re currently working has a technical requirement that is needs to run on <em>any operating system</em> with a modern web browser, including some of the newer phones that have Opera mini installed! As you can see, we have our work cut out for us… :-)</p>
<p>During our meetings, we agreed that while their final product name is going through their marketing process, that we should have a playful project name to refer to. Our primary contact at the firm suggested, <strong>Project Illuminatus</strong>[1]. He’s a bit of a conspiracy theory nut… and it sounded fun… so we agreed to that. :-)</p>
<p>If I recall, Brian and I stayed up past 2am (the time zone change does that to you…) working on structuring the project wiki (instiki) to document <a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue">the dialogue</a> that occurred on our first day in DC. This provided us with a solid plan for how we wanted to focus our attention to identifying the goals that we wanted to collaborate on with the client to build an innovative and simple to define solution. <strong>Simple solutions emerge from even complex goals when you can clarify them using simple and intelligible language</strong>.</p>
<p>In <a href="http://sztywny.titaniumhosting.com/2006/07/23/stiff-asks-great-programmers-answers/">this great blog interview</a>, <a href="http://sztywny.titaniumhosting.com">Stiff</a> asked several famous developers the following question, <em>“What do you think makes some programmers 10 or 100 times more productive than others?”</em></p>
<p><a href="http://www.loudthinking.com">David Heinemeir Hannsson</a> responded with, <em>“The ability to restate hard problems as easy ones.”</em></p><p>Due to an <a href="http://www.robbyonrails.com/articles/2006/08/11/isight-magnet-is-teh-suck">unfortunate event</a> last week, this blog entry is a few days late.</p>
<p>Over the next few weeks and months, the <a href="http://www.planetargon.com"><span class="caps">PLANET ARGON</span></a> team will be blogging about one of our big projects that recently started. We needed to get the client to sign off on the blogging project and got the a-okay from their management early last week.</p>
<p>First, some background.</p>
<p>We were contacted by this rather large (enterprise?) company around the time that we went to RailsConf. When we got back, I began talking with our primary point of contact about their project, which sounded like a fairly big challenge and the sales process took a few weeks to come to an agreement on the next steps. Once they were finished interviewing a few other potential firms, we got the go-ahead that we should proceed with an <span class="caps">ITER</span>-ZERO, which I outlined a few months ago in part one of, <a href="http://www.robbyonrails.com/articles/2006/05/31/the-art-of-delivery-part-1">The Art of Delivery</a>.</p>
<p><a href="http://flickr.com/photos/robbyrussell/198853696/in/set-72157594209695361"><img src="http://static.flickr.com/70/198853696_586e6c773f_m.jpg" style="float: right; padding: 6px;"></a>
<strong><span class="caps">ITER</span>-ZERO</strong> was essentially a two-day trip for Brian and I to Washington DC (<a href="http://flickr.com/photos/robbyrussell/sets/72157594209695361/">pictures</a>) to interview the client and some of their existing users (domain experts), establish the protocol and channels for communication between them (the client) and our team, and work on identifying the core goals of their product that we’ll be developing <em>with</em> them. They have an <strong>existing product</strong> that they’ve been selling to customers for <strong>over ten years</strong> and the product that we’ll be developing will be the next generation of this software. The new product is replacing a desktop application that is only runs on Windows. The application that we’re currently working has a technical requirement that is needs to run on <em>any operating system</em> with a modern web browser, including some of the newer phones that have Opera mini installed! As you can see, we have our work cut out for us… :-)</p>
<p>During our meetings, we agreed that while their final product name is going through their marketing process, that we should have a playful project name to refer to. Our primary contact at the firm suggested, <strong>Project Illuminatus</strong>[1]. He’s a bit of a conspiracy theory nut… and it sounded fun… so we agreed to that. :-)</p>
<p>If I recall, Brian and I stayed up past 2am (the time zone change does that to you…) working on structuring the project wiki (instiki) to document <a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue">the dialogue</a> that occurred on our first day in DC. This provided us with a solid plan for how we wanted to focus our attention to identifying the goals that we wanted to collaborate on with the client to build an innovative and simple to define solution. <strong>Simple solutions emerge from even complex goals when you can clarify them using simple and intelligible language</strong>.</p>
<p>In <a href="http://sztywny.titaniumhosting.com/2006/07/23/stiff-asks-great-programmers-answers/">this great blog interview</a>, <a href="http://sztywny.titaniumhosting.com">Stiff</a> asked several famous developers the following question, <em>“What do you think makes some programmers 10 or 100 times more productive than others?”</em></p>
<p><a href="http://www.loudthinking.com">David Heinemeir Hannsson</a> responded with, <em>“The ability to restate hard problems as easy ones.”</em></p>
<p>On day two, we showed their team the wiki and explained how they could collaborate with us there. If they had ideas and new goals identified, they had a place to store those. It’s vital that your attention is on the scope of the work that needs to be investigated. We try not to solve all of the problems too quickly… it’d be naive of us to think that we could. Products evolve and so must their requirements.</p>
<p>I’m not going to go into everything that went on here at the moment, perhaps <a href="http://blog.brightredglow.com">Brian</a> will fill us in on some of this.</p>
<p>When we got back to Portland, Brian and I began meeting with Allison Beckwith, our Creative Director, to outline one of the most complex pieces of the system. As a team, we decided that this is what we need to focus more of our immediate attention to. In the their previous application, there was approximately five different modules that did something <em>very</em> similar, but just slightly different enough for their original developers to just build separate interfaces, which were not consistent and difficult to use for someone new to the application. We want to consolidate this into one new solution that focuses on how the users will be <em>using</em> the system… not just the <em>tasks</em> that they are fulfilling. This is why we spend so much time thinking about the goals that the users have… not what they <em>have</em> to do.</p>
<p>Oh yeah… one of the non-functional requirements?</p>
<p><em>“The product shall be easy to use on the first attempt by a member of the general public without training.”</em>[2]</p>
<p>About a week later, we agreed on what work would be performed during <span class="caps">ITER</span>-001 (iteration one), which included paper prototyping and a few rounds wireframe mockups for this one major component of the application. I’ll let <a href="http://www.allisbe.com">Allison Beckwith</a> (yes! she started a blog) fill you in on this when she gets some time to outline her process for doing this.</p>
<p>Stay tuned…</p>
<p id="fn1"><sup>1</sup> <a href="http://en.wikipedia.org/wiki/Illuminatus">http://en.wikipedia.org/wiki/Illuminatus</a></p>
<p id="fn2"><sup>2</sup> copied directly from Mastering the Requirements Process, 2nd edition. It works.. and does it need to be reestated any simpler than that?</p>Alainurn:uuid:c8334078-9755-4fbe-bd6b-a98aab38b0d42006-08-15T12:06:46-04:002006-09-05T22:12:50-04:00Comment on Project Illuminatus, an introduction by Alain<p>Exciting to see Rails taken to an enterprise level using D^3. I also like the idea of doing wire-frame mockups that concentrate solely on interaction. This way the client isn’t distracted by the graphics design.</p>Samurn:uuid:c3f8cdf6-22c1-460f-a72f-4bb38b8911972006-08-15T09:37:36-04:002006-09-05T22:12:50-04:00Comment on Project Illuminatus, an introduction by Sam<p>How are you planning to support the mobile interfaces? Would you be using different views that are designed for the mobile platform? What makes Rails a good framework for these types of projects?</p>Reaganurn:uuid:0064a88d-b02d-4153-b07c-92635033a6562006-08-15T08:50:12-04:002006-09-05T22:12:51-04:00Comment on Project Illuminatus, an introduction by Reagan<p>I thought that rails couldn’t scale! ;-)</p>
<p>This sounds like a fun project and I look forward to reading about it. Thanks for sharing these stories as they are very educational and motivating.</p>brastenurn:uuid:8b63de9a-b314-478d-9c5e-b0b992adddcf2006-08-14T21:39:56-04:002006-09-05T22:12:54-04:00Comment on Project Illuminatus, an introduction by brasten<p>Yes! This is the niche that interests me the most!</p>
<p>With Rails/Ajax/good JavaScript libraries available now, enterprise applications have become perfect candidates for web-based applications. Most of these applications today require massive commitments from its users in time, money, and training. Installation and updating alone can be huge drains on available manpower and resources.</p>
<p>But when these same applications can be delivered as web applications a vast majority of these issues disappear. Additionally, companies with lower tolerances for difficulties suddenly become paying customers.</p>
<p>It’s exactly this concept - enterprise apps to web-apps - where I see an exciting market for Rails in the near future. Or in PLANET ARGON’s case, now.</p>
<p>Godspeed!</p>