An investigation into methods used to develop software systems by gyvwpsjkko


									             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
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
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
•   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
                                                                                                        are incorporated, and provide the framework for
                                                   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
                                                   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
                                                     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,

58                                                                                                                                   Elektron February 2006

To top