In preparation for a book, this blog post is the first of many on Agile Governance; a topic that I have been researching and developing for a few years. Unlike many of my other blog posts (which are extensions of standard processes), this concept is cutting edge, and I am really looking for as much feedback and comment as possible.
So without further ado;
Business management is traditionally based on hierarchically driven, fixed outcome systems and processes. This post will outline a variety of agile methods and processes that can be applied in the day-to-day management of organisations to improve overall quality, adaptability, and risk management. These methods can be applied to technical and non-technical organisations both large and small, and can also be applied to sections/departments within an organisation.
Drawing on the underlying principles and concepts of agile we will look at customer focused and changing outcomes, self-organising and sustainable teams, iterative work, automation, and regular retrospectives. Specifically, how these methods can apply to many standard business processes including;
- managing people and resources,
- operations management,
- financial management,
- sales and marketing processes,
- IT support, and
- Business Process Management (BPM).
What is Agile
Agile is a generic term that describes a series of development, Q/A, and project management methods for delivering work in a highly flexible, customer focused and iterative manner. Well known agile methods include Scrum, Test Driven Development, Extreme Programming (XP) and Feature Driven Design. The business models discussed in this article draw from many of these methods as well as the 5 common underlying elements of agile;
- direct customer involvement,
- iterative work adapting to changing customer requirements,
- cross-functional & self-organising teams,
- sustainable work processes, and
- regular review and reflection
Direct Customer Involvement
One of the core attributes of any agile methodology is the short-term fulfillment of “customer” needs through a collaborative and iterative approach. How you define a customer is context sensitive and can include external clients, senior management, or other organisational areas.
- In a business intelligence context; the customer could be the financial division requesting a financial report.
- In a service delivery context; the customer could be your client or consumer.
- In a retail context, the customer could be a product manager. However a customer would not someone walking into a shop-front purchasing your product. There is an insufficient level of interaction to involve them in your business processes.
This collaboration is best achieved by integrating the customer within the work process itself, which grants a level of ownership and responsibility for delivery. The customer is responsible for defining and prioritising the major deliverables, working with the teams to ensure appropriate delivery and undertaking final user acceptance testing. The major drawback of this model is the additional imposition of time and effort from the customer, which is more than made up for from the benefits of higher quality of work.
Iterative Work Adapting to Changing Customer Requirements
To fully realise agility in the workplace, there will also need to be a change in the way work is undertaken; using an iterative or incremental approach. Through early and regular engagement with the customer (or consumer of the work) teams members create a prioritised backlog of requirements that need to be delivered. Throughout each iteration the backlog must be kept up to date with the customers latest and changing requirements, ensuring that the customers current needs are met.
The top few deliverables are grouped into an iteration, which should be approximately 1 week of work. At the end of the iteration the team will deliver a self-contained, reviewed and usable, though incomplete, product. The product itself will continue to evolve as each iteration builds upon the last.
For example, a HR department develops a new set of OH&S standards using these processes. The customer, the organisations OH&S committee, defines 4 requirements; computer use, manual labour, travel and illness. This is assigned to a team of 3 to deliver over 3 x 1 week iterations, with a manager assigned to integrate, review and interface with the customer.
Benefits of this iterative model include;
- reduced overtime through easily measurable work and clearly defined outcomes,
- a repeatable estimation mechanism to aid in workload management,
- a known rate of work (velocity) which improves forward planning,
- higher quality work through embedded testing and q/a processes,
- simplification of work by focusing on immediate, short-term deliverables, and
- greater customer satisfaction through early, regular and targeted delivery.
It is important to also look at success measures for agile delivery based on quality, speed and satisfaction of the end product.
Cross-Functional & Self-Organising Teams
Many of the key strengths and benefits of agile come from using cross-functional and self-organising teams within an organisational structure. Utilising a prioritised (by business value and effort) backlog of work, teams can be dynamically established outside of traditional reporting hierarchies.
For example, a business development team could include sales people, marketers, graphic designers, software engineers, writers, subject matter experts, etc.
It is critical to factor in the potential compositions & configurations for work teams as well as the role for management and support staff. A team is responsible for delivering a product or work outcome should never be more than 10 full-time staff.
The benefits to this integration are faster development times, quick response to issues and improved information sharing. However to effectively realise these benefits requires all team members to be adaptable and committed.
Sustainable work processes
Agile processes are designed promote a sustainable workload where the teams, management, and customers are able to maintain a constant pace indefinitely. Teams are given the authority to design, plan and estimate each iteration, as well as the responsibility for delivery. This level of ownership for work, combined with direct customer engagement, significantly improves workload management, which in turn reduces overtime and stress. A good method for achieving this is to use a software engineering concept called “pair programming” or in this context “pair work”.
Pair Work is a method where 2 people work together, on the same computer, on a single deliverable. Two people working together, the first as a coder and the other as a reviewer. These roles should swap every 30-60 minutes, and the pairs themselves should change each day. The combined effort equates to a ?% efficiency loss but a ?% accuracy gain over two people working individually.
For example, a pair of business process modelers are documenting a new model for the helpdesk team. As a pair they find and fix more grammatical, factual and logical errors before any senior management see the document, reducing the time taken needed to review as well as the number of drafts needed. They are also more creative as a pair, able to combine their specific expertise to create a better outcome for management.
Providing each team with a level of authority and autonomy also reduces the, often unnecessary, hierarchical levels of management within many organisations.
Regular review and reflection
Lastly any organisation applying agile government will need to examine introspection and reflection methods. These methods encourage organisations to review business management processes to ensure continuous improvement and adapt quickly to changing circumstances.
Image is CC BY SA - Minnesota Historical Society