Lecture 2
Lecture 2
DEVELOPMENT
METHODOLOGIE
S
Lecture by: Salome Maro
11th Nov 2021
RECAP: SDLC
Planning
Implementatio
Analysis
n
Design
RECAP: SDLC
Process Product
Project Plan
Planning
System Proposal
Analysis
System
Design
Specification
Agile Development
Scrum
Extreme Programming
STRUCTURED DESIGN
Projects move methodically from one to the next step
Prototyping
o System prototyping
Throw-away prototyping
o Design prototyping
PHASED DEVELOPMENT
PROTOTYPING
THROWAWAY
PROTOTYPING
ADVANTAGES OF RAD
• Reduced development time.
• Increases reusability of components
• Encourages customer feedback
DISADVANTAGES OF RAD
MODEL
• Depends on strong team and individual performances for
identifying business requirements.
• Only system that can be modularized can be built using RAD
• Requires highly skilled developers/designers.
• Inapplicable to cheaper projects as cost of modeling and
automated code generation is very high.
AGILE METHODOLOGIES
Motivated by recognition of software development as fluid, unpredictable,
and dynamic.
Three key principles
o Adaptive rather than predictive
o Emphasize people rather than roles
o Self-adaptive processes
People and interactions are emphasized rather than process and tools.
Customers, developers and testers constantly interact with each other.
However, There is lack of emphasis on necessary designing and
documentation.
THE AGILE MANIFESTO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Source: https://agilemanifesto.org
Source: https://www.scrum.org/
AGILE METHODOLOGIES:
SCRUM
AGILE METHODOLOGIES:
EXTREME PROGRAMMING
• Short, incremental development cycles
• Automated tests
• Pair programming (2 developers programming teams)
• Coding and testing operate together
Advantages
• Communication between developers
• High level of productivity
• High-quality code
EXTREME
PROGRAMMING
Disadvantages:
• XP is geared toward a single project, developed and
maintained by a single team.
• XP is particularly vulnerable to "bad apple" developers who
are not willing to share their "superior” code
• XP will not work in an environment where a customer or
manager insists on a complete specification or design before
they begin programming.
• XP will not work in an environment where programmers are
separated geographically.
CLASS ACTIVITY: MENTI
SLIDE
Assume you are a group of 6 students given a project to implement a
campus map application for the university of Dar es salaam, which
methodology would you use?
Waterfal
RAD
Agile
CLASS ACTIVITY: MENTI
SLIDE
Assume you are a group of 6 students given a project to implement a
campus map application for the university of Dar es salaam in 8 weeks,
which methodology would you use?
Waterfal
RAD
Agile
CLASS ACTIVITY: MENTI
SLIDE
Assume you are a group of 6 students given a project to implement a
machine to detect the COVID-19 virus in elderly patients. What
methodology would you NOT use?
Waterfal
RAD
Agile
SELECTING THE
APPROPRIATE
METHODOLOGY
Clarity of User Requirements
Familiarity with Technology
System Complexity
System Reliability
Short Time Schedules
Schedule Visibility
CRITERIA FOR SELECTING
A METHODOLOGY
QUESTIONS?
FORUM AWARDS
• Goodluck Madadi
• Jackson Kweyunga
• Elisha Massawe Best replies!
NEXT WEEK:
Groups will formed randomly and automatically on LMS
Look for your group and get to know each other