0% found this document useful (0 votes)
47 views3 pages

An Investigation Into Methods Used To Develop Software Systems

The document summarizes the results of a research investigation into software development methods used by 36 organizations. It was found that while standard development methods provide structure, organizations typically modify them significantly. Agile methods are increasingly popular and can be applied successfully to web applications. The organizations commented on the perceived strengths and weaknesses of various methods such as RAD, Waterfall, and Concurrent development.

Uploaded by

Chidimma Nzewi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views3 pages

An Investigation Into Methods Used To Develop Software Systems

The document summarizes the results of a research investigation into software development methods used by 36 organizations. It was found that while standard development methods provide structure, organizations typically modify them significantly. Agile methods are increasingly popular and can be applied successfully to web applications. The organizations commented on the perceived strengths and weaknesses of various methods such as RAD, Waterfall, and Concurrent development.

Uploaded by

Chidimma Nzewi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

An investigation into methods used to

develop software systems


by Dr. Roger Silberberg, Innovation Africa

This artic

Many software projects fail. In this research for a wide range of companies, for example organisation and explored the organisation’s
project the software development practices of e-commerce, and these applications have system development methodology through
36 organisations are investigated to determine specific characteristics that must be considered questionnaires, interviews and tours.
to what extent standard development methods in the development process. Web applications
are being deployed. It is found that, in general, Additional information was derived from
are network intensive, have a high level of
these standard methods are used only with major secondary sources such as reports, internet
concurrency, face an unpredictable load and are
modification and adaptation. searches and the media. Several staff members
usually in a state of continuous evolution. It has
been found that the agile process methods can were interviewed to corroborate details where
In all cases of software development, the
be applied successfully to these applications. necessary.
requirement must be analysed, a design must be
developed, implementation must proceed in a The students prepared a report and presentation
managed and controlled fashion, and organised outlining the result of the research. This paper
testing must be undertaken. In addition, summarises the results of the investigation.
provision must be made for handling change
Prescriptive process models
during all phases, and particularly during the bring useful structure to Perceived strengths and weaknesses of some
implementation and operational phases of the software development work and methods
application. Modern web-based applications
provide a roadmap for software The organisations commented on some of the
extend to a wide range of users, and questions
of security and aesthetics are rapidly increasing teams methods, as follows:
to critical levels of importance. RAD
Prescriptive process models bring useful
Strengths:
structure to software development work and These agile process models include:
provide a reasonably effective roadmap for • Early functionality, with little delay before
• Extreme Programming
software teams. These models define a distinct the client sees results
set of activities, actions, tasks, milestones and • Adaptive Software Development
• Quick response to business needs
work products that are required to develop
• The Dynamic Systems Development
high-quality software. These prescriptive process • Facilitates risk control
Method
models, or methods, include:
• Scrum • Documentation emphasises the end
• The Waterfall model product rather than the development of the
• Crystal product
• Incremental process models
• Agile Modelling. • Fosters early conversation between client
• The RAD model
An additional feature in the software development and developer
• The Spiral model
landscape today is the growing acceptance • Limits exposure to fo rces of change
• Concurrent development models of open source software. This software has
a new set of support, licensing, training and • Saves development time.
• Other specialised process models.
maintenance characteristics. Are the same Weaknesses:
More recently, organisations adopt what are development methodologies relevant?
called agile software development processes. • Some decisions traditionally made
These agile processes are aimed at boosting The research project by management are devolved to the
customer satisfaction and encourage early development team
This research investigates software development
incremental delivery of software. Project teams
tend to be small and highly motivated, while methods in an organisation today. Each of 36 • Can be seen as “quick and dirty”
informal methods and minimal software work students in the final year BSc class identified an
• Can suffer from bad documentation
products are the norm. individual organisation. Letters of introduction
including an outline of the research objectives • Final system can display poor
Web-based applications are becoming performance.
were prepared. Students made contact with the
increasingly integrated into business strategies

56 Elektron February 2006


Waterfall Concurrent The Waterfall model tends to be used where the
system can be defined clearly at the outset, and
Strengths: Strengths:
little change is anticipated.
• Disciplined process is easier to manage • Fast product delivery
RAD development emphasises a very short
• Forces proper initial analysis and design • High quality product development cycle (some 60 to 90 days)
and is used primarily for information system
• Termination possible before costs have • Easy adaptation to changes. applications. Teams comprising the project
escalated manager, systems analysts, systems developers
Weaknesses:
• Well defined phases, well defined inputs and the client hold joint application development
• Difficult/expensive to manage (JAD) sessions to facilitate client interaction
• Recognises the proper sequence of events throughout the development of the product.
that should take place. • Requires strict control to ensure system
Object-oriented analysis and design techniques
integrity
are incorporated, and provide the framework for
Weaknesses:
Summary of results a component-based process model for software
• Little room for error correction engineering. Agile techniques such as Extreme
The 36 organisations were split into three Programming are deployed to provide a solution
• Little knowledge transfer groups: to a specific problem, or to gain competitive
• The solution does not evolve with advantage.
• Global software developers (7)
technological advances during the course of Where high quality code needs to be delivered
the project • Local software developers (13)
as fast as possible, concurrent development
• No early feedback through prototyping • Organisations that develop their own techniques are deployed. These techniques
software (16) shorten the development period and permit
• Good forecasting ability essential relatively easy adaptation to changing user
In order to maintain anonymity, the names of
requirements. However, as tasks are carried
• Poor consistency across projects organisations are omitted from this paper. out by different project teams and because
• Difficult to implement This summary of the major comments made does development activities are mutually dependent,
not necessarily cover all the aspects of every management of these projects is complex.
• Limited re-use of intellectual capital
methodology mentioned. In RUP, used also by a large engineering
• Idles key team members organisation, the software lifecycle is split into
Group 1: Global software developers
• Defers testing to end. four sequential phases: inception, elaboration,
This group comprises the large, multi-national construction and transition. Each phase is
Iterative software organisations that develop widely-used concluded by a major milestone at which an
operating systems, databases and major business assessment is performed to determine whether the
Strengths:
applications. objectives of the phase have been met. Elements
• Allows for error correction of RAD and the Spiral Iterative methodology are
Because of the diverse nature of their products, clearly apparent. However, the RUP process is
• Encourages prototyping these organisations have developed generalised an integrated system supported by a full set of
• Keeps track of emerging technologies development methodologies that may be adapted development tools.
to each application.
• Feedback improves solution. Current developments in this group are toward
Examples are the Java Custom Development an iterative/incremental approach, in which
Weaknesses: Method (JCDM), the Microsoft Solutions additional functionality is incorporated in each
Framework (MSF), the Application Implementation increment/release, and the cycle of design, build
• Difficult to tailor
Method (AIM) and the Rational Unified Process and test is repeated until the desired functionality
• Can suffer from “analysis paralysis” is complete.
(RUP). These are defined, disciplined and
• Perception that there is no need to “get it deliberate approaches to software development Group 2: Local software developers
right the first time”, leading to unnecessary based on specific principles, models, concepts,
This group comprises organisations that are
rework guidelines and proven practices. The assumption
primarily based in southern Africa and that
is that there is no single structure or process
• Encourages moving development targets develop software solutions for clients.
that optimally applies to the requirements and
• Poor consistency across projects environments of all projects. These organisations develop:
• Difficult to implement Detailed assessment of these generalised • Specialised solutions in C++
methodologies lies outside the scope of this • ERP, EIS, GIS, SAP, CRM and enterprise
• Limited re-use of intellectual capital.
paper, however, they essentially combine management solutions
Iterative/incremental elements of the Waterfall, RAD, Concurrent and
• Upgrades and support
Iterative methodologies, and also include some
Strengths: • Database development
agile processes.
• Allows for error correction • Corporate internet connectivity and content;
It appears that the Waterfall method provides the
• Encourages prototyping web application development
basic structure, but that the needs of the market,
that is, speed of development, flexibility in the • e-commerce and e-learning solutions
• Tracks emerging technologies
face of changing user requirements and the • High-end business technology solutions
• Feedback improves solution need to incorporate evolving technology have
led to the adoption and incorporation of more • Biometric solutions
• Defined iterations and the system boundary
assist “get it right first time” ideal responsive techniques. The question arises as to • Continuous business improvement
whether these incorporations lead to errors and
• Clear development goals. • Time and attendance, finance, accounting,
defects in the delivered code. human resources and payroll systems

Elektron February 2006 57


• Call centre applications Group 3: Organisations that develop their own developments. An example of use of the Dynamic
• With some notable exceptions, the methods software System Development method was identified in
used in this group are based on Waterfall. the construction sector, where the method was
This group comprises organisations in
found to be cost effective and yield the rapid,
These organisations do, however, face the the financial services, mining, healthcare,
relevant results demanded by the user.
communications, transport and construction
same issues as any other software developer
industries that develop their own systems. The Microsoft Solutions Framework is applied,
in the current market, namely, the need for
An important consideration for these as are organisation-specific methodologies that
fast development and the fact that client
organisations is the build versus buy decision. formalise a combination of JAD, Spiral and
requirements and technology change. Therefore,
At some point in the development cycle, the Concurrent methods.
in many cases the Waterfall approach is adopted
with modification. The systems developers use decision must be made whether to continue
Conclusions
with in-house development or to purchase or
the best tools at hand, and attempt to improve
outsource a particular facet of the application. There are a set of large-scale development
the flexibility of the Waterfall method by
methodologies, such as JCDM, MSF, AIM
incorporating other techniques. Iterations and These organisations develop:
and RUP that are used primarily by the major
prototypes are built in to compensate for changing
• Specialised software tools to support software developers. These are less used by the
client requirements, and extreme programming engineering and mining operations local software developers and the organisations
is added to accelerate development. A hybrid in South Africa that develop their own software.
• Network performance, configuration and
development methodology results, and the In general, these methods are formalised and
availability management tools
overall effectiveness and efficiency of the integrated combinations of the traditional
development must be questioned. • Database and application implementations
approaches, and need to be adapted or tailored
Often a specific methodology is mentioned, but • Personnel administration, sales management, for each application.
purchasing and account analysis
assessment of the actual procedure reveals a Overall, the standard techniques appear to be
more ad-hoc and eclectic development strategy. • Telephone and telephony systems rarely used in their textbook form.
Again, the effectiveness of these approaches • Executive information, management The method that an organisation states or believes
must be questioned. information and decision support systems it is using is not necessarily the same as the actual
The notable exceptions use JAD sessions followed • Technical manuals and documentation method being used.
by 21-day RAD development incorporating • A large percentage of the organisations
• ATM support software
iterative prototyping. Also, the iterative method contacted in this survey combine elements
in the form of the RUP is applied, indicating that • Public information terminals
of different methods in unique combinations
this method is scalable and suitable for a wide • Claims submission applications in order to achieve speed of delivery and
range of applications. flexibility.
• Investment banking, equity trading and
research systems • There appears to be no difference in the
method used for open source software or for
Essentially, the Waterfall technique is used,
proprietary software.
because it is considered to be orderly and because
it ensures the adequacy of documentation and Therefore, the situation is such that:
the quality, maintainability and reliability of the
• A large number of software development
product. An instance was identified where an projects fail or are abandoned, and
organisation had abandoned the RUP method in
favour of the Waterfall, because RUP was found • The techniques taught to IT/IS students are
to be too cumbersome. However, in almost all not being applied properly.
cases the Waterfall method is modified. Extreme Clearly further investigation is required. The
programming elements are added, prototypes are possibilities exist that the methods are not
tailored to fit, RAD and Incremental approaches being taught properly, or that the inertia and
are incorporated to form peculiar, organisation- management structure of the organisation
specific adaptations. Clearly this is no text-book
prevents newer methods from being properly
application of the Waterfall method, but rather
deployed, or that the methods are simply too
a free adaptation and mix of whatever may be
theoretical, are not applicable in the real world,
at hand.
and need to be modified.
In addition, companies might ostensibly
This points to a range of different interventions:
appear to use the same methodology, but
improving student education in the field of
the methodologies they actually use are
systems development, improving management
not necessarily the same. They have been
education in terms of getting management to
moulded to suit the company, in the interests
understand the critical importance of effectively
of flexibility.
deployed systems, and revisiting the standard
A number of these organisations have, however, software development methods in the light of
moved away from Waterfall and now use Spiral current business practices and requirements.
and concurrent methods.
Given the substantial cost to the economy
Some application of Agile methods was found, resulting from expenditure wasted on projects
primarily as a tool to speed up the development that do not succeed, further investigation and
of projects being developed under a prescriptive analysis is recommended.
method. Extreme Programming is used to
prototype what are considered “lightweight Contact Roger Silberberg, Innovation Africa,
applications”, and as a tool in some iterative Tel (011) 883-1059, [email protected]

58 Elektron February 2006

You might also like