Week 04 Process Oriented Methodologies
Week 04 Process Oriented Methodologies
Development Methods
CT00046‐3‐2
Process Oriented Methodologies
Topic & Structure of the Lesson
Principles of the process‐oriented methodologies.
Rapid Application Development (RAD)
Rational Unified Process (RUP)
SCRUM
Extreme Programming (XP)
Spiral Methods
The strengths and weaknesses of the process‐oriented
methodologies
Learning Outcomes
By the end of this lecture, you should be able to :
1. Identify and explain the underlying principles of the process‐
oriented methodologies.
2. Describe the phases in the process‐oriented methodologies
3. Describe the strengths and weaknesses of the process‐
oriented methodologies
Key Terms you must be able to use
If you have mastered this topic, you should be able to use the
following terms correctly in your assignments and exams:
Process Oriented Methodologies
Rapid Application Development (RAD)
Rational Unified Process (RUP)
SCRUM
Extreme Programming (XP)
Spiral Methods
The proposed methodology can be applied to complex and
distributed business processes.
The business process is converted into functions in a system.
Steps of Methods:
– Business process is studied
– Processes and tasks are broken down into smallest
workable components.
– Each sub‐process can be assigned a time, cost and
resources for it to complete.
– This can be shown in planning charts such as Gantt Chart,
PERT Chart, Task Breakdown Structure, etc.
Analysis and Design
Users, managers, and IT staff members discuss and agree on
business needs, project scope, constraints, and system
requirements. The requirements planning phase ends when
the team agrees on the key issues and obtains management
authorization to continue.
During the design, users interact with systems analysts and
develop models and prototypes that represent all system
processes, outputs, and inputs. The RAD group or subgroups
typically use a combination of JAD techniques and CASE tools
to translate user needs into working models.
Joint application development (JAD) is a technique that brings
users into the development process as active participants.
Prototypes Cycles
Develop
• Focuses on program and application development tasks.
Users continue to participate and still can suggest changes or
improvements as actual screens, or reports are developed.
• Development is a continuous, interactive process that allows
users to understand, modify, and eventually approve a
working model of the system that meets their needs.
Demonstrate and Refine
• Developers demonstrate the progress and gather feedback
from users to improve prototypes and create the best
possible product.
Test
– This step requires developers to test the software product and
ensure that all parts work together as per client’s expectations.
– Continue incorporating client feedback as the code is tested and
retested for its smooth functioning.
Deployment
– This phase resembles the final tasks in the SDLC implementation
phase, including data conversion, user acceptance testing,
changeover to the new system, and user training.
– Compared with traditional methods, the entire process is
compressed. As a result, the new system is built, delivered, and
placed in operation much sooner.
Advantages
Systems can be developed more quickly with significant cost savings.
Cut development time and expense by involving users in every phase
of systems development.
Because it is a continuous process, RAD allows the development team
to make necessary modifications quickly, as the design evolves.
Disadvantages
RAD stresses the mechanics of the system itself and does not
emphasize the company’s strategic business needs.
The risk is that a system might work well in the short term, but the
corporate and long‐term objectives for the system might not be met.
The accelerated time cycle might allow less time to develop quality,
consistency, and design standards.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 15
Rational Unified Process (RUP)
17
19
20
All aspects of the RUP are based on a set of building blocks, which
are used to describe:
‘Who’ – Project member: an individual, or a group of
individuals together as a team, working on any activity in order
to produce artifacts.
‘What’ ‐ Artifacts: An artifact represents any tangible output
from the process e.g., design specification.
‘How’ ‐ Activities: A unit of work that a project member is to
perform. Activities should have a clear purpose, typically by
creating or updating artifacts.
‘When’ ‐ Workflows: Represents a sequence of activities, in
order to produce artifacts.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 23
Rational Unified Process (RUP)
Phases (continued)
Business Modeling:
the business context (scope) of the project should be outlined.
Requirements
to define all potential requirements of the project, throughout the
software development life cycle.
Analysis & Design ‐ transforms requirements into a design that can be
properly implemented.
Implementation
where most actual coding takes place, implementing and organizing
all the code that make up the whole of the system.
Test ‐ perform various Testing
Deployment
constitutes the entire delivery and release process, to ensure that
the system meets customer’s expectations.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 24
Rational Unified Process (RUP)
Phases (continued)
Another influential agile, iterative development methodology
based on ideas from Rugby.
A ‘team‐work’ based methodology.
A Scrum begins quickly, is a very intense effort, involves the
entire team, and usually only lasts for a short duration
Scrum philosophy is the complete control a team exerts over
its own organization and its work processes. Software is
developed incrementally, and controls are imposed
empirically—by focusing on things that can be accomplished.
28
30
Very flexible methodology.
Effective Programming /
coding approach.
For projects involving
heavy coding / software
building
Uses most of the Agile
Principles
37
Project Activities
Release Activities
Iteration Activities
41
Pair Programming
Where two developers work using only one machine.
Each one has a keyboard and a mouse.
One programmer acts as a main driver who codes, while
the other will serve as an observer who will check the
code being written, proofread and spell check, while
also figuring out where to go next.
These roles can be switched at any time.
Spiral models initially were suggested in the 1990s by Barry Boehm,
a noted software engineering professor. He stated that each
iteration, or phase, of the model must have a specific goal that is
accepted, rejected, or changed by the user, or client.
Thus, which enable the team to reach the overall project goal.
Typically, each iteration in a spiral model includes planning, risk
analysis, engineering, and evaluation.
“Risk‐driven” process model. The next steps to be done is
determined based on the ‘Risk’ pattern.
For projects which have high risk:
Unclear / unfixed requirements
Projects have too many independent components
Projects have too many stakeholders which don’t agree with things.
Planning Risk Analysis
Evaluation
Engineering
Planning Phase
Define objectives, constraints, and deliverables
Risk Analysis
Identify risks and develop acceptably resolutions
Engineering Phase
Develop a prototype that includes all deliverables and perform
integration.
Various functional testing was carried out.
Evaluation phase
Deploy system at the user’s site and perform assessment and
user testing to develop objectives for the next iteration.
Allows users to evaluate the output of the project to date before
the project continues to the next spiral.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 47
• Watch the following video about the phase in Spiral
methods:
• Spiral Methods
• Speeds up system development and delivers precisely what the
customer wants, when the customer wants it, while fostering
teamwork and empowering employees.
• Attempt to develop a system incrementally, by building a series of
prototypes and constantly adjusting them to user requirements.
• Each iteration has a deliverable.
– Often, each iteration also integrates a new piece into the growing total
system.
– Within each iteration, the new pieces are tested by themselves and as
integrated with the rest of the system.
– The users also get involved in testing the system’s ability to meet their
business needs.
– Hence, testing and quality control are spread across the entire project
and usually provide a better‐tested and more robust system.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 50
Weaknesses
In General
• The project scope isn’t well understood and that there will be many
changes, updates, and refinements to the requirements as the
project progresses.
• Without a detailed set of system requirements, certain features
requested by some users might not be consistent with the
company’s larger game plan.
• Include weak documentation, blurred lines of accountability, and
too little emphasis on the larger business picture.
• A long series of iterations might add to project cost and
development time.
• May not work as well for larger projects because of their complexity
and the lack of focus on a well‐defined product.
Process‐oriented methodologies can be applied to complex and distributed
business processes where the business process is converted into functions in
a system.
RAD and RUP use iterative and incremental design approaches with
prototyping, where a system is developed through repeated cycles and in
smaller portions at a time, building a series of prototypes, and constantly
adjusting them to user requirements.
SCRUM is a teamwork methodology and has four essential ceremonies
include sprint planning, daily meeting, sprint review, and sprint
retrospective.
XP releases small and frequent progress with a fully integrated development
team to produce high‐quality software. It accepts changing requirements at
any time, tries to simplify all processes.
The Spiral is suitable for projects which have high risk where unclear
requirements, projects that have too many independent components, and
too many stakeholders who don’t agree with things.
CT046-3-2 – SYSTEM DEVELOPMENT METHODS Slide 52
Criteria RUP RAD SCRUM XP SPIRAL Method
Iterative and Iterative and Iterative and Iterative and
Development Iterative and Spiral
Incremental Incremental Incremental Incremental
Adaptive and Risk‐Driven and
Process Prescriptive Agile Agile
flexible Adaptive
Phases Four phases Three phases Three phases Five phases Four phases
Risk management
Developer‐
Focus Process‐oriented Business‐oriented Team‐oriented and continuous
oriented
improvement
Long cycles (4‐6 Short cycles (2‐4 Time‐boxed (2‐4 Time‐boxed (1‐3 Time‐boxed and
Time
months) months) weeks) weeks) risk‐driven
Prioritized and User stories and Continuous risk
Gathered and
Requirements Prototyped Managed in a frequent customer analysis and
Analyzed
Product Backlog interaction adaptation
Working software Re‐evaluation of
Detailed Working
Deliverables Working software and automated project risks and
documentation Prototypes
tests development plan
Roles for cross‐ Roles for cross‐ Roles for cross‐
Roles for Roles for
Team roles functional team functional team functional team
specialists generalists
members members members
Frequent
Pair programming
Formal and Informal and Daily stand‐up communication
Communication and frequent
structured flexible meetings and feedback from
communication
stakeholders
Embraces change Continuous risk
Change Controlled and Responds to
Embraces change and continuous analysis and
management documented change quickly
improvement adaptation
Emphasizes test‐
Emphasizes best Emphasizes time‐ Emphasizes Emphasizes risk
driven
Engineering practices and to‐market and delivering value to analysis and
development and
standards quality customer adaptation
coding standards
• People Oriented Methodologies
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2015). Systems
Analysis and Design in A Changing World. Cengage learning.
Martin, R. C., Newkirk, J., & Koss, R. S. (2003). Agile
Software Development: Principles, Patterns, and
Practices (Vol. 2). Upper Saddle River, NJ: Prentice Hall.