- We design and build extraordinary applications for companies looking to make the next great idea a reality.
- learn more
Get in the Flow (Task Flow that is)
Call them what you like (task flows, work flows, process flows), flow diagrams are an important part of any software project. As a developer, you may be more familiar with sequence diagrams, a nifty way to visualize an exchange of messages between different processes and the order in which they occur.
Well another useful diagram is the end-to-end task flow. This handy dandy diagram shows all the steps necessary for a user to accomplish a task. Buy a pair of shoes? Select shoes, select size, add to cart, go through checkout process. Simple and easy.
And yet, what is it really telling you? Well, a flow diagram gives you an overview of the end-to-end process, the start to finish if you will. It lets you know what the user needs to do in order to start a task (select those really cool shoes) and what defines that the task is completed (display order confirmation). In between those two points are all the necessary steps to go from start to finish.
Initially, the in betweens are very high level (as evidenced by the above diagram). As more information becomes available, the flow is modified, added to, subtracted from and generally redrawn to show not only the user tasks, but also the system tasks (return error message, validate and continue), alternative routes (continue shopping, display upsell message) and decision points.
I've found flow diagrams to be very helpful because they let team members know how their stuff fits into the big picture. Let’s face it, on most projects the end-to-end flow is never developed lineally by one developer. Instead, it’s broken down into pieces and parts and assigned to various people. Seeing the end-to-end diagram up front gives you the overall picture of how an entire feature will play out and, more importantly, shows you how and where your piece fits into the whole. It'll get you thinking about potential points where code can be reused (sweet!) or better ways the data can be used at the presentation layer.
End-to-end diagrams let you see that what you're working on is no longer a lonely story in isolation, but rather something that’s part of a defined sequence that contains a beginning and middle and end. It ties what you're doing into the whole and brings a coherency to the process. This is especially valuable for large features that are spread out across teams and even iterations.
Technorati Tags: task flows, information architecture, diagrams
Comments: 6 so far
Leave a comment
About Pathfinder
Recent
- Pimp my jQuery: Five plugins to replace the features Prototype and Scriptaculous users expect
- Thanksgiving 2008: What We’re Thankful For (In Rails)
- iPhone SDK: Testing with TextMate & GTM
- GWTQuery - JQuery-like Syntax in GWT
- Ask the readers: How do I fire native browser events in Prototype.js?
- News Rollup for the Week of November 17, 2008
- Rails ThreatDown!
- Automated Deployments Rock
- Bandwidth profiling Flex projects and more with Charles
- iPhone SDK: UIViewController Testing & TDD
Archives
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006




Lombardi Software has a free Web-based tool, Blueprint, that helps you discover, map, and visualize a process. Much like you describe here. https://blueprint.lombardi.com/
Comment by Craig Moser, Wednesday, September 19, 2007 @ 2:13 pm
Thanks, Craig — I’ll be sure to check it out!
Comment by Alice Toth, Wednesday, September 19, 2007 @ 7:44 pm
I recently started using Visio again, and must say I’m pretty impressed by how easy it is to make these flows. They’ve proven to be a great source of documentation to explain some of my work to peers.
Comment by David Cumps, Thursday, September 20, 2007 @ 4:55 pm
Thanks, David — I’m glad to hear someone else finds them just as useful. What I like is that they’re not a technical diagram like, say, a db schema so they’re easily understood by non-developers as well.
Comment by Alice Toth, Thursday, September 20, 2007 @ 10:40 pm
Hi Alice,
Workflows must be mandated in transactional UI design (not so much in informational UIs). If a UI designer can’t do them they should be shot!
In my business we have been promoting detailed user interface workflows for years now.
They serve the following purposes:
- Absolutely no question of what users want - They can even replace scenarios and personas if you like.
- Completely clear communication to designers and developers on exactly how the interface fits together.
- Unquestionability (is that a word) for my clients that this UI design stuff is really really complex.
The thing I often hear is ‘oh, we are just reskinning our application for another (customer) audience. The functionality is the same so the UI is easy.’ That is so untrue for transactional apps and workflows demonstrate the value of detailed interaction design.
One of my partner companies only asks for workflows as a deliverable now. They are smart and the government sites they do use similar patterns, but with different workflows. The workflow gives them the insight they need about customer interaction and any more work by my HCI consultants IN THEIR CONTEXT is a waste.
Thanks
Comment by James Breeze, Tuesday, October 9, 2007 @ 5:21 am
James, you rock!! In my experience, developers totally understand and get workflows. Business people don’t necessarily get it until you walk them through one and then, as you say, they get that it really shows the customer interaction.
Where I struggle most is in dealing with people who understand the theory of software design, but have never really been involved in software projects. They either don’t understand workflows or they’re not conceptual or something. That’s still a challenge I need to overcome.
Comment by Alice Toth, Tuesday, October 9, 2007 @ 11:37 pm