diff --git a/1au46-getting-oriented.html b/1au46-getting-oriented.html index 7d83597..3796703 100644 --- a/1au46-getting-oriented.html +++ b/1au46-getting-oriented.html @@ -386,11 +386,9 @@

Process code for software procurement @@ -402,10 +400,11 @@

Process code for software procurement1. Orientation
- + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -1009,10 +1006,11 @@

Process code for software procurement1. Orientation
- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -1219,10 +1214,11 @@

Process code for software procurement1. Orientation
- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -622,10 +615,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -655,10 +648,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -851,10 +843,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -197,10 +190,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -487,10 +480,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -544,10 +537,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -180,10 +173,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -492,10 +485,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -537,10 +530,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -452,10 +445,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + Process code for software procurement
@@ -153,10 +147,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > + + + + + + + + + + + + + + + + + +
+
+ +
+

Process code for software procurement

+
+
+
+
4b. Agile development
+
+

This section will help you:

+
+
+ icon.goal +

+ Work with and support a vendor as they run an agile development process +

+
+
+ icon.goal +

+ Embed software in the organization’s technical environment by incrementally deploying working + software modules and evaluating them +

+
+
+ icon.goal +

+ Collaborate with the vendor to produce thorough technical and user-oriented documentation +

+
+
+
+
+
+
Common challenges
+

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

+
+ icon.challenge +
+
Staff turnover
+

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

+
+
+
+ icon.challenge +
+

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

+
+
+
+ icon.challenge +
+

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

+
+
+
+ icon.challenge +
+

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

+
+
+
+
+
Recommended actions
+
+

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

+
+
+
+ Union + Group 194 + Line 48 +
+
+
+

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

+
+
+
+ icon.action +
+

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

+
+
+
+ icon.action +
+

+ Review the full feature set with the development team +

+

Ask if they have any concerns or additions.

+
+
+
+ icon.action +
+

+ 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). +

+
+
+
+ icon.action +
+
Schedule demos
+

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

+
+
+
+
+
2. Sprint planning
+

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

+
+
+
+ Union + Group 194 + Line 48 +
+
+
+

+ Each sprint is about building a module that is... +

+
+
+ Based on insights from the discovery research
+
+
+ Written out as a clear user journey
+
+
+ Planned and resourced according to complexity and necessary staff effort
+
+
+ Developed in a short (2-4 week) sprint
+
+
+ Fully operational at the end of the sprint
+
+
+ Integrated, tested and operationalized at the end of the sprint +
+
+
+
+
+ icon.action +
+

+ Work with the development team to plan the first sprint. +

+
(see guidelines below)
+
+
+
+
+ icon.guidelines +
Guidelines for agile sprints
+ arrow.down +
+
+
+ Each module should addresses a very specific problem that a future user will face. For example, a + web application for trash removal may include:
+
+
+ “I am a resident. I need to know which day trash will be collected this week, and whether it will + be trash + recycling or recycling-only.”
+
+
+ “I am a trash truck operator. I need a route for pickups at the beginning of every day.”
+
+
+ “I am a waste management services operator. I need to know if severe weather conditions are + expected, and notify residents of service delays.”
+
+
+ Sprint planning and scope should be determined with the development team. Some teams use a simple + point-scoring system to assign an amount of work involved to complete each sprint (e.g. “1” for a simple module and “4” for a complex module). This helps with staffing, budgeting and planning. Before each sprint, work with the development + team to plan the focus, scope, and timeline of each sprint.
+
+
+ Agile development depends on regular meetings. The development team will meet frequently (usually every day). If an external vendor is doing the development, there should be a meeting with the client at + the end of every sprint (every 2-4 weeks). +
+
+
+
+
+

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

+
+
+
+ Union + Group 194 + Line 48 +
+
+
+
DevOps reduces risk
+

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

+
+
+
+ icon.action +
+

+ 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! +

+
+
+
+ icon.action +
+

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

+
+
+
+
+
+
+ icon.guidelines +
Evaluating modules
+ arrow.down +
+
+
+ You should be using iterative, module-specific contracts under an umbrella contract. You have the + opportunity to evaluate each module, and can discontinue the umbrella contract in the event of + underperformance. Ask the following evaluation questions:
+
+
+ Does the module meet the sprint’s KPIs?
+
+
+ Does the module address a user journey that is relevant to the problem statement?
+
+
+ Is the product logical and usable for the end user?
+
+
+ Does the product integrate with the city’s existing digital environment?
+
+
+ Did the process align with the optional criteria, values and objectives in the RFP?
+
+
+ Was the product delivered in a timely manner? +
+
+
+
+
Takeaways
+
+

+ Create or complete the following outputs before moving on to the next step. +

+
+
+
+
+ gear 2 + arrow 2 +
+
+
+ Collaborative agile development +
+
+
+
+
+ gear 2 + arrow 2 +
+
+
Modular budgeting
+
+
+
+
+ gear 2 + arrow 2 +
+
+

+ DevOps continuous integration and testing +

+
+
+
+
+ + +
+ +
+ +
+ + + diff --git a/4cu46-integration.html b/4cu46-integration.html index 96b352f..8357671 100644 --- a/4cu46-integration.html +++ b/4cu46-integration.html @@ -537,13 +537,12 @@

Process code for software procurement

@@ -554,10 +553,11 @@

Process code for software procurement1. Orientation

- - + + Process code for software procurement
a. Implementation phase
- - + > +