Page 203 -
P. 203
170 part 2 • inforMation requireMents analysis
MAC APPEAL
Just as agile methodologies are an alternative to the SDLC, OmniFocus is an alternative to Microsoft
Project and other Gantt chart or PERT diagram approaches.
A casual observer might think that agile methods are unstructured because systems are built
without detailed specifics and documentation. A student of agile methods realizes that there is actu-
ally quite a bit of structure in the agile approach. Principles include sticking to the 40-hour work-
week and coordination through pair programming. An analyst who adopts agile techniques needs
a way to set goals, stay within budget, set priorities for features, and find a way to get things done.
OmniFocus is based on an alternative task management system by David Allen, called Getting
Things Done. The overriding principle is to free your mind from remembering things, so that you
can concentrate on completing them. An analyst using this system goes through five actions: collect,
process, organize, review, and do.
A systems analyst using OmniFocus collects items from his or her Web browser, address book or
calendar, and most other applications on a Mac. The analyst can categorize the data or assign it to a
larger project. OmniFocus contains a planning mode so the analyst can see which task is part of a larger
project and a context mode that organizes the tasks so the analyst knows all the tasks that must be done
either by phone, by browsing the Web, or by using email. OmniFocus is also available as an iPhone app.
Figure 6.MAC
OmniFocus from The Omni Group. (Screenshot form OmniFocus, a registered
trademark used under license. Graphic reprinted with permission of the Omni Group.)
need to know what the deliverable will be and how they will go about organizing the project so
they can complete all the necessary tasks.
A traditional approach would include using CASE tools, drawing diagrams (such as E-R
diagrams and data flow diagrams), using project management software (such as Microsoft
Project), writing detailed job descriptions, using and reusing forms and templates, and reusing
code written by other programmers.
Systems development using an agile approach addresses the need to structure tasks by
scheduling short releases. The agile philosophy suggests that system developers create a series of