Agile - Agile Software Project Management Methodologies


Published on

Agile Software Project Management Methodologies

Published in: Technology, Business
1 Comment
  • from what i understand, Agile methology is an iterative approach, wherein changes occur very frequently; whereas in the traditional project management methology, the changes are very minimal.
    Can anyone please provide me a template which has Agile and traditional project management metholgies respectively? I woud like to understnd that in an Agile environment, how does one prepare a plan??
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile - Agile Software Project Management Methodologies

  1. 1. Economy Informatics, 1-4/2005 27 Agile Software Project Management Methodologies Prof. Constanţa-Nicoleta BODEA, PhD Economic Informatics Department, Academy of Economic Studies, Bucharest Successfully project planning, coordinating and controlling in order to deal effectively with projects sponsors, customers, unexpected risks and changing scope are difficult tasks even for the most experienced project managers. Different surveys indicated that about half of the software projects were considered total failures and only a few of them were successful. The tight deadlines, volatile requirements and emerging technologies are the main reasons for this lake of performance. This agile project environment requires an agile project manage- ment. The paper presents the main characteristics of the agile software project management approaches such as: MSF for Agile Software Development, Extreme Programming, Scrum, Crystal, Feature Driven Development, DSDM. Keywords: software development, project management methodology, agile project manage- ment, XP, MSF for Agile Software Development. able and more efficient. We can consider a 1 Software project management meth- odologies Methodologies impose a disciplined process methodology containing ten basic elements: techniques, tools, deliverables, teams, roles, upon software development with the aim of skills, activities standards, quality measures making software development more predict- and project values [1]. Activities Milestones Planning Testing Team Values Quality Processes Teams Regression tests Project manager Object model Analyst MBWA Project plan Use cases Designer Use cases CRC cards Tester Deliverable Techniques Roles Envy/Dev. JAD facilitation Microsoft Project Java programming UML/ C++ STP Modeling MS Project OMT Personality Standards Tools Skills Fig. 1. Components of a project management methodology A specific methodology is needed depending mized quality. A larger methodology (with on the project size (number of people being more control elements) is needed when more coordinated), the criticality of the systems people are involved. Communication load being created and the priorities of the project. raises as the number of people involved in- For any point in the size/criticality space, a creases. Since methodology is a matter of scope of concerns to address is selected coordinating the people and managing the (which project roles, activities, deliverables, communication, its size must also rise, as the and standards to cover) and optimization cri- number of roles and deliverables types in- teria are selected. Methodologies therefore crease [2]. differ by the size, criticality, scope and opti- Considering the project deliverables critical-
  2. 2. 28 Economy Informatics, 1-4/2005 ity the following four zones we can identify: problem than a large team. It does mean • Loss of comfort means that with a system there may be an area of overlap, where a failure, people will have to go and do more small team with a light methodology can work by hand, or call each other and repair a solve the same problem as a larger team with miscommunication. Examples might include a heavier methodology (figure 2). purchase support systems and corporate in- 2. The Agile Approach frastructure programs. The agile approach started in 1994 with some • Loss of discretionary moneys zone if the trials of semi-formal agile methodologies, loss of money or related valuables is merely such as RAD, DSDM, XP, Crystal, Scrum. uncomfortable These methodologies are based on agile • Loss of irreplaceable moneys zone if the methods. Agile methods are adaptive rather loss of moneys or related valuables has effect than predictive. Engineering methods tend to corresponding to going bankrupt. try to plan out a large part of the software • Loss of life zone if people are likely to die process in great detail for a long span of from a system malfunction. time, this works well until things change. So For a project with higher criticality more their nature is to resist change. The agile visible correctness (greater density) is re- methods, however, are waiting for change. quired. Density means more precision in the Agile methods are people-oriented rather artifacts, with tighter reviews and less toler- than process-oriented. The goal of engineer- ance. ing methods is to define a process that will work well whoever happens to be using it. Agile methods assert that no process will ever make up the skill of the development team, so the role of a process is to support the development team in their work. The declaration of principles and values in the agile approach is known as the Agile Software Development Manifesto, launched in 2001, after a two day workshop at Snow- bird Utah (figure 3). A non-profit organiza- tion the Agile Alliance was set up to promote Fig. 2. Methodology weight and problem knowledge and discussion of all the agile size methods. "Weight is cost": a relatively small increase Applying these principles creates the founda- in methodology size or specific density adds tion for managing IT projects in an agile ap- a relatively large amount to the cost of the proach. The basic characteristics of this ap- project. With fewer people, less methodology proach are the following: is needed; with less methodology, the people • Assume simplicity. As the project evolves work more efficiently. Working more effi- it should be assumed that the simplest solu- ciently, they can successfully address a larger tion is the best solution. Overbuilding the problem. When more people are put onto a system or any artifact of the project must be project, they need a heavier methodology to avoided. coordinate their work. The heavier method- • Embrace change. Since The stakeholder ology lowers their productivity, so more peo- understanding of the requirements will ple are needed on the project. Since method- change over time. Project stakeholders them- ology size grows slower than project size, selves may change as the project makes pro- eventually they get to a point where they can gress. Project stakeholders may change their solve the problem and manage the coordina- point of view, which in turn will change the tion activities. This does not mean that a goals and success criteria of the project man- small team can necessarily solve a larger agement effort.
  3. 3. Economy Informatics, 1-4/2005 29 • Incremental change – the pressure to get it time. Or simply discard it when you no right the first time can overwhelm the best longer need it in an incremental manner. project manager. Instead of futilely trying to • Maximize stakeholder value. The project develop an all encompassing project plan stakeholders are investing resources (time, from the start, put a stake in the ground by money, facilities) to have a system deployed developing a small portion of the system, or that meets their needs. Stakeholders expect even a high–level model of a larger portion that their investment to be applied in the best of the system, and evolves this portion over way. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: : Individuals and interactions over Processes and Tools. : Working software over Comprehensive documentation. : Customer collaboration over Contract negotiation. : Responding to change over Following a plan. That is, while there is value in the items on the right, we value the items on the left more.” Fig. 3. Agile Software Development Manifesto • Manage with a purpose Identify a valid the project stakeholders. The goal is not to purpose for creating the artifact and the audi- produce extraneous documentation, man- ence for that artifact. This principle also ap- agement artifacts or models of these artifacts. plies to a change to existing artifacts. 3. Some Agile Software Project Manage- • Rapid feedback. The time between an ac- ment Methodologies tion and the feedback on that action must be The agile approach focuses on: talent & skill minimized. Work closely with the stake- (fewer better people), proximity (direct and holders, to understand the requirements, to face-to-face communication), less paper, analyze those requirements, and develop an more tacit / verbal communication, just-in- actionable plan, which provides numerous time requirements and design, frequent De- opportunities for feedback. livery (incremental development), reflection, • Working software is the primary goal of quality in work. So, the people are very close the project. The goal of any software project related to the agile methodologies (figure 4). is to produce software that meets the needs of Activities Milestones Personality Planning Testing Team Values Quality Processes Teams People Regression tests Project manager Object model Analyst MBWA Project plan Designer Use cases Use cases CRC cards Tester Deliverable s Techniques Roles Envy/Dev. JAD facilitation Microsoft Project Java programming UML/ C++ STP Modeling MS Project OMT Standards Tools Skills Fig. 4. Components of an agile project management methodology
  4. 4. 30 Economy Informatics, 1-4/2005 3.1 Extreme Programming (XP) method- jects require different kinds of methodolo- ology gies. The Crystals share a human orientation The roots of XP lie in the Smalltalk commu- with XP, but this people-centeredness is done nity, in the close collaboration of Kent Beck in a different way. Alistair considers that and Ward Cunningham in the late 1980's. people find it hard to follow a disciplined Both of them refined their practices on nu- process, thus rather than follow XP's high merous projects during the early 90's, extend- discipline; Alistair explores the least disci- ing their ideas of a software development ap- plined methodology that could still succeed, proach that was both adaptive and people- consciously trading off productivity for ease oriented. The crucial step from informal of execution. He thus considers that although practice to a methodology occurred in the Crystal is less productive than XP, more spring of 1996. Kent was asked to review the people will be able to follow it. progress of the C3 payroll project for Chrys- Alistair also puts a lot of weight in end of it- ler. The project was being carried out in eration reviews, thus encouraging the process Smalltalk by a contracting company and was to be self-improving. His assertion is that it- in trouble. Due to the low quality of the code erative development is there to find problems base, Kent recommended throwing out the early, and then to enable people to correct entire code base and starting from scratch. them. This places more emphasis on people The project then restarted under his leader- monitoring their process and tuning it as they ship. XP begins with four values: Communi- develop. cation, Feedback, Simplicity, and Courage. It 3.3 Scrum then builds up to a dozen practices which XP Scrum has been around for a while in object- projects should follow. Many of these prac- oriented circles. It focuses on the fact that de- tices are old, tried and tested techniques, yet fined and repeatable processes only work for often forgotten by many, including most tackling defined and repeatable problems planned processes. As well as resurrecting with defined and repeatable people in defined these techniques, XP weaves them into a and repeatable environments. synergistic whole where each one is rein- Scrum divides a project into iterations (which forced by the others. It is a strong emphasis they call sprints) of 30 days. Before you be- on testing. While all processes mention test- gin a sprint you define the functionality re- ing, most do so with a pretty low emphasis. quired for that sprint and then leave the team However XP puts testing at the foundation of to deliver it. The point is to stabilize the re- development, with every programmer writing quirements during the sprint. tests as they write their production code. The However management does not disengage tests are integrated into a continuous integra- during the sprint. Every day the team holds a tion and build process which yields a highly short (fifteen minute) meeting, called a stable platform for future development. scrum, where the team runs through what it On this platform XP builds an evolutionary will do in the next day. In particular they sur- design process that relies on refactoring a face to the management blocks: impediments simple base system with every iteration. All to progress that are getting in the way that design is centered on the current iteration management needs to resolve. They also re- with no design done for anticipated future port on what's been done so management needs. The result is a design process that is gets a daily update of where the project is. disciplined, yet startling, combining disci- Scrum literature focuses mainly on the itera- pline with adaptivity in a way that arguably tive planning and tracking process. It's very makes it the most well developed of all the close to the other agile in many respects and adaptive methodologies. should work well with the coding practices 3.2 Crystal methodologies from XP. Alistair developed this family of methodolo- 3.4 MSF for Agile Software Development gies considering that different kinds of pro- MSF provides a customized and scalable set
  5. 5. Economy Informatics, 1-4/2005 31 of software development guidelines for ap- • Source check-in policies plication development improvement ([5]). • Role clusters and security groups MSF incorporates both agile and formal ap- • Document templates (Excel and Word) proaches, and then allows the user to select • Microsoft Project templates the most suitable path. MSF's flexible • Reports framework can be adapted to meet the needs • Project portal /SharePoint site template of any project, regardless of size or complex- MSF uses methodology templates to define ity. the process that individual projects follow. The MSF philosophy holds that there is no There is no universal process that works for single structure or process that optimally ap- all organizations, or even all projects within plies to the requirements and environments an organization. To address this, MSF pro- for all projects. MSF provides this guidance vides a flexible toolset that works with both without imposing prescriptive detail and al- agile and formal processes. Microsoft's lows the user to customize the content pro- Global Solution Integrator partners provide vided. MSF components can be applied indi- their own product consumable methodology vidually or collectively to improve success templates; or, you can create your own. Proc- rates for the many types of projects. MSF ess extensibility allows customization of guidance focuses on managing the "people work item types, check-in policies, custom and process." Because the needs and prac- reports and project management templates. tices of software development teams are con- stantly evolving, the materials gathered into Conclusions MSF are continually changing and expanding Getting projects faster is a universal desire of to keep pace. Additionally, MSF interacts management. The reality of project manage- with Microsoft Operations Framework ment is that we never really have the time to (MOF) to provide a smooth transition to the create perfect plans, to analyze all the op- operational environment, which is a require- tions. Agile approach provides some methods ment for long-term project success. for project management to become more ef- With MSF, process is not just documenta- fective. These methods need to be taken and tion. It also manifests itself as actual tool be- customized to the unique business environ- havior changes. When you chose the process ment of the project. at project inception, you are also choosing the workflow and work products, which then References drive how the system behaves. Support for 1. Alistair C. A Methodology Per Project, the software development life cycle process (, Humans and Technology. (SDLC) is built-in, which makes for seamless 2. Harrison, N., Coplien, J, "Patterns of pro- workflow support. By integrating process ductive software organizations", Bell Labs into the tools team members use on a daily Technical Journal, summer, 1996. basis, MSF lowers the barrier to adopting 3. Jeffries, R., Beck, K., Extreme Program- process and enables the automatic collection ming, of cross-functional project metrics without 4. Fowler M, The New Methodology, Martin the overhead associated with manual report- ing. 5. Microsoft, Visual Studio 2005 Team Sys- The following elements of MSF are custom- tem: Microsoft Solutions Framework, 2004, izable: . • Process Guidance 6. • Iteration structure • Entry criteria and exit criteria views • Work item type definitions and rules (ac- tivities and work products) • Work item queries