25
 2842: D etermine and select app ropriate me thodology for a given activity 1 © State of New South Wales, Depa rtment of Educa tion and Training, 2006 Reading notes—Determine and select appropriate methodology for a given activity Knowledge of client business domain In order to utilise technology effectively, it must fit the user’s goals. It is no good 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 app arent what the organisation’s core business is. Coca-Cola Company , for example, which has a high profile worldwide, is in the b usiness of producing non-alcoh olic 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 t he organisation and usually incorporates its financial, social and/or environmen tal goals. Organisation al c harts can provide a graphical representa tion of the business in terms of how it is o rganise d to fulfil its core business. Where can you find this information? One place might be in t he company’s annual report. Also, many businesses are promoted today via the Internet, where this info rmation may be made available.

Development Methodologies Notes

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.