System Development Methodologies Cheat Sheet: by Via
System Development Methodologies Cheat Sheet: by Via
Key aspects of a methodology Extreme Programming (XP) Methodology Extreme Programming (XP) Methodology
(cont) (cont)
Should promote activity which is:
For creating software within a very unstable If simple code is good, re-write code when it Avoid Ineffective Stakeholder Management
environment becomes complex. Avoid Insufficient Risk Management
Allows flexibility within the modelling process Code reviews are good. Therefore XP Avoid Insufficient Planning
Main goal to lower the cost of change in programmers work in pairs, sharing one screen
Avoid Shortchanging Quality Assurance
software requirements and keyboard (which also improves
communication) so that all code is reviewed as Avoid Weak Personnel and/or Team Issues
XP Core Practices
it is written. Avoid Insufficient Project Sponsorship
- Fine scale feedback
- Continuous Integration
Dynamic Systems Development Method Dynamic Systems Development Method Systems Development Life Cycle (SDLC)
(DSDM) (DSDM) (cont) Methodology (cont)
- Active user involvement is imperative - Contacting key parties/arranging meetings - Components and programs must be
obtained and installed.
- Focus is on frequent delivery of products - Cycle of meetings
- DSDM teams must be empowered to make - Resolving different views/perspectives - Users must be trained
Encourages re-use
- operating systems
Different versions exist Agile method Senior management should support the project
DSDM (Dynamic Systems Development Goal is to dramatically improve productivity in whole heartedly
Must have – without these features the project - A living backlog of prioritized work to be The key business objectives should be
is not viable (min. CSFs) done identified and kept in focus
Should have – to gain maximum benefit, these - Completion of a largely fixed set of backlog Requirements should be evolved over time by
features will be delivered items in a series of short iterations or the use of prototypes.
sprints Organisational politics must be considered and
Could have – if time and resources allow these
features will be delivered - A brief daily meeting (called a scrum), at navigated
which progress is explained, upcoming Ensure adequate investment is made
Won’t have – these features will not be
work is described, and obstacles are raised
delivered Develop realistic implementation timescales
- A brief planning session in which the
Use an appropriate development
backlog items for the sprint will be defined
Waterfall (a.k.a. Traditional) Methodology approach/method for the context
- A brief heartbeat retrospective, at which all
Version of the systems development life cycle Identify users and stakeholders and involve
team members reflect about the past sprint
model them
- Facilitated by a scrum master
Classic approach Ensure you have skilled, proactive IT/IS people
Scrum master role
Rigid and linear Changing requirements should be recognised
- Primary job is to remove impediments of as a normal occurrence and systems need to
Distinct goals for each phase of development
team to deliver sprint goal be put in place to facilitate this
Each phase is completed before the next one is
- Not leader of team (team is self-organizing) The technology itself should be proven
started
- Acts as productivity buffer between team Any contractors should be managed as if they
There is no turning back
and destabilizing influences were an internal team
Benefits
Benefits: Problems should be evaluated and where
- allows for departmentalization relevant resolved as they are encountered and
Enables creation of self-organizing teams
- allows for managerial control not ignored
Encourages verbal communication across
- Deadlines team members and across disciplines As a last resort, if serious problems are
encountered, project timescale should be
- In theory project will be delivered on time Adopts an empirical approach - accepting the
delayed, rather than risk a disaster
due to planning and process problem cannot be fully understood or defined,
Problems focusing instead on maximizing the team's
ability to respond in an agile manner to
- often falls short of expectations
emerging challenges.
- does not embrace the inevitable changes
and revisions that become necessary with
most projects