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