Aaron Hockley, Multnomah County, Oregon
Agile development methodologies are well-documented but most of the textbook examples and anecdotes found on the internet provide stories of the use of agile methodologies as part of a technically-focused organization such as a software development contractor, retail software company, or hardware/systems organization with software teams that support the company’s technical products.
Multnomah County (Oregon) is not such an organization. The county’s business consists of providing services such as health services, jails, taxation, licensing, animal control, and managing individuals on parole and probation. A few small software teams build and support tools to support the county’s business, but the organization is decidedly focused on non-technical ventures. In a non-technicallyfocused organization, the role of the product owner (internal customer) becomes challenging. Software development participation competes with their other (usual) job activities and the product owners are often unfamiliar with software development experiences.
Over the past three years, a variety of agile practices have been introduced at Multnomah County; lessons learned by the county’s Public Safety Development Team have resulted in software that better meets the customer’s needs. Experience has shown that quality improves when the development team has frequent access to business personnel even though the ideal co-located customer scenario cannot be achieved. Communication with the business product owners is key; the county’s software teams tried a variety of agile work tracking and communications systems before finding one that works well for all parties. No tool is perfect. The team concluded that given the challenges of customer time and participation, the tool which provides the best customer experience is probably the best tool.
Experience demonstrated that it wasn’t feasible to use a textbook Scrum approach due to customer availability challenges. Project teams and customers eventually settled into a development process that’s a hybrid between a Scrum approach and a Kanban-style system. This nimble development cycle is working well for all involved parties.
Better software means that the core business services are better met. Software that best supports the staff providing day-to-day county services is important; a nimble development approach enables applications to be created that best meet the staff and resident needs.