www.sygit.chBe Agile when implementing AgilityBe Wagile for a smooth DeliveryAgility : an Iron Fist in a Velvet GloveMarc BURLEREAUX, firstname.lastname@example.orgEuropean Release Manager at a Swiss Private Bank, GenevaHead Of PMI sub-branch « Pôle des Pays de Savoie »PMP, PMI-RMP, PgMP, ITIL V3Sylvain GAUTIER, email@example.comConsultant SME and Coach Agile / ITIL / BPMN at SYGIT, GenevaChristine RIEU, firstname.lastname@example.orgLecturer, Laboratoire LISTIC, Université de Savoie, AnnecyMember of Steering Committee PMI « Pôle des Pays de Savoie »
www.sygit.chSummaryForeword1. Agile Basics2. Agile ProjectsBest practicesUse CaseKey for successAgile Process3. Challenges for a smooth DeliveryContextPitfallsTips and TricksGovernance4. Focus on Human factorConclusion
www.sygit.chForewordPrivate Banking expertiseProgram &ReleaseManager,SeniorVolunteerat PMILecturer, Research in theKnowledge Managementarea, Senior Volunteer at PMIAgile SME &Coach,ITIL, BPMN
www.sygit.ch1. Agile Basics All kind of projects – Nevertheless Context dependent Could be combined with traditional method Iterative & incremental development process Collaborative work : Value the human factor Use case driven Early engagement of Architecture Risk drivenProcessAEvent1Event2TU1Event3TU2Event4ProcessBProcessusDrivenSOACompanyRepository
www.sygit.ch1. Agile Basicscon’t Pragmatic Methodology based on the fact that « Requirements areevolving » Value the Business / Users Feedback The CHANGE REQUEST is not anymore a problem : the project embrace it Permanent and on the spot feedback Stay simple: focus on essential – maximise the work not to be done Main Objective : Speed – Velocity and Continuous Improvement
www.sygit.ch2. Agile ProjectsBest Practices Foundations• Backlog (Requirements)• Use Cases• Process Activity (business process) Business Risks Analysis Non fonctional Requirements early identification• Repository• Clear Requirement : short sentences Poker Planning : most strategic piece of work• Project costing• Agreement on deliverables
www.sygit.ch 2. Agile ProjectsUse caseUse case are not only a requirements gathering technicIt also permit to link all activitiesAnalysisModelConceptualModelSpecified by Realised by Implemented by Distributed by Verified byDeploymentModelTesting ModelImplementationModelUse case y Use case z<<fragment>>IvarJacobsonProject Heart !
www.sygit.ch2 Agile ProjectsKey for Success Iterative Process : SPRINT ! incremental delivery 2 to 4 weeks : time box Synchronous Iteration for all combined Projects / Deliverables Scrum Master = Iteration coordinator Product Owner : Iteration Pilot – Risk Driven Planning of 2 SPRINTs maximum
www.sygit.chProcess : Agile IterationProjectTeamSCRUMMasterScribeDaily ScrumCeremonySprint PlanningCeremonyIterationSTARTIteration BacklogwrittenIteration PlanInputtedDaily ScrumDoneProgressInputtedCPUCPIProduce AnalysisProduce the IT modelsPerform functional testingPerform technical reviewProduce conceptionDéveloppementPerform IT testingEnter IterationBacklogEnter progressTaskRealisedAdjust perimeterReview the Backlog9H00 Game OverAction PlanWrittenClose the iterationIterationENDIteration End– 4 DaysProjectBacklogupdatedMajor EventBacklogupdatedIterationclosedUpdate projectmanagementdeliverablesDeliverablesUpdatedDemodoneDemonstrationRetrospectiveGameOver ?YesNoNext ofpressentation2 Agile Process
www.sygit.chProcess : Agile IterationProcess ID xxxxxxxxxProcess summary Manage your month so AgileProcess owner AgileVersion 0.1Status Draft / to review/ validated / communicatedReviwed by Sylvain GautierStatus date 23/01/2013Mission statementAn iteration is a period of 4 weeks during which the team built a functional product incrementProcess ObjectivesAn iteration begins with a planning meeting and ends with a review of the product and a retrospectiveThe team is "protected" during the iteration, the processing of new requirements is postponed to the next iterationTo set the good rhythm in the project and to compare the iterations, all must have the same length for a given projectBest practices:1. The commitments result in deliverables with a level of agreed quality , as an executable from unit testing, acceptable specifications for development, etc..2. At the end of iteration, we formally analyse the results on the basis of facts and tangible deliverables.3. The results of the iteration are summarized in a report with recommendations and corrective actions to prevent the same mistakes are not repeated.4. The objectives of iterations remain stable during the iteration.5. The objectives of the iteration are not reviewed during iteration, no additional objective is added.6. The changes will be requested on the next iteration, except in truly exceptional events.7. A change objectives can only disempower the teams on outstanding commitments.8. The iterations are synchronized between all projects. The timing of iterations enable to manage consistency of the work on several projects, particularly in the central teamsmanaging common components.9. The iteration regularly collects all project participants and to exchange on factual information about the project.10. We must create a genuine spirit of "project" and a common goal in which everyone can participates from its point of view and from its area of responsibility.11. Each goal / task is a personal commitment, not forced, from each contributor, which is fully committed to its ability to deliver.12. The reliability of the commitment is even stronger than the contributor agrees only on the month ahead, so the near future.13. The commitments reflect the availability of resources and people14. The iteration ends at its end date, not when all objectives are met. We look at the iteration end date, if the objectives have been achieved and the precise causes of delaysor disruptions.15. The Scrum Master is the coordinator of the iterations of the project. He ensures that each contributor involved in the project has the potential to work properly.Links to reference documentsLink 1Link 2Link 3Link 4Home Next
www.sygit.chProcess : Conduct an iterationProcess ObjectivesBest practices on how to conduct Elaboration Phase1. Manage iterations by the risks2. The first iterations, design, implement and test the priority use cases3. Design, implement and test the central and risky architecture, the architecture is built iteratively by implementing the use structuring case in terms of architecture4. Adapt to each iteration based on test results, and feedback from users & developers5. It has only two iterations planned ahead, beyond is unpredictable.6. Not to produce too many specifications in advance: The User project manager should have time to assist the IT (the goal is to have 80% of the specifications at the end ofthe elaboration phase).7. The Scrum Master is the custodian of the method.8. The first priority of the Scrum Master is to remove obstacles that stand in front of his team.The term "Sprint" given to the conduct of an iteration is inappropriate:1. We make in fact a long distance race.2. One iteration = one lap.3. Once an iteration is completed, we immediately begin another, there is no pause.4. The Scrum Master household his team.Facteurs de succès1. The iteration objectives are confirmed by the demonstration2. The project team is motivatedPreviousHome
www.sygit.chActivity: Sprint Planning CeremonyActivity ID xxxxxxxxxActivity Summary Build your works "Cocoon"Main used tool ManualRisk impact on process Probability 10% Impact StrategicActivity objectives• "As a team, we plan the next iteration based on priorities and our capacity in order to commit ourselves to carry on the perimeter. "• Planning for the next iteration immediately = detail the tasks to be performed.• Select the features to perform, identify tasks, and their completion criteria for acceptance, and all that from the Product Backlog: features prioritized and estimated (pointsTasks / ProcedurePreparationThe Product owner shall review the Product Backlog, adds, deletes and edits stories, adjusts priorities as required.PlanningThe Product owner select the stories to be developed in the iteration, and propose this list the Scrum MasterThe Scrum Master identifies additional stories (defects to be corrected, engineering, etc.).Task dependencies from one iteration will not be evaluated here: this aspect will be dealt on the daily scrum meetingDetermine the level of quality expected for items developed during the iterationThe definition of "finished" is established, reviewed and validated jointly (look at: Good task)The objectives of the iteration are specifiedTo determine the ability of the teamCalendar Capacity: CC = (effective duration of the iteration) - vacations - other commitmentsPlanned capacity: PC = CC * focusing factor (estimated), default = 6/8 = 0.75DecompositionFor each Use Case or component, the team imagines the tasks (specification, design, coding, business, coding, data interface, GUI coding, unit testing, technical tests,integration tests, documents and manuals, etc.).EstimateEach task is estimated by the "experts" of the team. A consensus value is used.Note: the estimate of a task varies from 0.25 to 2 "ideal day". If a task requires two people, multiply by 2!Audit the accountsMake the sum of task estimates and compare with the calculated capacity. Check the feasibility depending on the nature of the tasks and needed skills on the periodNegotiateThe Scrum Master and the Product Owner negotiate a reduction (or increase!) of the iteration scope in case of under-or over-capacity.CommitCollectively, the team gives his opinion on the feasibility of the plan ...Get commitment from each of the tasks assigned, including tasks carried over from the previous iteration.Links to reference documentsLink 1Link 2Link 3GoodTaskGoodStoryProduct BacklogHome
www.sygit.chProduct BacklogUseCaseVariant 2Variant 1NominalCase• No more than ½iteration• Can be demonstratedRequirement3Requirement2Requirement1Story 2Story 3Task 1Story 1 Task 2 Task n…Non functionalRequirementsTask 1Story n Task 2 Task n…Previous
www.sygit.chActivity: Daily Scrum CeremonyActivity objectivesEvery day, a meeting allows the team and the Scrum Master to monitor progress on the tasks and challenges.This meeting last for 15 minutes maximum: the Daily Scrum.Are present: The Scrum Master, the coach, and the contributors.Tasks / Procedure1. Be sure to name the "scribe" at the beginning of the session.2. Each member answers three questions:1. What did I do yesterday?2. What will I do today?3. What are the challenges / difficulties I meet?3. The turn of speech must be strictly observed to avoid drift.4. Activities can be run in parallel: analysis, design, coding, integration, testing, etc..5. The choice of dependencies between tasks is performed here (dependencies, skills, ...).6. The choice of suspending a task blocked by technical difficulties is made at this meeting.7. If a task is not feasible, it can be put back in the backlog.Best practices:1. If possible, the team works in the same room.2. If the need arises, the discussion can then be made freely, after the Daily Scrum.3. This meeting is a synchronization point for the team and should not be considered as a progress report.Links to reference documentsLink 1Link 2Link 3HomeActivity ID xxxxxxxxxActivity Summary Team Coordination MeetingMain used tool ManualRisk impact on process Probability 10% Impact Sensible
www.sygit.chActivity: DemonstrationActivity objectives1. The team describes and demonstrates the new features to stakeholders and gather feedback = product review (quality of design / defaults ....).Tasks / Procedure1. Perform the demonstration of the product increment produced during the iteration:1. The increment product is verified, demonstrated and validated2. The defects are noted to be entered as tasks of the story "bug fixes" for the next iteration2. To review the tasks of the previous iteration:1. Done / not done.2. Number of defects found.3. Defer not done tasks on the next iteration (new tasks).4. Report faults on the next iteration (new tasks), with priority 1.5. Calculate the project progress: Example: 70% of the points are shown (% of the status of the manufacturing process).3. Write a summary of the iteration and improvement measures in the Flash Report.Links to reference documentsLink 1Link 2Link 3HomeActivity ID xxxxxxxxxActivity Summary Demonstrate the product incrementMain used tool ManualRisk impact on process Probability 10% Impact Critical
www.sygit.chActivity: Perform Retrospective CeremonyHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Analyse the process, search the causes, suggest improvementsMain used tool ManualRisk impact on process Probability 10% Impact CriticalTasks / ProcedureInitialization (15 ’)1. A team member summarizes what has been delivered, the status of what remains to be done (planned and not done), and an update on the decisions taken at previousretrospective.Identification of positive and negative points (20 - 30’)1. Each member of the project list the positives and negatives of the iteration (alone or in pairs)Analysis (60 - 90’)1. The team members present their ideas, and the team look for the causes of malfunctions or the factors that led to good results.2. The team selects the most significant elementsDecisions (30 - 60’)1. The team decides on the action plan:2. Improve practices3. Renew the practices that have had positive effectsClosing1. Team commitmentNote1. Duration : from 1 to 3 hoursActivity objectives1. As participants in the project, we regularly analyse our processes and our work procedures to improve efficiency.2. The team has a look on methodology, tools and Human aspects on the iteration that ends = Process Review (effectiveness, efficiency).3. Good practices and practices to be changed are identified4. Decisions are made to optimize the process
www.sygit.chActivity: Adjust perimeterExceptionsHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Change the iteration backlog, in cases of major eventMain used tool ManualRisk impact on process Probability 10% Impact CriticalTasks / Procedure1. Remove a story from Iteration Backlog and replace it in the Project Backlog2. Move a task of a story of the iteration to a story in the next iteration3. Practice exchange for free4. Trace the movements of story / task in the flash report of the current weekActivity objectives1. Change the objectives of the iteration, the lower priority items are eventually excluded.
www.sygit.chActivity: Review the BacklogHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Prepare the next iterationMain used tool ManualRisk impact on process Probability 10% Impact CriticalTasks / ProcedureEnsure Stories cover all needs1. All Use cases and fragments are represented by Stories2. Stories can be created for training activities, building development platform, etc..Check estimates in points1. All stories are estimated in points2. The estimates are consistent (with the knowledge of the moment ...)3. New stories are estimatedReview priorities1. ≈ 20% of stories to achieve: high priority2. ≈ 30% of stories to achieve: Medium priority.3. ≈ 50% of stories to achieve: Low PriorityDecompose high priority Stories in Stories of appropriate size1. Choose one or more axes of decomposition2. Create the identified stories , describe them, plan them, estimate them in points3. Remove obsolete storiesNotes:1. Duration : 2 to 4 hours2. This additional time in meetings is largely cushioned by the decline in the planning tasks and the time saved on the preparatory work for the next iteration.3. The Backlog review is a team effort, led by the product owner, assisted by the project members if required. It is not necessary to involve the whole team (except forre-estimation of stories)Activity objectives1. "As a team, we maintain the product backlog up to date in order to have a realistic view of the outstanding work and priorities and to plan the next iteration."2. Consider what has changed in the Project Backlog3. Preparing for the next iteration, facilitate planning, and to make the ceremony of the next iteration planning more efficient and less time consuming4. Perform change for free : as the budget of the project must be kept unchanged, if new user cases or requirements are coming ask which other requirements have to returnto the product backlog and be realized within another release.
www.sygit.chActivity: Perform technical reviewHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Ensure compliance with quality standards throughout the projectMain used tool ManualRisk impact on process Probability 10% Impact CriticalTasks / Procedure1. Perform code review between two team members2. Review of "logs" of the tools (version control, DBMS, CMDB) list the items that were actually created, modified, deleted, by whom and when.3. Verify the proper implementation of norms and standards of the used tools.4. Create tasks for necessary adjustments in a story "Adjustment / quality standards" planed in the next iteration: Pay the technical debt.5. If too much defects have been identified during preceding iterations, it can be a good idea to propose an iteration only dedicated to bug fixing and refractor.Activity objectives1. Conduct reviews on the deliverables of all used tools
www.sygit.chActivity: Perform IT testingHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Test the storyMain used tool ManualRisk impact on process Probability 40% Impact CriticalTasks / Procedure1. Test what is produced, according to what was described in the design and modelling documents.2. Correct immediately what can be.3. Report defects not immediately corrected on the next iteration (new tasks), in a story of a priority 1.Activity objectives1. Ensure that stories are developed according to the validated design and modellingExceptionsNone
www.sygit.chActivity: Perform functional testingHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Test the Use case, and its related requirementsMain used tool ManualRisk impact on process Probability 40% Impact CriticalTasks / Procedure1. Test what is produced, according to the specifications (Use cases, fragments, variants, requirements, business rules), if possible as the development is produced anddeployed on the test environment.1. Report bugs and the non-alignments of specifications with the code and / or design, at the Daily Scrum of the next day.Activity objectives1. Ensure that the increment is developed in line with the Use Case specifications (and the associated requirements and business rules).ExceptionsNone
www.sygit.chActivity: Produce the IT modelsHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary A good model is better than 100 documentation pagesMain used tool ManualRisk impact on process Probability 30% Impact CriticalTasks / Procedure1. Organize workshops2. Realize the models (class diagrams, sequence diagrams, activity diagrams, data models, component architecture ....).3. Reformulate the models4. Forward models to architects5. Correct the models according to the remarks made by the architectsActivity objectives1. The IT and the architects perform the necessary design models, using the right tools.ExceptionsNone
www.sygit.chActivity: Produce conceptionHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Describe the "story" that exists between the modelsMain used tool ManualRisk impact on process Probability 20% Impact SensibleTasks / Procedure1. Write technical specifications in addition to the models.2. Describe how the models work together.3. Describe the behaviour of IT components.4. Establish the necessary explanatory diagram, by using the referenced tools, as far as possible.Activity objectives1. Write technical specifications, related explanatory diagrams showing the logical design of the solution.ExceptionsNone
www.sygit.chActivity: Produce AnalysisHomeLinks to reference documentsLink 1Link 2Link 3Activity ID xxxxxxxxxActivity Summary Write the functional specificationsMain used tool ManualRisk impact on process Probability 20% Impact SensibleTasks / Procedure1. Accurately describe the Use Cases (nominal and variants)2. Clearly describe the business rules associated with use cases3. Describe the sequence of screens4. Achieve the Models of the GUI5. Coordinate and exchange with other product owners to avoid duplication of functions between the projects (Shared read access on tools for all projects is animportant aid to deal with this point).1. Export specifications in a MS-WORD document within a shareable archive.Activity objectives1. Write functional specifications, within the enterprise repository tool.2. Keep concise, unambiguous and clear.ExceptionsNone
www.sygit.chWhat is a “good task” ? This is a limited task whose realization is limited in time (2 days)To remove the tunnel effect of early identification and overruns associated withdifficultiesThe effort for a task is between 2 and 12 hours ideal in generalBeware of scheduled tasks to be run by two people (we multiply the effort by two!) The expected result is described in an intelligible way, clear and can bequantifiedExamples: a document, source code, description of test cases, deployment of a tool, ...We can say: "its over" This is a task that contributes to the completion of the ongoing iterationobjectivesDevelopment of a story (from specification to integration)Technical tasks "to test the development environment," ...Increase in skills: training, working in pairs senior / junior Whats a "not good task"?Recurring and mandatory tasks of the project are not planned (Scrum ceremonies,demonstration, etc.).Tasks such as "I keep 10 hours in case I have a problem, nobody knows"Project management meetingsPrevious
www.sygit.chWhat is a “good story” ? This is a business function understandable and usable by a user(or a computer if it is a technical function of the architecture) This is necessary so that the progress of the project is based on the deliveredfeatures(with the expected level of finish) Its a Use Case, or a fragment or a part of UC / fragment whereThe tasks from designing to demonstration can be performed during a singleiterationThe "right" time to complete the story is around 1/2 iteration:To reduce the tunneling effectTo facilitate the scheduling of workTo maximize the number of stories completed by the end of iteration In a nutshellA use case is strictly a functional or user viewA story is a function that takes into account the needs of engineering (cuttingthe UseCase into multiple stories that can be implemented in one iteration)Previous
www.sygit.ch Global Private Banking Combined CHANGES delivered in same Release Cycles– Weekly and Monthly Releases– Change The Bank: « Projects or Minor Enhancements Deliverables »– Monthly Fix pack for certain Products Delivery Figures– 100 à 150 Projects deliverables per year– 100 à 150 Minor Enhancements per year (small projects : less than 6 MM) Methodological context : MIX– Risk based « classical » methodology (Waterfall)– Tollgates Process– Agile delivery for certain Products– Trend to implement more Agility in all Software Delivery– Trend to enhance the Release Process to be more Lean and Agile Out of scope– Incidents fix (ITIL niveaux 1, 2 et 3)– Infrastructure change without any business impact3. Challenges for a smooth DeliveryContext
www.sygit.ch Too frequent delivery– Stakeholders overloaded (including the business)– Testing Teams– Training Teams– Implementation and Release Teams– Change Delivery organisation– Less « shared visibility »: challenge to identify, track & control the DEPENDENCIES– Risk of production impact, SLA breach Lack of Architecture / Security / Testing early engagement– Technical Debt– Costly refactoring with business impact Lack of Integration / Infrastructure early engagement Lack of Deployment and Support early engagementResults :Production sometimes managed by Project Teams (or Third Party Vendor …)Production instabilityTechnical DebtRefactoringBad IT image , …3. Challenges for a smooth DeliveryPitfalls
www.sygit.ch Early Engagement of Key Stakeholders since first SPRINTs– Architecture team– Security team– Integration, infrastructure & deployment teams Quality required : Early alignement of all key stakeholders to avoid– Late rejection of deliverables– Technical Debt Test Team Early Engagement – Test automation – Test Driven Development Support Team Early engagement Not too frequent deliveries in production Non Functional Requirements mandatory for a successful delivery ITIL concepts3. Challenges for a smooth DeliveryTips & Tricks
www.sygit.ch Tollgate Process :FIRST : Project Set-up for success and aligned with business strategy Have Change Delivery « Project Managers »: Business Coordination Continuous Integration, a challenge if many Products impacted Strong Acceptance to ensure quality & compliance– Business acceptance (Functional requirements)– Technical acceptance (Non Functional requirements) « Wagile » implementation: Rigorous transition to Production– Share the Change and the Rollout Roadmap– Quality control– Dependencies identification & Management– Limiting Factors Management (internal and external, Human and Others)– Risk management3. Challenges for a DeliveryGovernance
www.sygit.ch4. Human Factor Project Manager Evolution Value Added generator Coach, « Protecting role» Team Self Management, Self Organized Have fun working together Pragmatic approach Quickly capitalise on Lessons learned – Continuous Improvement Long term performance Quality as common objective DO BETTER does not mean DO MORE OR TOO MUCH : STRESS proof Collective Intelligence should not prevent the Individual CreativityManagerControllerInspiring LeaderFacilitator!
www.sygit.chConclusion Agile Methods = Philisophy and Mindset – nor Dogm neither Toolbox Take into account the context / environment Best of Breed from both « Agile and Traditional / Waterfall Worlds » Be Agile (and open) when implementing Agile Change Delivery still needs Project Managers Be Wagile for a smooth transition to production Agility is too important to be left to the Techies PMI (Project Management Institute) look for Agility• New credential PMI-ACP (Agile Certification Practitioner)• PMBOK 5th Edition : iterative planning