<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4024354974514788900</id><updated>2011-11-27T19:53:07.883-05:00</updated><title type='text'>Lean Thinking Your Software</title><subtitle type='html'>A Place Where Lean Thinking and Software Collide</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leanthinkingyoursoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John Goodsen</name><uri>http://www.blogger.com/profile/14785659077472008036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://4.bp.blogspot.com/_VmvAN2xWXJ4/TKVZlIvM4RI/AAAAAAAACCo/GOyiK-Gqfjc/S220/photo2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4024354974514788900.post-1049920052793116085</id><published>2010-08-19T12:35:00.001-04:00</published><updated>2010-08-19T12:37:07.819-04:00</updated><title type='text'>How Deep are your Pockets ?</title><content type='html'>This is just a quick micro-blog introducing the Software ROI picture that I draw for executives to help them understand how deep they need their capital investment commitments in a Waterfall vs. an Agile project. &amp;nbsp;It's nothing revolutionary and you've probably seen it before. &amp;nbsp;The message is really quite simple. &amp;nbsp;Here's the picture:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_VmvAN2xWXJ4/TG1YnBl65MI/AAAAAAAACBE/CDhlXKECHAI/s1600/AgileROI.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_VmvAN2xWXJ4/TG1YnBl65MI/AAAAAAAACBE/CDhlXKECHAI/s640/AgileROI.jpg" width="627" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The longer you wait to deliver value and receive money, the longer you are spending (investing) and the deeper that investment gets. &amp;nbsp;Instead of trying to release the entire system at once, we identify smaller features that can be released early to establish a return on investment sooner in the lifecycle. &amp;nbsp;The smaller you can make your releases, the less total investment you need to succeed. &amp;nbsp;Think about the current project you are working on. &amp;nbsp;How big do your pockets need to be for success. &amp;nbsp;Can you identify earlier release points that let you work with less investment and risk to the project?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4024354974514788900-1049920052793116085?l=leanthinkingyoursoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leanthinkingyoursoftware.blogspot.com/feeds/1049920052793116085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/08/how-deep-are-your-pockets.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/1049920052793116085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/1049920052793116085'/><link rel='alternate' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/08/how-deep-are-your-pockets.html' title='How Deep are your Pockets ?'/><author><name>John Goodsen</name><uri>http://www.blogger.com/profile/14785659077472008036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://4.bp.blogspot.com/_VmvAN2xWXJ4/TKVZlIvM4RI/AAAAAAAACCo/GOyiK-Gqfjc/S220/photo2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_VmvAN2xWXJ4/TG1YnBl65MI/AAAAAAAACBE/CDhlXKECHAI/s72-c/AgileROI.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4024354974514788900.post-306190628651828564</id><published>2010-01-07T11:57:00.001-05:00</published><updated>2010-08-19T14:29:21.186-04:00</updated><title type='text'>Portable Personal Kanban</title><content type='html'>I organize my tasks using a personal kanban and since I move around the building a lot, I like to have my personal kanban with me.&amp;nbsp; So rather than trucking around a Franklin-Covey day planner all day, I truck around a manilla folder that is my Portable Personal Kanban.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_VmvAN2xWXJ4/S0YPzfgrUwI/AAAAAAAAB_k/HkVks225zho/s1600-h/portable_kanban1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_VmvAN2xWXJ4/S0YPzfgrUwI/AAAAAAAAB_k/HkVks225zho/s320/portable_kanban1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Open it up and Shazam!&amp;nbsp; My kanban is right there in front of me to keep me focused on Getting Things Done!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/_VmvAN2xWXJ4/S0YQAhoHw3I/AAAAAAAAB_s/KuXWirBknYs/s1600-h/portable_kanban2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_VmvAN2xWXJ4/S0YQAhoHw3I/AAAAAAAAB_s/KuXWirBknYs/s320/portable_kanban2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For note taking, I've recently been using a Livescribe tablet.&amp;nbsp; It lets me annotate my writing with voice notes and then it syncs it to my laptop where I can transpose the voice notes into text notes or whatever.&amp;nbsp; I've been playing around with attaching voice notes to cards on my personal kanban when necessary.&amp;nbsp; Not sure if it's just a gimmick I'm enjoying or not, but it keeps me from packing a Franklin-Covey around all day.&lt;br /&gt;&lt;br /&gt;How do *YOU* do personal kanban?&amp;nbsp; Please leave a comment - I'd love to hear more personal kanban stories.&amp;nbsp; For more on Personal Kanban, take a look at Jim Benson's &lt;a href="http://personalkanban.com/"&gt;Personal Kanban&lt;/a&gt; website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4024354974514788900-306190628651828564?l=leanthinkingyoursoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leanthinkingyoursoftware.blogspot.com/feeds/306190628651828564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/01/portable-personal-kanban.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/306190628651828564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/306190628651828564'/><link rel='alternate' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/01/portable-personal-kanban.html' title='Portable Personal Kanban'/><author><name>John Goodsen</name><uri>http://www.blogger.com/profile/14785659077472008036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://4.bp.blogspot.com/_VmvAN2xWXJ4/TKVZlIvM4RI/AAAAAAAACCo/GOyiK-Gqfjc/S220/photo2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_VmvAN2xWXJ4/S0YPzfgrUwI/AAAAAAAAB_k/HkVks225zho/s72-c/portable_kanban1.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4024354974514788900.post-6369354078736331433</id><published>2010-01-06T22:12:00.374-05:00</published><updated>2010-01-07T10:09:07.080-05:00</updated><title type='text'>Automate Your AJAX Web Acceptance Tests with a Domain Language</title><content type='html'>I've noticed a recurring surge of advice from my Lean/Agile colleagues that goes something like this: &lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;&lt;i&gt;"Don't Automate Acceptance Tests through the User Interface.  These tests tend to be brittle and they are expensive to build and maintain."&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;The underlying thinking is that the user interface tends to fluctuate a lot in development and this frequently breaks automated tests.&amp;nbsp; While it doesn't have to be this way, it's often just a matter of how you approach the problem.&amp;nbsp; The two most common approaches I've seen to automating web acceptance tests on Agile teams are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use a Capture/Replay tool to record user events into a test script that can be replayed as an acceptance test.&lt;/li&gt;&lt;li&gt;Use unit testing / BDD tools like JUnit or RSpec to test user interface components in isolation and design a "thin" view layer into the user interface, that you bypass with automated acceptance tests. &lt;/li&gt;&lt;/ul&gt;The first approach, using a capture/replay tool rarely lasts for long on a project.&amp;nbsp; In fact, I think there is probably a direct correlation between the amount of money an organization spends for a capture/replay tool and the time it takes to abandon that tool.&amp;nbsp; When you're spending tens of thousands of dollars a year in tool licenses and paying several people to maintain the growing suite of brittle tests it's hard to see you made a mistake.&amp;nbsp; Capture/Replay testing feels good at first, but it's a false sense of security that eventually falls apart.&amp;nbsp; Often at the times you need it the most - later in the project.&lt;a href="http://www.objectmentor.com/resources/articles/dip.pdf"&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;The "thin layer" approach, on the other hand, has been sound advice given the tools we've had available at the time.&amp;nbsp; I've been giving this advice myself for over a decade.&amp;nbsp; However, like the saying goes, all good things must come to an end. Sometimes it's a decade of sound, pragmatic advice.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The problem I've always had with the thin-layer approach is that my experience and respectable studies both tell me to expect over 50% of the code in an interactive application to be in the user interface.&amp;nbsp;  Compound that fact with the growing trend to build complex, AJAX Web User Interfaces and that can be a lot of code that's not getting acceptance tested before a release.&amp;nbsp; I never liked bypassing all that user interface code anyways.&amp;nbsp; I really want to test the application through the UI. &lt;br /&gt;&lt;br /&gt;Over the past couple of years, as I've experimented with Domain Specific Lanuages for testing web applications, my mind has changed.&amp;nbsp; A third, pragmatic option has emerged and it's time to challenge the assumption that we can't effectively automate testing through the user interface.&lt;br /&gt;&lt;br /&gt;With a little abstraction help from a DSL, we can effectively automate acceptance tests through the UI and deploy software with confidence that the *ENTIRE* application has been automatically tested prior to a release.&amp;nbsp; That's the hypothesis in this article.&amp;nbsp; Let's explore it further.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;What makes UI Testing Brittle?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;Your classical capture/replay tool creates tests that depend on too much detail, and that detailed information gets duplicated quickly. For example, consider &lt;a href="http://www.radtrack.com/"&gt;RAD/Track&lt;/a&gt;, an opensource kanban tool that I created.  In RAD/Track you can drag cards across swimlanes on a kanban board.  If you used a capture/replay tool to record the dragging of a card from one swimlane to another, you might end up with something like this:&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mousedown 120, 138&lt;br /&gt;mousedrag_to 230, 344&lt;br /&gt;mouseup&lt;br /&gt;&lt;/blockquote&gt;After recording dozens of scenarios that involve dragging cards around on boards, you'd end up with that kind of detailed information getting duplicated into a lot of tests. Tests that contain this level of detail are bound to become a nuisance. For example, what happens when we change the position of a board on a web page and proudly re-run our suite of capture/replay tests?&amp;nbsp; Wham! All of the sudden, those beautiful, "so-easy-an-intern-could-create-them" tests are crashing like the lead pack in the last 60 seconds of a NASCAR!.&amp;nbsp; The&amp;nbsp; "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mousedown 120, 138" &lt;span style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; font-size: small;"&gt;commands&lt;/span&gt;&lt;/span&gt; now need to become &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;"mousedown 135, 144"&lt;/span&gt; and they're not sitting in one, easy-to-change location.&amp;nbsp; Your fancy capture/replay tool has been faithfully duplicating these nasty details across hundreds of man-hours of automated test development.&lt;br /&gt;&lt;br /&gt;The problem isn't testing through the UI.  The problem is writing tests that violate the &lt;a href="http://www.objectmentor.com/resources/articles/dip.pdf"&gt;Dependency Inversion Principle&lt;/a&gt;.&amp;nbsp; Capture/Replay tests create dependencies on details and when those details change, breakage happens.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Enter the Dragon.&amp;nbsp; Domain Specific Language to the Rescue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;So how can we effectively automate tests that will effectively exercise the entire application through the user interface?&amp;nbsp; We need to create an abstraction layer that exposes user tasks and hides the details of the user interface implementation.&amp;nbsp; In our world, that layer leverages a Domain Specific Language (DSL) -- a language that describes how a system should behave under use.&amp;nbsp; Let's take a look how it works using Cucumber with Selenium, but you could just as easily be doing this with Fitnesse for the test framework and/or Watir for the Web Browser automation.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Let's go back to our example.  Rather than describing the act of moving a card in pixel coordinates with something like&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;mousedown 120, 138&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;mousedrag_to 230, 344&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;mouseup&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;we can write a DSL statement like this:&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;When I drag card 13 to the "Done" swimlane.&lt;br /&gt;&lt;/blockquote&gt;That's called a "step" in Cucumber and we write a little code behind it that will run when we execute that step in a test.  The code might look like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;When /I drag card "(.*)" to the "(.*)" swimlane/ do |card, swimlane|&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @browser.drag_and_drop_to_object "//li[@id=card_#{card]", swimlane&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;end&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now consider what happens when we change the user interface layout?  Nothing.  And if there *were* any changes to be made, you make it in one simple location and all your tests keep passing!&lt;br /&gt;&lt;br /&gt;Just like creating SOLID code, building automated acceptance tests requires that we keep it simple and adhere to basic design principles.  Done properly, you can effectively test your entire application through the GUI - you just have to think about it at a user task level, not a point-and-click level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4024354974514788900-6369354078736331433?l=leanthinkingyoursoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://radsoft.com' title='Automate Your AJAX Web Acceptance Tests with a Domain Language'/><link rel='replies' type='application/atom+xml' href='http://leanthinkingyoursoftware.blogspot.com/feeds/6369354078736331433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/01/whats-your-business-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/6369354078736331433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/6369354078736331433'/><link rel='alternate' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2010/01/whats-your-business-language.html' title='Automate Your AJAX Web Acceptance Tests with a Domain Language'/><author><name>John Goodsen</name><uri>http://www.blogger.com/profile/14785659077472008036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://4.bp.blogspot.com/_VmvAN2xWXJ4/TKVZlIvM4RI/AAAAAAAACCo/GOyiK-Gqfjc/S220/photo2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4024354974514788900.post-8605938567941262221</id><published>2009-12-14T02:07:00.538-05:00</published><updated>2010-01-06T22:45:55.050-05:00</updated><title type='text'>radtrack: Kanban Goodness meets Open-Source</title><content type='html'>&lt;span style="font-size: large;"&gt;First, a little History ...&lt;/span&gt;&lt;br /&gt;Like all software craftsmen, I usually have a few personal programming projects going on. My current interest is to continue increasing my TDD skills with Ruby/Rails, Scala/Lift&amp;nbsp; and Javascript/jQuery. I find the current world of building highly scaleable web applications fascinating and have become hooked on the mojo of building high-performance, scaleable solutions with code that is extremely simple and concise.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://radtrack.com/"&gt;radtrack&lt;/a&gt; is a project that keeps me challenged in these technologies.&amp;nbsp; It's also been a project that lets me experiment with new ways to visualize and promote lean project workflow with distributed teams. Yes, yes I know what you are about to say:&amp;nbsp; "Distributed teams?&amp;nbsp; That's not Agile". &amp;nbsp; You're right.&amp;nbsp; So what?&amp;nbsp; I probably don't need the reminder.&amp;nbsp; I'd be the first to bust your chops and question why you'd suggest such tom-foolery on one of my projects.&lt;br /&gt;&lt;br /&gt;The reality is that there are still many large companies out there who are striving to become agile.&amp;nbsp; They're trying &lt;i&gt;&lt;b&gt;real hard now&lt;/b&gt;&lt;/i&gt; and I can't be the one going around confusing 'em with a singular focus on co-location or spoiling their day with the observable improvements of co-location.&lt;br /&gt;&lt;br /&gt;What I *can* do, in the interest of making their world a little bit brighter, is offer up an effective collaboration/kanban tool for free.&amp;nbsp; A tool that some companies might charge an arm and a leg for.&amp;nbsp; Arms and legs are essential to the bureaucracy.&amp;nbsp; They're expensive too.&amp;nbsp; We can't have that. &lt;br /&gt;&lt;br /&gt;Although I use radtrack for my own software projects, there is really nothing software specific about it.&amp;nbsp;&amp;nbsp; Here's some high level screen shots of what I've got running at &lt;a href="http://radtrack.com/"&gt;radtrack.com&lt;/a&gt; today.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;The Kanban Board&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;If you've seen some of the other fine tools that are currently available, there's nothing revolutionary going on here -- except maybe mine's prettier. :-)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;It's your basic board of swim lanes that represent your value stream (workflow).&amp;nbsp; Each swimlane has cards which can be dragged to other swimlanes, flowing left to right.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-xbjntqtsnrkkej8gfu8f84b4us.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="354" src="http://img.skitch.com/20091214-xbjntqtsnrkkej8gfu8f84b4us.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Cards have Tasks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;When a card on the kanban board is supposed to represent business value, more than one person will likely have tasks to perform in order make that card flow through the system.&amp;nbsp; In radtrack, we call those units of individual work a "task" and a card can have many tasks.&amp;nbsp; In the picture below, you'll see the popup dialog for a card and the tasks for that card.&amp;nbsp; You can edit the tasks directly in the popup card.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-87iurrqhw9r3sgwy2p9kx26e8u.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="446" src="http://img.skitch.com/20091214-87iurrqhw9r3sgwy2p9kx26e8u.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt;Hover to Get a Quick View of a Card's Details&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-ndt72mqdxme9ux6bxqu39nskx1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://img.skitch.com/20091214-ndt72mqdxme9ux6bxqu39nskx1.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;and ...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-n4heeswwcqbsetegyenj2ch6rf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="294" src="http://img.skitch.com/20091214-n4heeswwcqbsetegyenj2ch6rf.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="font-size: large;"&gt;Personal Dashboard&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-jfext3pd7tjeasaay4tb6x152n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="444" src="http://img.skitch.com/20091214-jfext3pd7tjeasaay4tb6x152n.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;This is my favorite view.&amp;nbsp; It gives you a picture of&amp;nbsp; your personal work queues.&amp;nbsp; You have&amp;nbsp; the option to limit the view to only those tasks in the current project or you can choose to see *ALL* of your tasks from every project combined into one view.&amp;nbsp; &lt;br /&gt;My idea with this view is to encourage you to limit your active tasks in the spirit of &lt;a href="http://en.wikipedia.org/wiki/Getting_Things_Done"&gt;Getting Things Done&lt;/a&gt; and &lt;a href="http://personalkanban.com/"&gt;Personal Kanban&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;The &lt;i&gt;&lt;b&gt;Unstarted Tasks&lt;/b&gt;&lt;/i&gt; list shows tasks that you have signed up for, but have not yet started.&amp;nbsp; If you see several tasks in this list, it might be an indication that you are hoarding tasks.&amp;nbsp; You don't want to do this.&amp;nbsp; Nobody wants to be known as the task hoarder.&amp;nbsp; Hoarding tasks creates bottlenecks and limits other people's opportunity help out when they are freed up and looking for more work.&amp;nbsp; radtrack makes it easy to spot and eliminate task hoarding on your projects.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;i&gt;&lt;b&gt;Active&lt;/b&gt;&lt;b&gt; Tasks&lt;/b&gt;&lt;/i&gt; list shows your current work queue.&amp;nbsp; Too many tasks in this list is an indication that you may not be as productive as you could be.&amp;nbsp; You need to quit starting tasks and start finishing tasks! As a result, you are probably spending too much time task-switching.&amp;nbsp; Strive to see only a single task in progress at a time during the day.&amp;nbsp; Strive for very few active tasks at a time and be very afraid when you have a lot of active tasks.&lt;br /&gt;&lt;br /&gt;The&lt;i&gt;&lt;b&gt; Finished Tasks&lt;/b&gt;&lt;/i&gt; list is the one list that you *DO* want to see get long.&amp;nbsp; The longer this list, the better you'll feel. Keep your focus on finishing tasks, not starting tasks.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Clicking on any task in this view will popup the card with that task as shown in the following screenshot:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-mmeugemp114pxweqhdebdf2wmn.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="499" src="http://img.skitch.com/20091214-mmeugemp114pxweqhdebdf2wmn.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Keep an eye on your teammates&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;There is a Team Members tab which gives you a quick view of all members in the current project and a list of currently active tasks that are assigned to each user.&amp;nbsp; Here's what that tab looks like:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://img.skitch.com/20091214-ceb9xga23m6cb97hb95kb81qjf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="458" src="http://img.skitch.com/20091214-ceb9xga23m6cb97hb95kb81qjf.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Some Whacky Future Ideas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;I have a lot of futuristic ideas on where radtrack can go, but I'd better stay focused at some more basic features, like putting WIP limits on swimlanes.&amp;nbsp; If you want to stay abreast of what's happing with radtrack, I'm afraid you'll have to do it the old fashioned way.&amp;nbsp; Follow the radtrack &lt;a href="http://twitter.com/radtrack"&gt;twitter feed&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Share the Love&lt;/span&gt;&lt;br /&gt;Of course, this all comes with great tidings of yuletide joy.&lt;br /&gt;&lt;br /&gt;I'm going to make all of this radtrack goodness available free to the public.&amp;nbsp; With the help of &lt;a href="http://blog.dudeblake.com/"&gt;Karman Blake&lt;/a&gt;, an excellent Ruby on Rails developer, we're putting some finishing touches on radtrack and we're planning to release it under an open-source license at github.com by the end of this month.&lt;br /&gt;&lt;br /&gt;Even though the radtrack source code is freely available, I will continue to offer limited-free and paid radtrack project hosting, however my goal is to grow an opensource kanban planning tool that is always useful and free to the masses.&lt;br /&gt;&lt;br /&gt;Follow my blog here, or you can follow me on &lt;a href="http://twitter.com/jgoodsen"&gt;twitter&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4024354974514788900-8605938567941262221?l=leanthinkingyoursoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://radtrack.com' title='radtrack: Kanban Goodness meets Open-Source'/><link rel='replies' type='application/atom+xml' href='http://leanthinkingyoursoftware.blogspot.com/feeds/8605938567941262221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2009/12/screenshots-of-radtrack-open-source.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/8605938567941262221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4024354974514788900/posts/default/8605938567941262221'/><link rel='alternate' type='text/html' href='http://leanthinkingyoursoftware.blogspot.com/2009/12/screenshots-of-radtrack-open-source.html' title='radtrack: Kanban Goodness meets Open-Source'/><author><name>John Goodsen</name><uri>http://www.blogger.com/profile/14785659077472008036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://4.bp.blogspot.com/_VmvAN2xWXJ4/TKVZlIvM4RI/AAAAAAAACCo/GOyiK-Gqfjc/S220/photo2.jpg'/></author><thr:total>2</thr:total></entry></feed>
