This section will help you:
++ Work with and support a vendor as they run an agile development process +
++ Embed software in the organization’s technical environment by incrementally deploying working + software modules and evaluating them +
++ Collaborate with the vendor to produce thorough technical and user-oriented documentation +
++ You may encounter these frictions as you do the work of agile development. These are challenges the Recommended actions + are designed to solve, or that may arise as you take those actions. + +
++ Staff retention can be a significant challenge, particularly for technical expertise—where city + governments have to compete with private sector software companies for talent. Staff turnover can + confuse the process, cause delays, and compromise continuity. +
++ Lack of familiarity with or lack of involvement in the agile development process +
++ City staff assume that they cannot or should not be involved with the developer team. Coders should + have decision-making power when it comes to technical architecture, timelines, and required effort, + but they do not know what end users need. The best software will result from good collaboration. +
+Lack of communication with end users
++ Frontline staff members—the end users—will be affected by continuous integration. It is important to + notify them of changes to their daily workflow, and to seek their feedback throughout the development + process. +
++ Lack of input from technical experts when sprint planning +
++ This can result in over-specifying or under-specifying feature sets and poorly planned budgets and + timelines. +
+1. Supporting the agile work plan
++ Your software development partner will create a high level agile development plan. This plan will + describe the overall technical architecture of the project, showing how a number of independent and + interoperable modules will fit together to address the problem statement. You can support the planning + process in a number of ways. +
++ Agile might feel uncertain—and that’s ok +
++ An agile development project is only planned in broad strokes at the outset. The point is to be + incremental and iterative, to accommodate changes based on what you learn as you go. This reduces + overall risk of failure, and minimizes expensive and time-consuming revisions in the future. +
++ Provide the development team with documentation +
++ Have a meeting to walk them through the problem statement, user journeys, success criteria, and + KPIs. Answer any questions, and ask them if they see any gaps in the discovery research or if they + have ideas to add. +
++ Review the full feature set with the development team +
+Ask if they have any concerns or additions.
++ Review your organization’s technical environment with the development team +
++ Discuss the technical architecture for the project, and resolve any questions about how it will fit + into your organization’s existing systems. Another important topic is how DevOps will happen, and + how you will give feedback (make sure an IT professional from your organization attends). +
++ Your RFP specified that the development process would include deployment into the actual working + technical environment. This gives you an opportunity to demo working software to end users and get + their feedback. Schedule these sessions early, so that they are sure to happen. +
++ Your development partner will be building software modules quickly, in 2-4 week sprints. These should be + scoped, budgeted, and contracted individually, underneath the umbrella contract. +
++ Each sprint is about building a module that is... +
++
+
+
+
+
+ Work with the development team to plan the first sprint. +
++
+
+
+
+
3. Using a DevOps approach
++ DevOps (short for “Development and operations”) + involves continuously deploying software modules in the actual working environment as they are built. + That means launching a piece of software on the city’s servers and having users start using it in + their daily workflow. Your job is to organize the deployment, testing and feedback for each module + along the way. + +
++ By deploying and testing, you can identify any technical or procedural incompatibilities and fix + them along the way. It also means that key staff become familiar with the product, and have + opportunities to provide feedback that helps guide future modules or sprints. +
++ Include deployment and evaluation in the contract for each sprint +
++ Allocate time and budget for this step, and specify KPIs or success criteria. You are in control of + the quality! +
++ Coordinate with end users to evaluate the module +
++ Do this after it’s been integrated into their daily workflow. They are the best resources for + evaluation. If it isn’t functional from a technical or user standpoint, then it isn’t good + enough—you can do another sprint to refine it. +
++
+
+
+
+
+
+ Create or complete the following outputs before moving on to the next step. +
++ DevOps continuous integration and testing +
++ Five agile KPI metrics you won't hate +
+ +Product Guide: Work with the vendor
+ +