Agile Project Management - AltexSoft

7m ago
63 Views
11 Downloads
4.34 MB
23 Pages
Last View : 9d ago
Last Download : 22d ago
Upload by : Harley Spears
Share:
Transcription

Agile Project Management: Best Practices and MethodologiesWHITEPAPERAgile ProjectManagement:Best Practices andMethodologies

Agile Project Management: Best Practices and Methodologies1. The Art of Project Management1.1 Project Management Phases2. Traditional Project Management Methodologies3. Agile Project Management Methodology4. Agile Frameworks5. Scrum: roles, sprints and artifacts5.1 Sprints and artifacts5.2 Scrum meetings5.3 When to use Scrum6. Kanban: Comprehensive Solution to Handling Work in Progress6.1 When to use Kanban7. Hybrid: Blend of Waterfall and Agile (Flexible Development and Thorough Project Planning)7.1 When to use Hybrid8. Bimodal: traditional Waterfall combined with Agile8.1 When to use Lean9. Lean: Eliminating Waste in Software Engineering9.1 When to use Hybrid10. Extreme Programming: Engineering Practices For Writing A Good Code10.1 When to use XPConclusionReferences2

Agile Project Management: Best Practices and MethodologiesThe Art of Project ManagementAs defined by Gartner, project managementis “the application of knowledge, skills, toolsand techniques to project activities to meetthe project requirements”.Project Management PhasesRegardless of the scope, any project shouldfollow a sequence of actions to be controlledand managed. According to the ProjectBeing an integral part of software engineeringManagement Institute, a typical projectprocesses along with the business analysis andmanagement process includes the followingrequirement specification, design, programmingphases:and testing, the project management has beena topic of considerable debate for years. Eventoday, when company project managementpractices are becoming more mature, onlyabout half of them (54%), according to surveyresults by the Project Management Institute(PMI), are fully aware of the importance andvalue of these practices.1. Initiation;2. Planning;3. Execution;4. Performance/Monitoring;5. Project close.Used as a roadmap to accomplish specific tasks,these phases define the project managementlifecycle.Regardless of industry, project management hasYet, this structure is too general. A projectproven to be a crucial element of a company’susually has a number of internal stages withinefficiency and its eventual success. In fact, theeach phase. They can vary greatly depending onorganizations using proven project managementthe scope of work, the team, the industry andpractices waste 28 less money and implementthe project itself.projects that are 2.5 times more successful.In attempts to find a universal approach toProject management professionals concludethat the definition of a successful project is onethat is not only completed on time and withinmanaging any project, humanity has developeda significant number of PM techniques andmethodologies.budget, but one that also delivers expectedbenefits.3

Agile Project Management: Best Practices and MethodologiesTraditional Project Management MethodologiesBased on the above-described classicKnown as a waterfall model, it has been aframework, traditional methodologies take adominant software development methodologystep-by-step approach to the project execution.since the early 1970s, when formally describedThus, the project goes through the initiation,by Winston W. Royce:planning, execution, monitoring straight to itsclosure in consecutive stages.There are two essential steps common to all computerOften called linear, this approach includes aprogram developments, regardless of size or complexity.number of internal phases which are sequentialThere is first an analysis step, followed second by a codingand executed in a chronological order.Applied most commonly to the constructionstep . This sort of very simple implementation concept isor manufacturing industry, where little or noin fact all that is required if the effort is sufficiently smallchanges are required at every stage, traditionaland if the final product is to be operated by those whoproject management has found its application inthe software engineering as well.built it - as is typically done with computer programs forinternal use.4

Agile Project Management: Best Practices and MethodologiesWaterfall ModelWaterfall model has a strong emphasis ona tight control over the development process.planning and specifications development:In theory, this should lead to on-time, on-budgetit is considered to take up to 40% of the projectdelivery, low project risks, and predictable finaltime and budget. Another basic principle of thisresults.approach is a strict order of the project phases.A new project stage does not begin until theHowever, when applied to the actual softwareprevious one is finished.engineering process, waterfall method tendsto be slow, costly and inflexible due to theThe method works well for clearly definednumerous restrictions. In many cases, itsprojects with a single deliverable and fixedinability to adjust the product to the evolvingdeadline. Waterfall approach requires thoroughmarket requirements often results in a hugeplanning, extensive project documentation andwaste of resources and eventual project failure.5

Agile Project Management: Best Practices and MethodologiesAgile Project Management MethodologyAs opposed to the traditional methodologies,Aimed at “uncovering better ways of developingagile approach has been introduced as ansoftware”, the Manifesto clearly specifies theattempt to make software engineering flexiblefundamental principles of the new approach:and efficient. With 94% of the organizationspracticing agile in 2015, it has become a standardof project management.Through this work we have come to value:Individuals and interactions over processes and toolsThe history of agile can be traced back to 1957:at that time Bernie Dimsdale, John von Neumann,Working software over comprehensive documentationHerb Jacobs, and Gerald Weinberg were usingCustomer collaboration over contract negotiationincremental development techniques (which areResponding to change over following a plan.now known as Agile), building software for IBMand Motorola. Although, not knowing how toclassify the approach they were practicing, theyComplemented with the Twelve Principles ofall realized clearly that it was different from theAgile Software, the philosophy has come to beWaterfall in many ways.a universal and efficient new way to manageprojects.However, the modern-day agile approach wasofficially introduced in 2001, when a group ofAgile methodologies take an iterative approach to17 software development professionals metsoftware development. Unlike a straightforwardto discuss alternative project managementlinear waterfall model, agile projects consist of amethodologies. Having a clear vision of thenumber of smaller cycles - sprints. Each one offlexible, lightweight and team-oriented softwarethem is a project in miniature: it has a backlogdevelopment approach, they mapped it out in theand consists of design, implementation, testingManifesto for Agile Software Development.and deployment stages within the pre-definedscope of work.6

Agile Project Management: Best Practices and UCTNAgile Development CycleFINALPRODUCTEApotentially failed product are significantly lower.Let’s summarize the main Agile aspects:Flexibility: The scope of work may changeaccording to new requirements.Work breakdown: The project consists of smallcycles (known as Sprints in Scrum).Value of teamwork: The team members workclosely together and have a clear vision about theirresponsibilities.TLin the development, the chances of delivering aREgrowth. With the features being validated earlyENMGINproduct, which results in the gradual projectTevery iteration new features are added to thePproduct increment is delivered. Thus, withOAt the end of each Sprint, a potentially shippableDEVETE LSSESPRINTIterative improvements: There is frequentreassessment of the work done within a cycle tomake the final product better.Cooperation with a client: A customer is closelyengaged in the development and can change therequirements or accept the team’s suggestions.Prioritizing flexibility and rapid turnaround, theAgile approach offers the following benefits,according to the recent research: Ability to manage the changing priorities (88%) Increased team productivity through daily taskallocation (83%) Better project visibility due to the simpleplanning system (83%)7

Agile Project Management: Best Practices and MethodologiesAgile FrameworksAgile is an umbrella term for a vast variety of frameworks and techniques, sharing the principles andvalues described above. Each of them has its own areas of use and distinctive features. The mostpopular frameworks are Scrum, Kanban, Hybrid, Lean, Bimodal, and XP. Before discussing theseframeworks in more detail, let’s look at their key features.Scrum: Roles, Sprints, and ArtifactsScrum is a dominant agile framework. It’s usedIn 1995, Ken Schwaber and Jeff Sutherland, theexclusively by 58 percent of organizations whileauthors of The Scrum Guide, presented it atanother 18 percent of the companies combinethe OOPSLA conference. The presentation wasit with other techniques. First described in 1986based on the knowledge they acquired as theyby Hirotaka Takeuchi and Ikujiro Nonaka in theapplied the method during the previous fewNew Product Development Game, it was formu-years. While, Scrum was introduced far beforelated almost a decade after.the Agile Manifesto, it relies on Agile principlesand is consistent with the values stated in thatdocument.8

Agile Project Management: Best Practices and MethodologiesFrameworkScrumPlanned Mitigation The entire scope of work is broken down into short developmentcycles — Sprints. The Sprint’s duration is from one to four weeks. The team should strictly follow a work plan for each Sprint. People involved in a project have predefined roles.Kanban Development is built on workflow visualization. The current work (work in progress or WIP) is prioritized. There are no timeboxed development cycles. The team can change the work plan at any time.Hybrid Agile and Waterfall complement each other. Agile software development is held under Waterfall conditions(fixed deadline, forecasted budget, and thorough risk assessment).BimodalLeanXP There are two separate modes of work — traditional (Mode 1) andAgile (Mode 2). Two separate teams are working on projects with two differentgoals. The Mode 1 team maintains IT system infrastructure. The Mode 2 team delivers innovative applications. Cross-team collaboration is important The framework promotes fast software development with lesseffort, time, and cost. The development cycle is as short as possible. The product delivered early is being continuously improved. The team is independent and has a wider range of responsibilitiesthan those in Scrum, Bimodal, and Hybrid. Developers can also formulate the product’s concept The focus is on technical aspects of software development. XP introduces engineering practices aimed at helping developerswrite a clear code. Product development includes consistent stages: core writing,testing, analyzing, designing, and continuous integration of code. Face-to-face communication within the team and customerinvolvement in development are crucial9

Agile Project Management: Best Practices and MethodologiesScrum is aimed at sustaining strong collabora- Product Owner, usually a customer ortion between people working on complex prod-other stakeholder, is actively involved through-ucts, and details are being changed or added.out the project, conveying the global vision ofIt is based upon the systematic interactionsthe product and providing timely feedback onbetween the three major roles: Scrum Master,the job done after every Sprint.Product Owner, and the Team. Scrum Master is a central figure Scrum Team is a cross-functional andself-organizing group of people that is respon-within a project. His principal responsibility is tosible for the product implementation. It shouldeliminate all the obstacles that might preventconsist of up to seven team members, in orderthe team from working efficiently.to stay flexible and productive.10

Agile Project Management: Best Practices and MethodologiesSprints and artifactsA basic unit of work in scrum – Sprint – is aproduct items to deliver and define a plan onhow to do so.short development cycle that is needed to pro-The Sprint Burndown Chart is an illustration ofduce a shippable product increment. A Sprintthe work remaining in a Sprint. It helps both theusually is between one and four weeks long:team and the Scrum Master as it shows progressMore lengthy iterations lack the predictabilityon a day-to-day basis and can predict whetherand flexibility that are Scrum’s fundamental ben-the Sprint goal will be achieved on schedule.efits. Having no standard duration (as long as itis less than four weeks), all the sprints within aScrum meetingsproject should have a fixed length. This makes itThe process is formalized through a numbereasier to plan and track progress.of recurring meetings, like the Daily ScrumScrum relies on three main artifacts whichare used to manage the requirements andtrack progress – the Product Backlog, theSprint Backlog, the Sprint Burndown Chart.The process is formalized through a numberof recurring meetings, like the Daily Scrum(Standup), the Sprint Planning, the Review andRetrospective meetings.(Standup), the Sprint Planning, the Review,and Retrospective meetings (the SprintRetrospective).The Daily Scrum is a timeboxed meeting,during which a Development Team coordinatesits work and sets a plan for the next 24 hours.The event lasts 15 minutes and should be helddaily at the same place and time.The Product Backlog is an ordered list offeature items that might be needed in theThe work to be completed is planned at theproject’s final product. It is a single source ofSprint Planning. Everyone involved in therequirements. The product Backlog updates asSprint (a Product Owner, a Scrum Master, and anew requirements, fixes, features, and detailsDevelopment Team) participates in this event.are being changed or added.They answer two key questions: which work canThe Sprint Backlog is a list of tasks the teammust complete to deliver an increment offunctional software at the end of each Sprint.In other words, team members agree on whichbe done and how this work will be done. TheSprint Planning lasts no longer than eight hoursfor a one-month Sprint. For shorter Sprints, themeeting usually takes less time.11

Agile Project Management: Best Practices and MethodologiesThe work to be completed is planned at theSprint Planning. Everyone involved in the Sprint(a Product Owner, a Scrum Master, and aDevelopment Team) participates in this event.They answer two key questions: which work canbe done and how this work will be done. TheSprint Planning lasts no longer than eight hoursfor a one-month Sprint. For shorter Sprints, theduration is three hours for one-month Sprints.When to use ScrumScrum works well for long-term, complexprojects that require stakeholder feedback,which may greatly affect project requirements.So, when the exact amount of work can’t beestimated, and the release date is not fixed,Scrum may be the best choice.meeting usually takes less time.By setting customer needs and on-time/onAt the end of each Sprint, the team and thebudget delivery as the highest priority, Scrumproduct owner meet at the Sprint Review.has gained the trust of 89 percent of AgileDuring this informal meeting, the team showsusers. Thus, the list of companies using thisthe work completed and answers questionsapproach is impressive. In fact, there is a publicabout the product increment. All participantsspreadsheet with such organizations, includingcollaborate on what to do next to increase theMicrosoft, IBM, Yahoo, and Google.product’s value. The Sprint Review is a four-hourtimeboxed meeting for one-month Sprints.The latest research by the Scrum AllianceThe whole team goes to Retrospectiveworking in the fields of finance, consulting, andMeetings to reflect on their work during theSprint. Participants discuss what went well orwrong, find ways to improve, and plan how toimplement these positive changes. The SprintRetrospective is held after the Review andbefore the next Sprint Planning. The event’s12suggests that Scrum goes beyond IT. Companiesentertainment choose this approach to organizetheir work processes and enhance cooperationwith customers. In 2016, the majority of Stateof Scrum Report respondents (98 percent) saidthey are going to use this framework to moveforward.

Agile Project Management: Best Practices and MethodologiesKanban: Comprehensive Solution to Handling Work inAnother common project managementKanban focuses on the visualization of theframework is Kanban. Forty three percent ofworkflow and prioritizes the work in progresscompanies have stated that they use Kanban(WIP), limiting its scope to match it effectivelyas one of the project management frameworks.to the team’s capacity. As soon as a task isOriginating from a visual system of cardscompleted, the team can take the next itemused in Toyota manufacturing as a productionfrom the pipeline. Thus, the developmentcontrol method, Kanban is simple, yet powerful,process offers more flexibility in planning, fasterapproach to developing software products.turnaround, clear objectives, and transparency.Translated as visual signal from Japanese,Kanban BoardBACKLOGIN PROGRESSCOMPLETED13

Agile Project Management: Best Practices and MethodologiesNo standard procedures within the process, as well as the fixed iterations, are requiredin Kanban, as opposed to Scrum. The project development is based on the workflow visualizationthrough a Kanban board, usually represented by sticky notes and whiteboards, or online tools likeTrello.Trello automates and digitalizes Kanban. Duemore details.to the succinct information about a work itemTeams using Kanban tools work in a cooperativeeach Kanban card contains, everyone in the teammanner. The ability to track progress helpsknows who is responsible for the item, what eachcoworkers understand everyone’s personal inputperson’s task is, when it’s supposed to be finished,in achieving the common goal, resulting in a focusetc. Team members can also leave comments,on completing the task well and on time.attach screenshots, documents, or links to provide14

Agile Project Management: Best Practices and MethodologiesWhen to use KanbanUsing Kanban, teams can do small releases and adapt to changing priorities. Unlike Scrum, there areno sprints with their predefined goals. Kanban is focused on doing small pieces of work as they comeup. For example, if testers find errors in the product, developers try to fix them right away. Kanban, forinstance, works well after the main release of the product.Companies like Spotify and Wooga (leading mobile games development company) have been usingthis approach successfully over the years. Yet, 8 percent of organizations combine Scrum with Kanbantechniques, using so-called Scrumban rather than the original frameworks.Hybrid: Blend of Waterfall and Agile (Flexible Developmentand Thorough Project Planning)Agile and Waterfall are two different visionsof software development management. Theformer is about iterative development andbeing flexible, while the latter, promoteingstep-by-step development, requires carefulplanning, and rejects making changes alongthe way.Twenty-three percent of companies realizedthat using principles of both approachescan be more beneficial than choosing one ofthe two. The combination of the traditionalWaterfall project management approach andAgile is called Hybrid.Specialists use advantages of the Agilephilosophy for software development.When it comes to budgeting, planning, andhardware set up, Waterfall works well. On theother hand, by embedding Agile practicesinto a traditional Waterfall

Agile Project Management: Best Practices and Methodologies 1. The Art of Project Management 1.1 Project Management Phases 2. Traditional Project Management Methodologies 3. Agile Project Management Methodology 4. Agile Frameworks 5. Scrum: roles, sprints and artifacts 5.1 Sprints and artifacts 5.2 Scrum meetings 5.3 When to use Scrum 6.