Page 204 -
P. 204

Chapter 6  •  agile Modeling and prototyping     171

                 deadlines for many releases of the system. The first releases would possess fewer features, but,
                 with each new release, additional features would be added.
                 REDUCING THE NONPRODUCTIVE EXPANSION OF WORK.  Parkinson’s law states that “work
                 expands so as to fill the time available for its completion.” If there are no specified deadlines, it
                 is possible that knowledge work will continue to expand.
                     With traditional structured methodologies, deadlines at first seem far in the future. Analysts
                 may use project management techniques to try to schedule the activities, but there is a built-in
                 bias to extend earlier tasks longer than they need to be and then try to shorten tasks later on in
                 the development. Analysts and programmers are less concerned about distant deadlines than
                 approaching ones.
                     Once again, the agile approach stresses short releases. Releases can be delivered at the
                 time promised, minus some of the features originally promised. Making all deadlines imminent
                 pushes a realistic expectation for (at least partial) completion to the fore.

                 REDUCING THE DATA AND KNOWLEDGE SEARCH AND STORAGE TIME AND COSTS.  System
                 developers need to gather information about an organization, goals, priorities, and details about
                 current information systems before they can proceed to develop a new system. Data-gathering
                 methods include interviewing, administration of questionnaires, observation, and investigation
                 by examining reports and memos.
                     Structured methodologies encourage structured data-gathering methods. Structured techniques
                 would normally be used to structure interviews and design the interview process. Questionnaires
                 would be developed in a structured way, and structured observational techniques such as STROBE
                 would encourage an analyst to specifically observe key elements and form conclusions based on
                 the observations of the physical environment. A sampling plan would be determined quantitatively,
                 in order for the systems analyst to select reports and memos to examine.
                     Knowledge searches are less structured in an agile modeling environment. The practice
                 of having an on-site customer greatly enhances access to information. The on-site customer is
                 present to answer questions about the organization itself, its goals, the priorities of organiza-
                 tional members and customers, and whatever knowledge is necessary about existing information
                 systems. As the project continues, the picture of customer requirements becomes clearer. This
                 approach seems relatively painless because, when the system developers want to know some-
                 thing, they can just ask. The downside, however, is that the on-site representative may make up
                 information if it is unknown or unavailable or evade telling the truth for some ulterior purpose.

                 REDUCING COMMUNICATION AND COORDINATION TIME AND COSTS.
                 Communication between analysts and users, as well as among analysts themselves, is at the
                 heart of developing systems. Poor communication is certainly the root of multiple development
                 problems. We know that communication increases when more people join a project. When two
                 people work on a project, there is one opportunity for a one-to-one conversation; when three
                 people are involved, there are three possibilities; when four are involved, there are six possibili-
                 ties, and so on. Inexperienced team members need time to get up to speed, and they can slow
                 down a project even though they are meant to help expedite it.
                     Traditional structured development encourages the separation of big tasks into smaller tasks.
                 This allows more tightly knit groups and decreases the time spent communicating. Another
                 approach involves setting up barriers. For example, customers may not be given access to pro-
                 grammers. This is a common practice in many industries. However, increased efficiency often
                 means decreased effectiveness, and it has been noted that dividing up groups and setting up bar-
                 riers often introduces errors.
                     Agile methods, on the other hand, limit time instead of tasks. Timeboxing is used in agile
                 methodologies to encourage completion of activities in shorter periods. Timeboxing is simply
                 setting a time limit of one or two weeks to complete a feature or module. The agile method scrum
                 puts a premium on time, while the developers communicate effectively as a team. Since commu-
                 nication is one of the four values of the agile philosophy, communication costs tend to increase
                 rather than decrease.
                 REDUCING LOSSES FROM HUMAN INFORMATION OVERLOAD.  We have long known that people
                 do not react well in information-overload situations. When telephones were an emerging
                 technology, switchboard operators manually connected calls between two parties. It was
   199   200   201   202   203   204   205   206   207   208   209