Practice Guide for Agile Software Development
Appendix A 2 - Types of Agile
4
Prototyping - Prototypes are used to implement critical functionality to discover any
difficulties in early stage of development, and to collect user feedback in a more
interactive way; and
Facilitated Workshop - The idea of workshop is implemented to facilitate
communication and establish collaboration between users and project team.
OpenUP
The Unified Process (UP) is a common iterative and incremental system development
process framework which consists of four main phases. They are inception, elaboration,
construction and transition phases. These phases can be further divided into a series of
timeboxed iterations.
The Open Unified Process (OpenUP) is an open source process framework developed to
make it easier to adopt the core of the Unified Process. OpenUP preserves the
characteristics of UP including incremental development, use of cases and scenarios as well
as architecture-centric development approach.
Four core principles of OpenUP are stated below:
Collaborate to align interests and share understanding - Foster a healthy team
environment, enabling collaboration between users and project team and development
of a shared understanding of the project;
Evolve to continuously obtain feedback and improve - Allow project team to get early
and continuous feedback from users, and demonstrate incremental value to them;
Balance competing priorities to maximise stakeholder value - Allow project team and
users to develop a solution that maximises stakeholder benefits, yet is still compliant
with project constraints; and
Focus on articulating the architecture - Allow project team to focus on architecture to
support the development and to minimise project risks.
Scrum
Scrum is a popular Agile method using iterative and incremental approach for system
development. It has a set of roles and practices. One major role is the “Scrum Master”,
who acts as a coach or facilitator to guide the project team and users to ensure that the Scrum
process is used properly and keep the team focus on the tasks at hand. For example, the
Scrum Master will help the project team maximise the productivity to deliver the functions
quickly, and help the “Product Owner” who is the project owner or the representative of
stakeholders maintain the prioritised list of user requirements which is usually named as
"Product Backlog".