Page 201 -
P. 201

168     part 2  •  inforMation requireMents analysis

                                             The fourth lesson we take from the agile approach is that the 40-hour workweek improves
                                         effectiveness. Even the hardest-hitting developers are susceptible to errors and burnout if they
                                         work too hard for too long a period. When the development team is together, however, every
                                         moment counts. Working at a sustainable pace is much more desirable for the life of the proj-
                                         ect, the life of the system, and the life of the developer! We all know the parable of the hare and
                                         the tortoise.
                                             The fifth lesson we draw from taking the agile approach is that balanced resources and activ-
                                         ities support project goals. Managing a project doesn’t mean simply getting all resources and
                                         tasks together. It also means that the analyst is faced with a number of trade-offs. Sometimes cost
                                         may be predetermined, at other junctures time may be the most important factor. The resource
                                         control variables of time, cost, quality, and scope need to be properly balanced with the activities
                                         of coding, designing, testing, and listening.
                                             The last lesson we take from agile modeling approaches is that agile values are crucial to
                                         success. It is essential to the overall success of the project that analysts wholeheartedly embrace
                                         the values of communication, simplicity, feedback, and courage in all the work that they do. This
                                         type of personal and team commitment enables the analyst to succeed where others, who possess
                                         similar technical competencies but who lack values, will fail. True dedication to these values is
                                         fundamental to successful development.


                                         Comparing Agile Modeling and Structured Methods
                                         As you have seen, agile methods are developed quickly, they reportedly work, and users are
                                         customers who are directly involved. While it is true that projects developed by using agile
                                         methods often require tweaking to work properly, agile developers admit that tweaking is
                                         part of the process. The agile approach implies many short releases, with features added
                                         along the way.


                                         Improving Efficiency in Knowledge Work: SDLC Versus Agile
                                         Researchers Davis and Naumann (1999) developed a list of seven strategies that can improve
                                         the efficiency of knowledge work: reducing interface time and errors, reducing process learn-
                                         ing time and dual processing losses, reducing time and effort to structure tasks and format
                                         outputs, reducing nonproductive expansion of work, reducing data and knowledge search
                                         and storage time and costs, reducing communication and coordination time and costs, and
                                         reducing losses from human information overload. These researchers believe this is impor-
                                         tant because, based on their study of a group of programmers, they claim that the best pro-
                                         grammers are 5 to 10 times more productive than the worst ones. They further point out this
                                         ratio is only 2:1 for workers in clerical or physical tasks. Their suggestion is that software can
                                         help improve many situations.
                                             We use the standard, traditional systems development approach of structured methods to
                                         compare and contrast how structured approaches versus agile methods would implement the
                                         seven strategies proposed to improve the efficiency of knowledge workers.
                                             While adopting more software may indeed improve performance, it is reasonable to suggest
                                         that changing an approach or a methodology may also improve performance. Consequently, we
                                         will examine each aspect of knowledge work productivity through lenses from both structured
                                         and agile methodologies. Figure 6.8 lists the original seven strategies for productivity improve-
                                         ment and explains what methods are used to improve the efficiency of systems development for
                                         both structured and agile methodologies.
                                             In the upcoming sections we will compare and contrast structured approaches with the agile
                                         approach. An overarching observation about the agile methodology is that it is a human-oriented
                                         approach that permits people to create nuanced solutions that are impossible to create through
                                         formal specifications of process.
                                         REDUCING THE INTERFACE TIME AND ERRORS.  Systems analysts and programmers need to
                                         analyze, design, and develop systems using knowledge work tools that range from Microsoft
                                         Office to sophisticated and costly CASE tools. They also need to document as they develop
                                         systems. It is important that analysts and programmers are capable of understanding the interface
                                         they use. They need to know how to classify, code, store, and write about the data they gather.
   196   197   198   199   200   201   202   203   204   205   206