stuck? check out our sample methodologies
select a methodology:
Agile is a group of methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organising, cross-functional teams.
Sequential process in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Planning & Initiation, Analysis & Design, Build & Test, and Deploying & Maintenance
A cyclic software development process. It starts with initial planning and ends with deployment with the cyclic interactions in between. Systems are developed through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system.
plan & initiate
Upfront Tasks
define the business need
determine business analysis approach
determine the gap in capabilities
conduct stakeholder analysis
plan business analysis tasks
prepare requirements management plan
create stakeholder engagement matrix (RACI)
analyse & design
Main requirements elicitation and documentation
plan elicitation
conduct elicitation
determine the solution approach
specify and model requirements
define the solution scope
create high level requirements
usability
create detailed requirements
validate the requirements
build & test
BA tasks during design and build elaboration
communicate and publish requirements
manage requirements changes
manage requirements traceability
deploy & maintain
Handover and transition
define transition requirements
validate and implement solution
evaluate solution performance
product envisioning
Articulating the purpose of the development effort and obtaining agreement that it is worth proceeding with.
agile introduction
articulate sponsors business vision
recommend target solution architecture
confirm project methodology
develop the business case
release initiation
Bringing together the project team and jointly outlining the scope, high level design and schedule for the development effort.
appoint scrum master
appoint authorised product owner
negotiate working agreement
negotiate analysis approach
negotiate definition of done
co-locate with the team
prepare product backlog
attend release planning
iteration delivery (repeat as applicable)
Just in Time (JIT) planning, analysing, designing, building and testing the product in highly collaborative time boxed iterations (aka sprints).
attend iteration planning
write customer tests
support story development
create appropriate documentation
groom the product backlog
attend daily standup
accept multi-disciplinary tasks
attend iteration review
attend iteration retrospective
release deployment
Incrementally releasing the product for production use.
conduct release review
conduct release retrospective
inception
Project scope, risks and high-level requirements sufficient so that work can be estimated
conduct elicitation
determine the solution approach
define the solution scope
create high level requirements
elaboration
Working architecture that mitigates the top risks and fulfils non-functional requirements
organise requirements
construction (sprint)
Incrementally fills in architecture with production ready code produced from analysis, design and implementation and testing of the functional requirements
sprint planning meeting
manage product backlog
organise requirements
sprint review meeting
sprint retrospective meeting
transition
Delivers the system into the production operating environment
define transition requirements
validate and implement solution
evaluate solution performance