By
Kamuran KOAK
Kamuran
KOAK
Content
- Introduction
- Definition of Project Management
- Project Management in Software Development
- Definition of Agile Project Management
- Overview of Agile Project Management
- Agile Project Management Environment
- Traditional Versus Agile Project Management
- Agile Methodologies:
- Extreme Programming (XP)
- Dynamic System Development Method (DSDM)
- Scrum
- Feature Driven Development (FDD)
- Adaptive Software Development (ASD)
- Lean Software Development
- Crystal Methodologies
- Behavior Driven Development(BDD)
- Advantages & Disadvantages
- Conclusion
Yeditepe University Production & Operations
Management
Kamuran
KOAK
Introduction
[1] Sone, S.P. (June 2008). Mapping Agile Management Practices to Project Management Challanges
for Software Development - Faculty of Argosy University/Washington DC, pp. 16
Yeditepe University Production & Operations
Management
Kamuran
KOAK
Introduction
Agile project management is based on four major values:
(a) interacting with skilled individuals
(b) delivering working software products
(c) establishing close interaction with customers
(d) adopting changes in a quick manner
The advent of Agile project management for software development projects was a
reaction to traditional or waterfall project management techniques, which were
associated with longer delivery cycles and higher project failure rates. The use of
Agile project management methodologies to solve project management challenges is
increasing, while the use of traditional methods for software development is in
decline [1]
[1] Sone, S.P. (June 2008). Mapping Agile Management Practices to Project Management Challanges
for Software Development - Faculty of Argosy University/Washington DC, pp. 16
Yeditepe University Production & Operations
Management
Kamuran
KOAK
[2] O'Sheedy, DG 2012, 'A study of agile project management methods used for IT implementation
projects in small and medium-sized enterprises', DBA thesis, Southern Cross University, Lismore,
NSW.
Yeditepe University Production & Operations
Management
According to the
project
management
standards PRINCE 2 (Projects In
Definition
of
Project
Management
Kamuran
KOAK
[3] OGC (2002), Managing Projects with PRINCE2, The Stationary Office London.
Yeditepe University Production & Operations
Management
Kamuran
KOAK
A project is a temporary endeavor undertaken to create a unique product,
service, or
result. The temporary nature of projects indicates a definite beginning and
end. The end is
reached when the projects objectives have been achieved or when the
project is terminated
because its objectives will not or cannot be met, or when the need for the
project no longer
exists...
[4] Project Management Institute (1996). A Guide to the Project Management Body of Knowledge,
PMI Publishing Division, Sylvia/North Carolina.
Yeditepe University Production & Operations
Management
Kamuran
KOAK
Over time Wysocki has extended parameters as: Scope, Quality, Cost, Time
and Resources.
These constraints form an interdependent set - a change in one constraint
can require a change in another constraint in order to restore the
equilibrium of the project. In this context, the set of five parameters form a
system that must remain in balance for the project to be in balance [6]
[5] Atkinson, R. (1999). Project Management: cost, time and quality, two best guesses and a
phenomenon, its time to accept other success criteria. International Journal of Project
Management Vol. 17, No. 6, pp. 337-342
Yeditepe
University Production
& Operations
[6] Tetteh, I. (2014). Use of Project
Management
Methods.
Master Thesis, Masaryk University,
8
Management
pp. 23-24
Kamuran
KOAK
Kamuran
KOAK
[8] Highsmith, J. and A. Cockburn (2001). Agile Software Development, The Business of
Innovation, Computer,
September 2001, pp. 120-122.
[9] Beck, K. (2000). eXtreme Programming Explained. AddisonWesley.
Yeditepe University Production & Operations
Management
10
Kamuran
KOAK
[10] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to
Agile Project Management, Umea School of Business, pp. 16
Yeditepe University Production & Operations
Management
11
Kamuran
KOAK
12
Kamuran
KOAK
1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change
for the customers competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation. [11]
[11] Arefin M.M.S. (2010). Improvement of the new agile process or
disributed projects, Master Thesis ,Chalmers University, pp. 5-6
Yeditepe University Production & Operations
Management
13
Kamuran
KOAK
14
Kamuran
KOAK
[12] Boehm, B., Get Ready for Agile Methods, with Care, Computer, January
2002, pp. 64-69.
Yeditepe University Production & Operations
Management
15
Kamuran
KOAK
[13] Derbier, G., Agile Development in the Old Economy, Proceedings of the Agile
Development Conference, June 2003, pp. 125-131.
Yeditepe University Production & Operations
Management
16
Kamuran
KOAK
Chin (2004, p.3)[14] defines the agile project management with the following equation:
Agile Project Management Environment = [Uncertainty + Unique Expertise] x Speed
Project uncertainty is the primary factor that entails agile project management method. Chin
(2004,p.4) discusses two types of uncertainty: internal uncertainty and external uncertainty.
Internal uncertainty involves things under the project umbrella that can be more or less
controlled by the project manager, including scope, schedule and cost whereas external
uncertainty involves those factors not under the project umbrella, such as industry's
business environment, the competition and high-level business strategy decisions [15]
[14] Chin, G. (2004). Agile Project Management: how to succeed in the face of changing project
requirements.
New York: Amacom Publishers.
[15] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to Agile
Yeditepe
Production
& Operations
Project Management, Umea School
of University
Business,
pp. 14
17
Management
Kamuran
KOAK
[15] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to
Agile Project Management, Umea School of Business, pp. 13
Yeditepe University Production & Operations
Management
18
Kamuran
KOAK
[16]
19
Kamuran
KOAK
[16]
Key Issues To
Migrating to Agile :
20
Agile Methodologies
Kamuran
KOAK
21
Extreme Programming
Kamuran
KOAK
Perhaps the most recognizable Agile Method, eXtreme Programming (XP), has the
overriding goal to get the project at hand done by following principles that work.
The life cycle of XP consists of five phases: Exploration, Planning, Iterations to
Release, Productionizing, Maintenance, and Death. [17]
The Exploration phase typically takes a few weeks to a few months for customers
to provide requirements for the first release. At the same time, the project team
becomes familiar with the technology, tools, and practices they will use on the
project.
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
22
Extreme Programming
Kamuran
KOAK
In the Planning phase, the project team spends several days working with the
customer to prioritize the capabilities needed for the first release. The developers
estimate effort required and the team lead draws up a release schedule not to
exceed two months.
The Iterations to Release phase goes through several iterations to produce the
first release. Each iteration takes one to four weeks, and at the end of each, the
functional tests are executed. Completion of the last iteration marks ready for
Productionizing.
In the Productionizing phase, the project team conducts additional performance
testing and checking to ensure the release meets the customer requirements. New
changes may be introduced here and the decision must be made whether they
should be included in the current release. If they are not placed in the current
release, they will be recorded for later implementation in subsequent releases. This
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
phase
concludes with the release delivered to the customer.
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
23
Extreme Programming
Kamuran
KOAK
In the Maintenance phase, the team produces new iterations of the software
product to implement changes and new feature requests raised in the previous
phase. These include corrective, perfective, and adaptive changes incurred during
maintenance.
As the software approaches obsolescence, and customers have fewer feasible
features to implement, the Death phase entails completing all necessary
documentation and the disposition the system is planned. This phase occurs when
the value proposition for evolving the system further no longer exists (too
expensive to change and low investment value).
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
24
Kamuran
KOAK
One key aspect that distinguishes the DSDM approach is that it fixes time and
resources first and then adjusts the amount of functionality accordingly. This
resources-first process consists of five phases: Feasibility Study, Business Study,
Functional Model Iteration, Design and Build Iteration, and Implementation. The last
three phases are iterative and incremental restricting iterations within time-boxes
(pre-defined periods of time, where the iteration must end within the time-box).
In the Feasibility Study phase, the project is assessed, and the decision on whether
or not DSDM is appropriate for the effort. A feasibility report and a development
plan are produced over a few weeks.
In the business study phase, key characteristics of the business and technology are
assessed culminating in a system architecture definition and an outline prototyping
plan. The architecture definition is the initial version of the system definition and it
may change as the project proceeds. The prototyping plan outlines the prototyping
[17] Coram,
& Bohner,
S. (2005).
The Impact ofapproach.
Agile Methods on Software Project Management,
strategy
andM.the
configuration
management
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
25
Kamuran
KOAK
During the functional model iteration phase, the project evolves through functional
iterations where each iteration involves some enhancements and the increments
are directed toward the final system. This phase entails four products that reflect
the process: prioritized list of functions, functional prototype(s) review documents,
non-functional requirements and risk analysis of further development.
The design and build iteration produces the system that meets the minimum set of
requirements and iterate the system based on the customers comments.
Systematically, through a series of iterations and increments, the software is
elaborated and refined in a consumable form for the customer to review.
In the implementation phase the system is formally transferred to the actual
product. The system is delivered to the customer and any subsequent increments
are planned.
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
26
Kamuran
KOAK
Scrum
[18] Hoda, R., Noble, J., Marshall S. (2008). Agile Project Management, New Zealand
Computer Science Research Student Conference, pp. 2
Yeditepe University Production & Operations
Management
27
Kamuran
KOAK
Scrum
Activities include sprint planning, sprint review, and scrum meeting. A sprint is
usually 2 to 4 weeks of development time where a set of selected stories are
worked on. The sprint review reviews the previous sprint in terms of tasks achieved
and the next sprint details are defined. The Scrum Master leads a daily 15 minutes
meeting where each member briefly describes their tasks and concerns.
The artifacts produced are named Product Backlog, Sprint Backlog, and Burndown
Chart. The product backlog is a list of product features prioritized by value delivered
to the customer and is maintained by the Product Owner. The sprint backlog refers
to the development tasks that are needed in order to implement a feature and is a
subset of the product backlog. The burndown chart shows the total work remaining
in a sprint. [18]
[18] Hoda, R., Noble, J., Marshall S. (2008). Agile Project Management, New Zealand
Computer Science Research Student Conference, pp. 2
Yeditepe University Production & Operations
Management
28
Kamuran
KOAK
Unlike the other methodologies, the FDD approach does not cover the entire
software development process but rather focuses on the design and building
phases.
The first three phases are done at the beginning of the project. The last two phases
are the iterative part of the process which supports the agile development with
quick adaptations to late changes in requirements and business needs. The FDD
approach includes frequent and tangible deliverables, along with accurate
monitoring of the progress of the report.
FDD consists of five sequential steps:
[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies.
University of Western Australia,Yeditepe
pp. 18-19
University Production & Operations
Management
29
Kamuran
KOAK
Develop an Overall Model - A high level walkthrough of the system scope and its context is
performed by the domain expert to the team members and chief architect. Documented
requirements such as use cases or functional specifications are developed.
Build a Features List - A categorized list of features to support the requirements is produced
Plan by Feature - The development team orders the feature sets according to their priority
and dependencies and assigned to chief programmers. Furthermore, the classes identified in
the first phase are assigned to class owners (individual developers). Also schedule and
milestones are set for the feature sets.
Design by Feature & Build by Feature - Features are selected from the feature set and
feature teams needed to develop these features are chosen by the class owners. The design
by feature and build by feature are iterative procedures during which the team produces the
sequence diagrams for the assigned features. These diagrams are passed on to the
developers who implement the items necessary to support the design for a particular feature.
There can be multiple feature teams concurrently designing and building their own set of
features. The code developed is then unit tested and inspected. After a successful iteration,
the completed features are promoted to the main build.
[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies.
University of Western Australia, pp. 18-19
Yeditepe University Production & Operations
Management
30
Kamuran
KOAK
[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies.
University of Western Australia, pp. 21-22
Yeditepe University Production & Operations
Management
31
Kamuran
KOAK
[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies.
University of Western Australia, pp. 21-22
Yeditepe University Production & Operations
Management
32
Kamuran
KOAK
The Toyota way is the 4Ps: Philosophy, Process, People/Partners and Problem
Solving. The main Philosophy is to add value to customers and society.
Andersson states the following principles for software Kanban :
33
Crystal Methodologies
Kamuran
KOAK
The Crystal methodologies are a set of processes that can be applied to different projects
depending on the size and the complexity of a project. The framework in Figure 9 includes
the factors that influence the selection of a particular methodology.
The X-axis indicates staff size while the Y axis represents the system criticality. The more
critical the project, the more rigorous and formal processes are required. Crystal methods
define four levels of critically: Life (L): A system failure is critical and may cause loss of life.
Essential money (E): A system failure may cause loss of money. Discretionary money (D): A
system failure may cause loss of money but can be fixed by referring to the systems user
manual. Comfort (C): A system failure may cause a loss of customer comfort.
[21] Qasaimeh, M. (2008). Comparing Agile Software Processes Based on the Software Development
Project Requirements , Concordia University,
Canada,
pp.
3
Yeditepe University
Production
& Operations
34
Management
Kamuran
KOAK
Advantages - Disadvantages
Kamuran
KOAK
[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process,
Thesis ,
Delft University of Technology, pp
44-47
Yeditepe
University Production & Operations
Management
36
Advantages - Disadvantages
Kamuran
KOAK
Figure 11. Comparison Table for Advantages and Diadvantages of Scrum Process (Source:
Sharon, 2009)
[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process,
Thesis ,
Delft University of Technology, pp
44-47
Yeditepe
University Production & Operations
Management
37
Advantages - Disadvantages
Kamuran
KOAK
Figure 12. Comparison Table for Advantages and Diadvantages of DSDM Process (Source:
Sharon, 2009)
[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process,
Thesis ,
Delft University of Technology, pp
44-47
Yeditepe
University Production & Operations
Management
38
Advantages - Disadvantages
Kamuran
KOAK
Figure 13. Comparison Table for Advantages and Diadvantages of FDD Process (Source:
Sharon, 2009)
[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process,
Thesis ,
Delft University of Technology, pp
44-47
Yeditepe
University Production & Operations
Management
39
Kamuran
KOAK
Conclusion
Agile Methods offer a reasonable approach for the high degree of change and uncertainty in
todays software development. There are proven principles employed in Agile Methods that,
when applied singularly under the right circumstances, result in lower risk projects and
ultimately better productivity and quality (e.g., smaller teams result in lower risks due to the
better communications). Additionally, when these are combined with other agile principles,
there can be a synergy that provides even more traction on the project goals (e.g., small teams
and pair programming result in fewer errors and less rework).
Since ungoverned software change can often be very costly, a methodology that addresses
change can be a very useful tool for a project manager. However, Agile Methods are not
appropriate for all projects. A project manager must consider the characteristics of the project
to ensure that an Agile Method is appropriate. The impact on the people, the process, and the
project must all be considered. For example, if a team of largely junior members is applied to a
project that has very well understood requirements, and a mature software process is already
in place in the organizations, there are three characteristics that argue against applying Agile
Methods as a whole. However, the principle of small team might still be appropriate to reduce
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
risks.
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
40
Kamuran
KOAK
Conclusion
Specific challenges with using an Agile Method can be offset by adding back some formality.
For example, if migration to a separate maintenance group is required, documentation could be
written by the development group as part of the transition.
Agile Methods offer software project managers an alternative development and management
methodology that provides good support for projects with ill-defined or rapidly changing
requirements. Even on project that are questionable for the application of the entire Agile
Method, underlying agile principles may still be effective. Project managers should consider its
usage for such projects assuming that they have a team capable of using it and can implement
the required processes. Otherwise, more traditional approaches may be more appropriate. to
reduce risks.
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
Yeditepe University Production & Operations
Management
41
Kamuran
KOAK
References
[1] Sone, S.P. (June 2008). Mapping Agile Management Practices to Project Management Challanges for Software Development Faculty of Argosy University/Washington DC, pp. 16
[2] O'Sheedy, DG 2012, 'A study of agile project management methods used for IT implementation projects in small and mediumsized enterprises', DBA thesis, Southern Cross University, Lismore, NSW.
[3] OGC (2002), Managing Projects with PRINCE2, The Stationary Office London.
[4] Project Management Institute (1996). A Guide to the Project Management Body of Knowledge, PMI Publishing Division,
Sylvia/North Carolina.
[5] Atkinson, R. (1999). Project Management: cost, time and quality, two best guesses and a phenomenon, its time to accept other
success criteria. International Journal of Project Management Vol. 17, No. 6, pp. 337-342
[6] Tetteh, I. (2014). Use of Project Management Methods. Master Thesis, Masaryk University, pp. 23-24
[7] Cockburn, A., Highsmith, J. (2001). Agile Software Development: The People Factor, Computer, pp. 131-133
[8] Highsmith, J. and A. Cockburn (2001). Agile Software Development, The Business of Innovation, Computer,
September, pp. 120-122.
[9] Beck, K. (2000). eXtreme Programming Explained. AddisonWesley.
[10] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to Agile Project Management, Umea School of
Business, pp. 16
Yeditepe University Production & Operations
Management
42
Kamuran
KOAK
References
[11] Arefin M.M.S. (2010). Improvement of the new agile process or disributed projects, Master Thesis ,Chalmers University,
pp. 5-6
[12] Boehm, B., Get Ready for Agile Methods, with Care, Computer, January 2002, pp. 64-69.
[13] Derbier, G., Agile Development in the Old Economy, Proceedings of the Agile Development Conference, June 2003, pp.
125-131.
[14] Chin, G. (2004). Agile Project Management: how to succeed in the face of changing project requirements.
New York: Amacom Publishers.
[15] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to Agile Project Management, Umea
School of Business, pp. 14
[16] Nerur, S. Mahapatra, R., Mangalaraj, G. (2005). Challanges of Migration to Agile Methods, Communications of the ACM
May 2005/Vol. 48, No. 5 pp. 4-5
[17] Coram, M. & Bohner, S. (2005). The Impact of Agile Methods on Software Project Management,
Virginia Polytechnical Institute and State University Blacksburg, Virginia pp. 2
[18] Hoda, R., Noble, J., Marshall S. (2008). Agile Project Management, New Zealand Computer Science Research Student
Conference, pp. 2
[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies.
University of Western Australia, pp. 18-19 Yeditepe University Production & Operations
Management
43
[20] Jonsson, H. (2012). Lean Software Development: A Systematic Review, Research Methodology Course Mini Conference
Kamuran
KOAK
References
[21] Qasaimeh, M. (2008). Comparing Agile Software Processes Based on the Software Development Project Requirements ,
Concordia University, Canada, pp. 3
[22] Lopes, J. H. (2012). Evaluation of Behavior-Driven Development, Thesis, Delft University of Technology,
Netherlands pp. 9-10
[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process, Thesis ,
Delft University of Technology, pp 44-47
44