Upload
nasreenrozina
View
219
Download
0
Embed Size (px)
Citation preview
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 1/25
2842: Determine and select appropriate methodology for a given activity 1© State of New South Wales, Department of Education and Training, 2006
Reading notes—Determine and selectappropriate methodology for a givenactivity
Knowledge of client business domainIn order to utilise technology effectively, it must fit the user’s goals. It is nogood developing a database that manages stock when the requirement was
for a system that manages contacts of potential customers. To ensure that
you start on the right track, it is important to have an understanding of the
organisation’s business domain.
What is the client’s core business? Sometimes it is apparent what the
organisation’s core business is. Coca-Cola Company, for example, which
has a high profile worldwide, is in the business of producing non-alcoholic
beverages. For other organisations, the question of what the client’s core
business is is not always so straightforward. How can you find out what an
organisation’s core business is?
Documents produced at a high level in the organisation are usually a good
source of information for determining a company’s core business or
businesses. Mission statements, strategic goals and organisational charts are
good examples of these. A mission statement states the main purpose of theorganisation and usually incorporates its financial, social and/or
environmental goals. Organisational charts can provide a graphicalrepresentation of the business in terms of how it is organised to fulfil its core
business.
Where can you find this information?
One place might be in the company’s annual report. Also, many businessesare promoted today via the Internet, where this information may be made
available.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 2/25
2 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Activity 1
To practice finding information about a client business domain, complete
Activity 1—Knowledge of client business domain in the Activities section of the Topic menu.
Organisational features and functions
Understanding an organisation’s core business helps to put into context the
business itself. With this in mind, we can begin to look at the variousfunctional areas that form part of an organisation. All businesses perform
basic business functions such as the following:
producing a product or service
selling
marketing
accounting
managing human resources.
This is usually the case regardless of an organisation’s size. In smalloperations, these functions may be performed by one person. Larger
organisations may be organised around the business functions. Informationtechnology is another function of business that is becoming commonplace.
As well as these basic business functions, some organisations perform
functions that are common to other organisations or unique to that
organisation alone. Research and development, legal consultancy and
special projects are some examples of these.
Organisation structure
Referring to an organisation chart provides an insight into how the
business is organised and managed. Some organisations are arranged along
functional lines where each business function comes under its own
manager. Other organisations structure themselves along product lines or
geographical areas. Management type can also be gleaned from a
business’s organisational chart.
Organisations that have a lot of middle management tend to have tall
hierarchical structure charts, whereas flatter structure charts indicate anorganisation that has few middle-level managers. Middle managers in these
latter types of organisations are said to have a wide span of control. Thisrefers to the spread of authority a middle manager has over staff at an
operational level.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 3/25
2842: Determine and select appropriate methodology for a given activity 3© State of New South Wales, Department of Education and Training, 2006
Lines of communication
Formal lines of communication are another aspect depicted in an
organisational chart. This has significance when analysing the requirements
for a given area within an organisation and how it interacts with other
departments. This needs to be interpreted from an informal perspective as
well as a formal one.
Image: Organisational chart for Shark Publishing showing three levels of staff, withmanaging director at the top, then two middle managers, and five staff on thebottom level; each position and the current job holder is named
Figure 1: Example of an organisational chart
Reflect
The manager of the purchasing department of a company has now been
promoted to director of finance. Her position has been given to the manager
of accounting and in turn a new staff member has been employed to fill this
role. Does this restructure necessitate any change to the company’s
organisational documentation?
Feedback
Yes! The organisation chart will need to be redrawn to show the new
responsibilities. Any other business documents which reference the name of the person in one of these roles will also need to be changed.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 4/25
4 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Lines of communication (continued)
Many businesses will already have an organisational chart of their business
structure which you will be able to use for this purpose. If not, one of your
first tasks should be to create one.
An organisational chart can be hand-drawn or a software program can be
used to create it. Microsoft Word has a feature to automatically create anorganisational chart in a document.
Other features of an organisation are reflected in its policies and
procedures as well as the culture of the work environment. For example,does it adhere to the principles of EEO (equal employment opportunity)? Is
the dress code formal or informal? Is there a history of promoting fromwithin the organisation, or are positions sourced externally?
What does all this have to do with technology?
An understanding of an organisation’s structure and functions, as well as
how they interact, is essential for the organisation to be efficiently supportedby available technology. It is also important to be able to investigate and
select technology to support the organisation’s goals.
Reflect
An organisation has produced its statement of strategic goals for the next three
years. One of these goals includes a migration to e-business. What businessfunctions would be affected by such a goal?
Feedback
Basically, all of them! This particular goal will require some carefulplanning and liaison between all functional departments and the IT
department.
Knowledge of current business functions
Although each type of business has functions and requirements that are
specific to the industry in which it operates, there are many functions that
are common to all businesses. Some of the common functions of a business
are discussed below.
Human resources (HR)
Human resources (HR) maintains information about the people who work
for the company. Within the HR area, there will be processes for handlingpersonnel functions and payroll functions.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 5/25
2842: Determine and select appropriate methodology for a given activity 5© State of New South Wales, Department of Education and Training, 2006
The personnel processes includes keeping track of personal data about the
staff, such as address, date of birth, marital information, employment record,position in the company, leave entitlements and skills details.
The payroll processes manage production of payslips and cheques,including calculating pay for the period, tax and superannuation
contributions and storing information to meet the legal requirements of the
tax office.
Inventory
This area keeps track of all the items owned by the business. It records item
descriptions, quantities, locations and value.
There are two distinct types of items owned by a company:
assets
consumables.
Asset register
Assets are the items needed to carry out the organisation’s business, forexample the office furniture, computers and company cars. Since these
assets are often located in different areas of the company, an asset register is needed to keep track of them.
Consumables can be of two different types—stock and parts—anddifferent processes are required to handle them.
Stock inventory
This keeps track of the products that the business has manufactured and
sold. It is important to maintain accurate records of these details for analysis
of what the company should produce in the future. For example, there is no
reason for a car manufacturer to keep producing one hundred red four-wheel
drive vehicles every week if the company has only sold fifty in the previous
year. It would make more sense to change production schedules to makemore green four-wheel drives if the company sold five hundred green
vehicles last year but currently only makes ten a week.
Parts inventory
A parts inventory keeps track of all of the parts that are used to
manufacture the company’s products. Some examples of parts may be the
wheels, spark plugs, bolts and doors that are used to manufacture a car. It is
important to keep track of what parts the business has so that there will be
no delays in production because the necessary parts are not available. This
area is crucial to the efficient running of the production side of the business.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 6/25
6 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
A typical parts inventory function would include the following:
a parts issue process which issues parts to the rest of the business
an inquiry process to allow staff to check on current levels of inventory
a stock take process to check for discrepancies between actual and
recorded inventory levels
an ordering process which is responsible for ordering parts fromsuppliers when necessary; this involves keeping statistics on usage
of parts, details of suppliers and how long it takes them to deliver theparts
once parts have been delivered to the company, the parts delivery
process will add the parts received to the current stock record andprovide the accounting area with details of these so that payment can
be made to the suppliers.
The following chart shows a typical parts inventory function:
Image: Inventory chart with ‘Inventory’ in the top level box and ‘Parts Issue’
‘Ordering’ ‘Delivery’ ‘Inquiry’ and ‘Stock take’ in the six boxes on the second level.
Figure 2: Inventory function chart
Finance
The finance area keeps track of all the financial aspects of the business.
The most common processes are:
accounts receivable
accounts payable.
Accounts receivable
This function keeps track of money owed to the business. It createsinvoices when goods are sold, checks the customer’s credit limit, records
payments that have been made against the invoices and sends reminders for
overdue payments.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 7/25
2842: Determine and select appropriate methodology for a given activity 7© State of New South Wales, Department of Education and Training, 2006
Accounts payable
This function keeps track of the money owed by the company. This
involves recording all orders raised by the business and checking the details
against goods and invoices received from suppliers. Payment is made once
details have been checked.
General accounts
This function handles the funds used within a business and generates reports
detailing the use of assets and resources. It includes preparation of budgets
for departments within the business, monitoring spending and producing
annual income and expenditure figures.
Marketing
Marketing has two functions: one is to sell the company’s products or
services and the other is to determine what products or services to sell and
who to sell them to. Determining what to sell and who to sell to is termedmarket research and may involve market surveys which ask people about
their preferences for certain products.
The sales function will involve identifying the best place and method forselling the company’s products or services and may include selling in a
store, by phone or mail order or via the Internet.
Production
This function is found in all businesses that produce a physical product. The
company will usually have one or more factories where the product ismanufactured using consumable items. The product is then sold to
customers.
Processes involved in this area include scheduling, i.e. a plan of what
product or part of a product will be made by what machines at what times.
This plan will then be used to determine what parts are needed, where and
when they are needed. The plan can also be used to provide details of the
staff that are required.
Activity 2
To practise finding out information about a client business domain,
complete Activity 2—Obtain knowledge of the client business domain in the
Activities section of the Topic menu.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 8/25
8 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Reflect
Think about a business that you have worked for. What business functions did it
have? What business functions did it have that were specific to thatindustry?
Feedback
When trying to define a business problem, it is important to identify whichbusiness functions are involved and the links between them.
Some functions will be core business functions, which mean that they arecritical to the running of the business. It’s important to identify which the
core business functions are in order to ensure that any proposed solution willtake into account the critical nature of these functions in the overall business
environment.
Role of stakeholdersA stakeholder is someone who holds an interest in something. In this topic,
a stakeholder refers to a person who has an interest in, or is affected by, the
business problem that is being investigated.
Imagine that your local bank branch is being forced to close.
Who would be directly affected by this action?
Who would be indirectly affected?
Who would have an interest in ensuring that the branch stayed open? Who would have an interest in ensuring that the branch was closed?
There are a lot of people who have a stake in the closure of a bank branch.
Some of the groups of people who would be directly affected include thefollowing:
the bank’s customers in particular
older people or people with special needs who do not like to use
ATMs, phone banking or Internet banking
local businesses who rely on a nearby branch to meet their
operational banking needs
people without transport and low-income earners who can walk totheir local branch or who need only travel a short distance to do their
banking
the bank’s employees, who may lose their jobs.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 9/25
2842: Determine and select appropriate methodology for a given activity 9© State of New South Wales, Department of Education and Training, 2006
Some of the groups of people who would be indirectly affected include the
following:
local businesses who often find that customers will shop in larger
centres where a bank branch is still operating
the community, which often suffers when services are not availablelocally; the possibility exists that other essential community services
may also be relocated to larger centres
community groups who may be concerned that the sense of community is at risk when daily interaction between residents is
distributed further afield, away from local community centres.
Some of the groups of people who have a stake in ensuring that branches
stay open include the following:
the greater community, which may be concerned that bank servicelevels and the needs of the community are becoming secondary
priorities to bank profit and financial image
politicians, who represent the needs of the community and localbusinesses
government departments who deal with people who may be affected,
particularly those who would be disadvantaged by a bank’s closure
other small business centres, who see that they may be at risk of losing their banking facilities as well.
Some of the groups of people who have a stake in ensuring that branches areclosed include the following:
the bank’s management and board of directors
the bank’s investors and shareholders
larger shopping centres that may benefit from increased custom.
As you can see, one event can have an impact on many people.
Who are the stakeholders?
If an IT solution to the problem is being considered, stakeholders may
include the following:
Those directly affected The client
Affected users
IT staff working on the project or associated projects
Managers of the affected business area
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 10/25
10 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Steering committees.
Those indirectly affected
IT staff working on associated projects
IT management.
Interested parties
The managers of other departments
Company directors
Managing director.
Management has an indirect but controlling stake in any project that is
initiated within the company. Many companies also have a steering
committee for IT projects. This committee determines the direction of
projects or initiatives within the company.
Upper management or a steering committee are usually the primary
stakeholders and have the final say when projects are signed off for
acceptance.
Why is it important to ensure that upper management are adequately
informed about the status of a project, changes that will have an impact on
the project, and additional risks and implications that have become apparentduring the analysis and design phases?
Obviously, upper management will not be checking to see that designdocuments are in order; however, they read the status reports, take
recommendations from other management and team leaders and ensure thatprojects are in place in order to deliver the business benefits that were
identified during the project start-up phase. Changes to schedules, increasedrisks to projects and impacts on quality or budget are of interest to upper
management. At the end of the day, they are responsible for where money is
spent within the company and, with accurate information, they can assess
the benefits to the company of projects and initiatives.
It is necessary to understand the types of stakeholder and to ensure that:
you don’t forget about any type of stakeholder
you have a representative of each type of stakeholder that has the
authority to sign off requirements for their group.
You may use a table like that shown in Table 1 below as a checklist to
ensure you are not missing any categories of stakeholder.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 11/25
2842: Determine and select appropriate methodology for a given activity 11© State of New South Wales, Department of Education and Training, 2006
Table 1: Checklist of stakeholder categories
Category Stakeholders Representatives
Sponsors Kim Woo (Head of
Investment)
Project managers Jill Anderson
External supplier –
Internal supplier Fran Keating (IT Manager)
Infrastructure IT Grace Lam (NSW Systems
Manager)
Test team Anthony Farrelly (Investment
Systems Test Lead)
End users—Fixed
interest front office
Analysts:
Avril Smith, Lidija Rossi,
Michael Boynton
Avril Smith
End users—
Australian equities
front office
Analysts:
Quinton Jones, Terrence
Brown, Anthony Wong
Anthony Wong
Each project will have different types of stakeholders depending on the sizeof the project and the type of organisation. See Figure 3 for an example of
stakeholders in a project.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 12/25
12 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Image: Diagram showing stakeholders in proposed system (as inner circle)surrounded by outer circle with stakeholders such as Systems administrator(system maintenance), Users (reservation clerks around Australia), Bus drivers(get reports from the system), CEO (needs the system to deliver cost savings), andSoftware supplier (who builds the system)
Figure 3: An example of the stakeholders involved in the BIGBUS reservationsystem
End users
The stakeholders who will usually have the most involvement in thedevelopment process are the end users. These are the people who will use
the system being developed on a regular basis, either to enter informationinto the system or to get information out of the system as a means of
performing their normal business functions.
Categories of end users You need to ensure that you consider possible differences between end
users.
For example:
Are the users geographically separated?
Are there different levels of access to information?
Are there users who provide support for the system?
Are there users who are outside the organisation?
Are there large numbers of users, for example the public?
Consider unusual types of end users
Where users are outside the organisation or there are large numbers of them,
the process of selecting representatives may require planning. For example,
if you are building a public Internet site, how are you going to ask your
users what their needs are?
It is likely that someone within the organisation will be given the role of representing the needs of these users. This person should have a vested
interest in ensuring the external users are looked after. For example, thesales manager would make a good representative for these users, whereas
the head of infrastructure would not.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 13/25
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 14/25
14 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Image: Circular diagram illustrating the life cycle of a butterfly. The word ‘birth’ is at
the top outside the circle and includes ‘egg’ and ‘egg hatches’. The next stage inthe cycle is ‘growth’, which includes ’caterpillar’ and ‘metamorphosis’. This isfollowed by the stage called ‘life’, which includes ‘butterfly’, ‘mates’, ‘lays eggs’. Thefinal stage in the cycle on the circle is ‘death’, which includes ‘dies’.
Figure 4: Life cycle of a butterfly
In a similar way, computer systems have a life cycle. They are bought,installed, used for a while, possibly upgraded, and eventually thrown away
when a better product comes on the market.
When you develop computer systems, you can identify a set of stages that
are required from the recognition of a specific need to the implementationand eventual retiring of the system.
Current development methodologies
There are four basic features of development models that we will be
considering:
1. The role of business users and their contribution to systems
development
2. Linear versus non-linear task flow
3. Iterative versus non-iterative nature of the life cycle—the ability torevisit and reassess different stages of the SDLC
4. Monolithic or staged delivery—the ability to phase the
implementation and delivery of a system
There are many different development methodologies that are currently used
within the industry. Some of the most popular system development
methodologies currently in use include the following:
traditional SDLC or waterfall
iterative
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 15/25
2842: Determine and select appropriate methodology for a given activity 15© State of New South Wales, Department of Education and Training, 2006
Rapid Application Development (RAD)
incremental
evolutionary.
Traditional SDLC or the waterfall model
As the name implies, the traditional SDLC or waterfall model development
consists of a sequentially ordered set of stages where one stage naturally flows downhill into the next. See Figure 5.
A waterfall SDLC requires one stage to be completed fully before startingon the following stage. It can be quite difficult to go back and make changes
to the output or deliverables once a stage has been completed.
For example, the outcome of the requirements-gathering stage is the
modelling and documentation of the requirements. In the design phase, the
models and requirements are interpreted and the actual design for the system
is then developed. If the requirements change, this directly affects the design
process.
Image: Diagram of a waterfall SDLC model with one computer on the bottom leftand another at top right. A series of boxes decline from top left to bottom right withconnecting arrows. The boxes, from top to bottom, are ‘Project concept’,‘Requirements analysis’, ‘Design and architecture’, ‘Build’, ‘Testing anddeployment’, ‘Maintenance and enhancement’, and finally ‘Retirement’.
Figure 5: Waterfall SDLC model
The waterfall model developed as a way of freezing requirements and
design since the cost of implementing a system was once extremely
expensive. Major changes to requirements would arrest the huge process of
coding and building the system. The waterfall model prevented the
development from being placed into a constant state of incompleteness.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 16/25
16 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
The reality of almost all computer systems is that fixed requirements do
not exist. Analysts often find that the processes of developing the system,expanding a design or implementing a report help them discover issues and
pose new questions that change the requirements.
As development tools have become cheaper, easier to use and allow faster
implementation, the idea of forcing developers to reject changing
requirements no longer makes sense. This has given rise to alternativedevelopment methodologies that take into account the fact that requirements
are rarely ever stable and realistically cannot be frozen if the resulting
system is to meet a real business need.
Many aspects of the waterfall model are still useful in modern development
methodologies; however, the idea of large applications development has
been almost entirely supplanted by smaller-sized projects that are iterative
and take advantage of user-interactive methods.
Iterative development models
Iterative development models enable changes in requirements to beincorporated into the process by repeating a stage in the SDLC. The diagram
in Figure 6 is simply a modified waterfall model that has arrows that goback to previous stages.
Image: Graphic with computer in top right hand side. The boxes, from top tobottom, are ‘Project concept’, ‘Requirements analysis’, Design and architecture’,‘Build’, and ‘Testing and deployment’.
Figure 6: Modified waterfall model
Most of the commonly used SDLCs have an iterative component. You can
see in Figure 6 that if an issue is discovered during the testing phase, we cango back to the design or build stages. In some cases, it may even be
necessary to review the requirements based on the testing findings.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 17/25
2842: Determine and select appropriate methodology for a given activity 17© State of New South Wales, Department of Education and Training, 2006
Rapid application development (RAD)
Image: Graphic with computer on the left and boxes above with the words ‘Projectconcept’ leading to the computer, and then to a box for ‘Requirements prototype’and then flowing to boxes on the right for ‘Analysis’, ‘Design and architecture’,
‘Build’, ‘Testing and deployment’, ‘Maintenance and enhancement’, and finally‘Retirement’. The arrows flow from one box to the next in only one direction
Figure 7: Rapid development model
Some projects are more suited to a RAD style of system development,
which focuses on creating prototypes that can be used in production if they
prove useful. If a prototype is not useful, it is either improved or discarded
and a new prototype created.
In general, RAD methods emphasise getting a quick return for the money
invested in developing software. They attempt to make the analysis and
design phases short and very focused. This is justified on the basis thatrequirements are changing so quickly and time-to-market is so critical that
the returns are lost if they take longer than a very short period.
There are four main ingredients for a successful RAD project:
tools
methodology
people
management.
Tools
RAD’s success is in reducing the time and hence the cost of the
development task. It is therefore essential that tools are available to help
developers create applications quickly and easily. The types of tools
required may include the following:
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 18/25
18 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Table 2: Tool types required
Tool type Function
graphical user interface (GUI) generators quickly create visual interfaces and thengenerate underlying source code
4th-generation languages (4GLs) Full-featured program languages which
reduce programming effort by creating
programs with far fewer lines of code
relational database management systems
(RDBMS)
software to create and manage relational
databases
computer-aided software engineering
(CASE) tools
support all stages of system development.
All analysis and design models are retained
in an encyclopaedia and can be reused in
later projects
Methodology
Developers must adhere to the RAD methodology which integrates
advanced development techniques such as Joint Application Design (JAD)
and prototyping and clearly defines development tasks.
People
Having the right people for the job is as critical as having the right tools.
RAD requires a user-sponsor who can make things happen by motivatingother users and removing political or bureaucratic barriers.
Throughout the development project, RAD uses JAD sessions, a techniqueto greatly reduce elapsed time spent on analysis and design stages. A JAD
session is an intense working session lasting about four days, run by a leader(or facilitator) and attended by 6–10 key people who have knowledge of the
area under study and the authority to make decisions for that area. Thesession will either determine the requirements for a new system or develop a
general new system design. The costs of a JAD session can be high—amajor time commitment from senior people in the organisation and an
experienced and highly skilled facilitator must be employed—and therefore
key users and managers must be committed to attending and participating.
RAD also requires a highly skilled development team, sometimes called a
SWAT team (skilled with advanced tools). This is a small group of nomore than five people - all experienced, well-trained developers who can
work together efficiently and effectively. Through their experience, these
members may have developed their own libraries of reusable designs which
can further speed development.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 19/25
2842: Determine and select appropriate methodology for a given activity 19© State of New South Wales, Department of Education and Training, 2006
Management
RAD’s success requires that management demonstrate support by helpingmanage the organisational changes required. Management must agree that
decisions made by their representatives in JAD sessions are binding andequivalent to formal sign-offs in the traditional SDLC.
Management must also ensure that effective project management tools andtechniques are employed so that the benefits of RAD can be measured.
In this development model, the prototype is used as the primary method for
gathering requirements and facilitating the analysis. Users find it much
easier to determine what they don’t like or don’t want once they have seen
something actually running. This also helps to determine what they do need
or want.
There are many variations on this style of development. Here are some
references for more information:
Agile methodologies: These are a set of values rather than a
prescriptive process. Agile methodologies aim to be more responsiveto users’ changing requirements. Users are actively involved in
analysis and modelling efforts. For an example, go to the following
website: http://www.agilemodelling.com/
Dynamic systems development method: DSDM is an industry-
standard RAD methodology. It provides a generic process which is
tailored for use by an organisation based on the particular business
and technical constraints. DSDM provides a framework for
developing systems. Different tools can be used to support this
methodology.
eXtreme programming: This suits risky projects with dynamic
requirements. XP emphasises such things as close and constantcustomer involvement in defining and prioritising requirements. For
more information, go to the following website:
http://www.extremeprogramming.org/
Adaptive software development—Crystal: This is targeted atsoftware teams where competition creates extreme pressure on the
delivery process.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 20/25
20 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Incremental methodology
Image: Diagram of development model from ‘Project concept’ in first box, then
arrows leading to ‘Requirements prototype’, ‘Analysis’, ‘Design and architecture’,‘Build’, ‘Testing and deployment’, ‘Release 1.0’, ‘Requirements prototype’,‘Analysis’, ‘Design and architecture’, ‘Build’, ‘Testing and deployment’, ‘Release2.0’.
Figure 8: Incremental development model
The incremental model introduces the idea of a product release. A largecomputer system is decomposed in such a way that several distinct sub-
products are identified. Then each of these sub-products has its own SDLC.The incremental methodology defines how these sub-products relate to
each other and describes the overall delivery of the whole system.
If we were to pick out some key features of a word processing package,
we might identify some of the following functionality:
editing and modifying text
formatting text
saving a document
printing a document
spell checking
importing text documents from other applications
cutting, pasting and copying text
displaying pictures and graphics
displaying tables and graphs.
We could put the features we have listed into three categories:
1. essential
2. desirable
3. nice to have.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 21/25
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 22/25
22 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Image: Diagram of evolutionary prototype model with ‘Project concept’ in the firstbox and then arrows leading to ‘Prototype’, ‘Release 2.0’, ‘Prototype’, ‘Clean upimplementation’, ‘Clean up implementation’, ‘Clean up implementation’, ‘Release1.0’, ‘Evolve Prototype’, and ‘Release 3.0’.
Figure 9: Evolutionary prototype model
In the worst case, this additional stage of cleaning up the implementation
can take as long as the original implementation. Remember, however, thatonce you have built a system, you generally understand the problem
extremely well and holistically. When you build it a second time, without
large requirements changes, the system will much more closely resemble the
system that should have been built in the first place. The system will havefewer bugs and greater adherence to the quality standards that are the
benchmark for a good system, such as reliability, correctness, robustness and maintainability.
Advocates of the evolutionary model argue that since the maintenance andenhancement phase of a system’s life is much greater than all of the other
stages put together, then reducing the cost of maintenance of the system -
even if the build and implementation time is doubled - can still work out asa cost-saving advantage in the long term.
Key methodology features
The following table summarises some of the key features of each of the
methodologies described above:
Table 3: Key attributes of development models
Development model Key attributes
Waterfall Single delivery
Linear, non-iterative development
User input clearly defined
Iterative Non-linear
Rapid prototype Non-linear
High user input
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 23/25
2842: Determine and select appropriate methodology for a given activity 23© State of New South Wales, Department of Education and Training, 2006
Incremental Linear with possibly non-linear sub-phases
Multi-delivery
Evolutionary Linear or non-linear
Multi-delivery
High user input
Criteria for selection of a methodologyThe selection of a systems development methodology will be based on the
type of client and the type of business problem that you are addressing.
In general, the following factors should be considered:
Technologies: Many organisations invest heavily in technologies
that support a particular development methodology. Thesetechnologies will determine some of the options you may choose.
Tools: Similarly, companies have organisational standards that may
specify which tools are to be used for developing systems.
People: Skills are needed to use all of the methodologies discussed.
Some only require a low skill level, while others require highly
developed skills. The methodology you choose will be limited by theskills of the users and developers alike.
Organisational patterns: The methodology used may also dependon things like work patterns, physical proximity, virtual teams,
different types of employees, and outsourcing.
The process chosen will ideally conform to current organisational standards,be able to evolve into the future and be usable in other contexts within the
organisation.
While the specific methodology may not be crucial to the success of a
project, an inappropriate methodology can definitely hinder the meeting of budgetary, time or quality constraints.
Comparison of methodologies
Traditional SDLC
This is best suited to systems that
are large, batch and mainframe
have clearly defined objectives
are processing-intensive (eg transaction processing systems for
payroll, order processing)
use a technology that is familiar to the developers.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 24/25
24 2842: Determine and select appropriate methodology for a given activity© State of New South Wales, Department of Education and Training, 2006
Disadvantages include the following:
take time to complete the project
lack of user involvement during the design and analysis phase
difficulty in reacting to major changes in requirements during theproject
require strong project management
require strong technical background from the analysts
are documentation-intensive.
Iterative development
This is a variation on the waterfall method, but it allows phases to be
revisited to allow reaction to changing business needs.
RAD
This is best used for large, complex system development projects that may
take one to three years to complete and involve twenty to fifty people at anytime.
Disadvantages include requiring
highly skilled developers with experience in the use of advancedtools
a high level of user commitment throughout the project.
Incremental methodology
This is best used for systems that can be
broken down into a series of sub-products
implemented in versions.
Evolutionary prototyping
This is best used when the proposed system
is leading-edge, i.e. requirements cannot safely be frozen before
beginning design and implementation is being developed for a dynamic environment where business needs
are constantly changing
automates a real-time, highly interactive application with manycomplex user interfaces.
8/6/2019 Development Methodologies Notes
http://slidepdf.com/reader/full/development-methodologies-notes 25/25
2842:Determineandselect appropriate methodologyfor a givenactivity 25
Disadvantages include the following:
requires highly skilled developers with experience in the use of
advanced tools.
Activity 4
To practise evaluating system development methodologies, complete
Activity 4– Evaluate system development methodologies in the Activitiessection of the Topic menu.
SummaryTo ensure the best outcome for a system development, it is important to usethe most appropriate system development methodology. This will involve
researching a range of currently used methodologies and evaluating their
suitability based on the specifics of the system to be developed.