agile project management

44
Agile Project Management By Kamuran KOÇAK 1 Production & Organization Management

Upload: kamuran-kocak

Post on 22-Jan-2017

659 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Agile Project Management

1

Agile Project Management

ByKamuran KOÇAK

Production & Organization Management

Page 2: Agile Project Management

Yeditepe University – Production & Operations Management 2

- 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

ContentKamuran

KOÇAK

Page 3: Agile Project Management

Yeditepe University – Production & Operations Management 3

Agile project management is a contemporary approach or methodology for managing software development projects. Some of the most popular conferences on software development in the last decade have been those devoted to agile methods.

One of the goals of Agile project management is to serve as a methodology for executing projects faster and developing software with higher customer satisfaction. [1]

IntroductionKamuran

KOÇAK

[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

Page 4: Agile Project Management

Yeditepe University – Production & Operations Management 4

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]

IntroductionKamuran

KOÇAK

[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

Page 5: Agile Project Management

Yeditepe University – Production & Operations Management 5

What is Project Management?

Project: Something that is contemplated, devised, or planned; a plan; a scheme; an undertaking.

Management: The act or manner of managing; handling, direction, or control.

then project management could therefore be defined as ‘the act of managing or controlling something that is contemplated, devised, or planned.’ [2]

Definition of Project ManagementKamuran

KOÇAK

[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.

Page 6: Agile Project Management

Yeditepe University – Production & Operations Management 6

According to the project management standards PRINCE 2 (Projects In Controlled Environments) method and PMBOK (Project Management Book of Knowledge)

The PRINCE2 standard (OGC 2002, p. 7) defines a project as:

A management environment that is created for the purpose of delivering one or more business products according to a specified Business Case.

Second Definition:

A temporary organization that is needed to produce a unique and predefined outcome orresult at a prespecified time using predetermined resources. [3]

Definition of Project ManagementKamuran

KOÇAK

[3] OGC (2002), Managing Projects with PRINCE2, The Stationary Office London.

Page 7: Agile Project Management

Yeditepe University – Production & Operations Management 7

The PMBOK has an extended definition of a project, though the mainpoints are defined as such:

A project is a temporary endeavor undertaken to create a unique product, service, orresult. The temporary nature of projects indicates a definite beginning and end. The end isreached when the project’s objectives have been achieved or when the project is terminatedbecause its objectives will not or cannot be met, or when the need for the project no longerexists...

Definition follows as:

Project management is the application of knowledge, skills, tools, and techniques toproject activities to meet the project requirements. [4]

Definition of Project ManagementKamuran

KOÇAK

[4] Project Management Institute (1996). A Guide to the Project Management Body of Knowledge, PMI Publishing Division, Sylvia/North Carolina.

Page 8: Agile Project Management

Yeditepe University – Production & Operations Management 8

Definition of Project ManagementKamuran

KOÇAK

The British Standard for project management BS6079 (1996) defined project management as:

• The planning, monitoring and control of all aspects of a project and the motivation of all those involved in it to achieve the project objectives on time and to the specified cost, quality and performance. [5]

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 [6] Tetteh, I. (2014). Use of Project Management Methods. Master Thesis, Masaryk University, pp. 23-24

Figure 1. PM Triangle (Source: Atkinson, 1999)

Figure 2. PM Triangle (Source: Tetteh, 2014)

Page 9: Agile Project Management

Yeditepe University – Production & Operations Management 9

[7] Cockburn, A., Highsmith, J. (2001). Agile Software Development: The People Factor, Computer, pp. 131-133

Project Management in Software Development

Kamuran KOÇAK

Software is inherently challenging because of its constant change. Processes and tools cannotaccommodate all of these changes, so people have to pick up the slack. Valuing people over process allows for more creativity in solutions. It implies that even the best process cannot compensate for the shortcomings of individuals.

Documentation, while valuable, takes time to write and maintain. However, it is less valuable than aworking product. While some Agile Methods promote proto typing, others encourage building simple, but completely functional products quickly as possible. [7]

Page 10: Agile Project Management

Yeditepe University – Production & Operations Management 10

Project Management in Software Development

Kamuran KOÇAK

Software engineering, as a discipline, confronts two key challenges that separate it from other engineering disciplines. Software, a conceptual and often intangible product, changes and evolves at amuch higher rate than integrated circuits or steel. While software is changeable, there is an increasedcost the later in a project lifecycle the change occurs [8]. This is true to a lesser degree in tangible products since measurable tests of the requirements and design can be more readily applied. Recognition of this fact has lead to the emergence of a set of Agile Methods that embrace change and manage the related risks [9]

[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.

Page 11: Agile Project Management

Yeditepe University – Production & Operations Management 11

Definition of Agile Project Management

Kamuran KOÇAK

Agile Project Management is:

• Regular adaptation to changing circumstances, including changing requirements• Constant collaboration in project teams and with clients• Iterative development processes

Intaver (2008) also claims that the adoption of agile methods should focus on theadaptation process in the organisational aspects. Thus, the agile underlying valuesupgraded to the organisational level can be embodied by iterative decision-makingprocess based on learning from the outcomes of previous decisions and strategicflexibility or avoidance of irreversible decisions. [10]

[10] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to Agile Project Management, Umea School of Business, pp. 16

Page 12: Agile Project Management

Yeditepe University – Production & Operations Management 12

Definition of Agile Project Management

Kamuran KOÇAK

According to Agile Manifesto:

We are uncovering better ways of developing:

Individuals and interactions over processes and tools Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on [11]

[11] Arefin M.M.S. (2010). Improvement of ‘‘the new agile process or disributed projects’’, Master Thesis ,Chalmers University, pp. 5-6

Page 13: Agile Project Management

Yeditepe University – Production & Operations Management 13

Definition of Agile Project Management

Kamuran KOÇAK

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 customer’s 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

Page 14: Agile Project Management

Yeditepe University – Production & Operations Management 14

Definition of Agile Project Management

Kamuran KOÇAK

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes andadjusts its behavior accordingly. [11]

[11] Arefin M.M.S. (2010). Improvement of ‘‘the new agile process or disributed projects’’, Master Thesis ,Chalmers University, pp. 5-6

Page 15: Agile Project Management

Yeditepe University – Production & Operations Management 15

Overview of Agile Project Management

Kamuran KOÇAK

Customer involvement is promoted in all agile methods. A customer representative is expected to beavailable and to be “committed, knowledgeable, collaborative, representative, and empowered” [12].

Allowing the customer to use the product quickly is a form of customer collaboration. It also allows thecustomer to change his or her mind. Thus, instead of writing contracts, which would then need to be change, the customer instead is encouraged to actively participate in the development effort.

[12] Boehm, B., “Get Ready for Agile Methods, with Care,” Computer, January 2002, pp. 64-69.

Page 16: Agile Project Management

Yeditepe University – Production & Operations Management 16

Overview of Agile Project Management

Kamuran KOÇAK

Finally, responding to change is considered more important than dogmatically following a plan becausea plan is only as good as when it was initially written. If things change, then the plan must as well.

But, changes can often happen faster than the plan can be modified. This is not to imply that Agile Methods assume a “hacking mentality” where code is just written without consideration of any plan. Instead, it means that any plan must be lightweight and easily modifiable. The “plan” might simply be a set of post-it notes on a whiteboard (as is used in SCRUM [13]).

[13] Derbier, G., “Agile Development in the Old Economy,” Proceedings of the Agile Development Conference, June 2003, pp. 125-131.

Page 17: Agile Project Management

Yeditepe University – Production & Operations Management 17

Agile Project Management Environment

Kamuran KOÇAK

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 Project Management, Umea School of Business, pp. 14

Figure 3. Applicability of agile project management method (Source: Zhang, 2010)

Page 18: Agile Project Management

Yeditepe University – Production & Operations Management 18

Agile Project Management Environment

Kamuran KOÇAK

[15] Zhang, Y., Shen, H.L. (2010). An Exploratory Study of Organisational Adaptation to Agile Project Management, Umea School of Business, pp. 13

Figure 4. Uncertainties at agile project management environment (Source: Zhang, 2010)

Page 19: Agile Project Management

Yeditepe University – Production & Operations Management 19

Traditional Versus Agile Project Management

Kamuran KOÇAK

[16]

[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

Figure 5. Traditional and agile project management comparison (Source: Nerur, 2005)

Page 20: Agile Project Management

Yeditepe University – Production & Operations Management 20

Kamuran KOÇAK

Key Issues ToMigrating to Agile :

[16]

[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

Traditional Versus Agile Project Management

Figure 6. Key issues to migrating to Agile (Source: Nerur, 2005)

Page 21: Agile Project Management

Yeditepe University – Production & Operations Management 21

Agile MethodologiesKamuran

KOÇAK

Main Agile Project Management 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)

Page 22: Agile Project Management

Yeditepe University – Production & Operations Management 22

Extreme ProgrammingKamuran

KOÇAK

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

Page 23: Agile Project Management

Yeditepe University – Production & Operations Management 23

Extreme ProgrammingKamuran

KOÇAK

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 phase concludes with the release delivered to the customer.

[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

Page 24: Agile Project Management

Yeditepe University – Production & Operations Management 24

Extreme ProgrammingKamuran

KOÇAK

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

Page 25: Agile Project Management

Yeditepe University – Production & Operations Management 25

Dynamic System Development Method

Kamuran KOÇAK

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 strategy and the configuration management approach.

[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

Page 26: Agile Project Management

Yeditepe University – Production & Operations Management 26

Dynamic System Development Method

Kamuran KOÇAK

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 customer’s 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

Page 27: Agile Project Management

Yeditepe University – Production & Operations Management 27

ScrumKamuran

KOÇAK

Scrum is another agile development methodology developed by Jeff Sutherland and formalized by Ken Schwaber.

The roles involved in this process are Product Owner, Scrum Master, and the team. The Product Owner is responsible for maintaining the correct business perspective. The Scrum Master works with the Product Owner and facilitates the team. The team should contains seven (plus/minus two) members. [18]

[18] Hoda, R., Noble, J., Marshall S. (2008). Agile Project Management, New Zealand Computer Science Research Student Conference, pp. 2

Page 28: Agile Project Management

Yeditepe University – Production & Operations Management 28

ScrumKamuran

KOÇAK

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

Page 29: Agile Project Management

Yeditepe University – Production & Operations Management 29

Feature Driven Development (FDD)

Kamuran KOÇAK

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, pp. 18-19

Figure 7. Feature Driven Development Steps (Source: Awad, 2005)

Page 30: Agile Project Management

Yeditepe University – Production & Operations Management 30

Feature Driven Development (FDD)

Kamuran KOÇAK

• 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

Page 31: Agile Project Management

Yeditepe University – Production & Operations Management 31

Adaptive Software Development (ASD)

Kamuran KOÇAK

Adaptive Software Development (ASD), developed by James A. Highsmith, offers an agile and adaptive approach to high-speed and high-change software projects [19]. It is not possible to plan successfully in a fast moving and unpredictable business environment. In ASD, the static plan-design life cycle is replaced by a dynamic speculate-collaborate-learn life cycle.

[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies. University of Western Australia, pp. 21-22

Page 32: Agile Project Management

Yeditepe University – Production & Operations Management 32

Adaptive Software Development (ASD)

Kamuran KOÇAK

ASD focal point is on three non-linear and overlapping phases:

• Speculate - To define the project mission, make clear the realization about what is unclear. • Collaborate – Highlights the importance of teamwork for developing highchange systems • Learn – This phase stresses the need to admit and react to mistakes, and that requirements may well change during development.

[19] Awad, M.A. (2005) A Comparison Between Agile and Traditional Software Methodologies. University of Western Australia, pp. 21-22

Figure 8. Adaptive Software Development phases (Source: Awad, 2005)

Page 33: Agile Project Management

Yeditepe University – Production & Operations Management 33

Lean Software DevelopmentKamuran

KOÇAK

“The Toyota way” is the 4P’s: 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 :

• Visualize the workflow• Limit work in progress• Manage flow• Make process policies explicit• Improve collaboratively (using models and the scientific method)

[20] Jonsson, H. (2012). Lean Software Development: A Systematic Review, Research Methodology Course Mini Conference (IRCSE’12), November, Västerås, Sweden pp. 3-4

Page 34: Agile Project Management

Yeditepe University – Production & Operations Management 34

Crystal MethodologiesKamuran

KOÇAK

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 system’s 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

Figure 9. Crystal Methodology Productivity versus Tolerance graph (Source: Nerur, 2005)

Page 35: Agile Project Management

Yeditepe University – Production & Operations Management 35

Behavior Driven DevelopmentKamuran

KOÇAK

Three Principles of Behavior Driven Development:

• Enough is enough: we should do just enough up-front analysis and design to get usstarted, any more is wasted effort.• Deliver stakeholder value: we should only do what delivers value or increases ourability to deliver value.• It is all behavior: at each level of granularity we can use the same language to describethe behavior of the system

The requirements of the system are expressed as user stories and extendedwith acceptance criteria in the form of scenarios. These scenarios are then automated wherefeasible to form the automated acceptance tests required for ATDD. The design and implementationof the functionality required by stories takes place in TDD cycles

[22] Lopes, J. H. (2012). Evaluation of Behavior-Driven Development, Thesis, Delft University of Technology, Netherlands pp. 9-10

Page 36: Agile Project Management

Yeditepe University – Production & Operations Management 36

Advantages - DisadvantagesKamuran

KOÇAK

[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process, Thesis , Delft University of Technology, pp 44-47

Figure 10. Comparison Table for Advantages and Diadvantages of XP Process (Source: Sharon, 2009)

Page 37: Agile Project Management

Yeditepe University – Production & Operations Management 37

Advantages - DisadvantagesKamuran

KOÇAK

[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process, Thesis , Delft University of Technology, pp 44-47

Figure 11. Comparison Table for Advantages and Diadvantages of Scrum Process (Source: Sharon, 2009)

Page 38: Agile Project Management

Yeditepe University – Production & Operations Management 38

Advantages - DisadvantagesKamuran

KOÇAK

[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process, Thesis , Delft University of Technology, pp 44-47

Figure 12. Comparison Table for Advantages and Diadvantages of DSDM Process (Source: Sharon, 2009)

Page 39: Agile Project Management

Yeditepe University – Production & Operations Management 39

Advantages - DisadvantagesKamuran

KOÇAK

[23] Sharon, I. (2009). Decision Framework for Selecting a Suitable Software Development Process, Thesis , Delft University of Technology, pp 44-47

Figure 13. Comparison Table for Advantages and Diadvantages of FDD Process (Source: Sharon, 2009)

Page 40: Agile Project Management

Yeditepe University – Production & Operations Management 40

ConclusionKamuran

KOÇAK

Agile Methods offer a reasonable approach for the high degree of change and uncertainty in today’s 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 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

Page 41: Agile Project Management

Yeditepe University – Production & Operations Management 41

ConclusionKamuran

KOÇAK

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

Page 42: Agile Project Management

Yeditepe University – Production & Operations Management 42

ReferencesKamuran

KOÇAK

[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 medium-sized 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

Page 43: Agile Project Management

Yeditepe University – Production & Operations Management 43

ReferencesKamuran

KOÇAK

[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

[20] Jonsson, H. (2012). Lean Software Development: A Systematic Review, Research Methodology Course Mini Conference (IRCSE’12), November, Västerås, Sweden pp. 3-4

Page 44: Agile Project Management

Yeditepe University – Production & Operations Management 44

ReferencesKamuran

KOÇAK

[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