July 1991 - Present,
PRO AGILE LTD, DURHAM (APRIL 2011 – PRESENT)
Chief Scientist. Pro Agile is a limited company through which I do much of my contracting work. My most recent contracts have been:
1. OPEN UNIVERSITY (JULY 2013 – JANUARY 2014). 6 month contract. A Scrum Master and Agile Coach, I was responsible for a 6 person Scrum Team and coached the OU’s IT department towards a Scrum Studio model of project delivery and the use of Lean Kanban techniques for BAU work. Issues included:
a. Technical debt. The OU was re-engineering its online Enquirer Experience Programme, which had incurred excessive technical debt due to the effects of ongoing technical uplift that had been largely tactical in scope. I identified suitable Product Owners and coached them on how to collaborate with a Development Team for user story authoring, and on the elicitation of a minimum viable product.
b. Unclear operating model. The IT department’s operating model was unclear both to themselves and to business stakeholders. It extended no further than a notional SDLC that attempted to encapsulate Scrum within a development phase. I positioned the department’s 4 Scrum teams as a studio through which agile development could be managed and regular increments of value demonstrated even though the OU’s delivery process would remain stage-gated for the foreseeable future.
c. Challenges specific to my own team included a new technology stack (Kentico CMS and Oracle rules engine) which, as ASP .NET developers, they had no experience of and were unenthusiastic about adopting. I decided to position my team within the studio as front-end rather than content developers. This helped satisfy their expectations and also aligned content management more towards BAU and Kanban delivery, which is typically a better fit for such changes.
d. BAU teams were positioned outside of the studio model, but I was able to coach them in Lean Kanban delivery methods that limited work in progress, improved throughput and transparency, and allowed them to liaise better with Scrum teams and sprint cycles.
2. TRAVIS PERKINS (FEBRUARY 2013 – MAY 2013). 3 month contract. Working as an Agile Coach, I introduced Scrum and Kanban practices across IT Service and Operations at Travis Perkins. This contract was notable in that it involved the transitioning of ITIL oriented infrastructure teams rather than the software developers I have coached or managed previously. The teams were: Applications Support (3 sub teams), End User Device Support, Network Support, Server & Storage Support, End User Device Deployment, Network Deployment, Service Delivery, Information Security, and Field Services (11 teams total). In addition, I transitioned a further three teams from the Business Division to Kanban - IT Commercials, Project Delivery, and Programme Delivery. Each had between 3 and 12 members, with an average of 7. The key features of this engagement were:
a. Weak product ownership, as infrastructure requirements are invariably quite diverse and tend to be highly distributed. To manage this I encouraged ownership of the service function at a deployment level, while coaching most of the support teams to maintain their own Kanban ticket backlogs and to leverage as much triage from Helpdesk as possible.
b. Meeting the training needs of around 100 people.
· I ensured that each team had a clear Kanban Leader or Scrum Master and trained them accordingly, as I did the Product Owners where appropriate.
· I trained each team and its members to take ownership of their backlogs and planning commitments, and to manage information radiators such as Task and Kanban boards effectively.
· Training of all personnel in the conduct of standups, planning, estimation, reviews, and retrospectives.
c. The need to pay off of many years accumulated technical debt was a recurring issue. I coached most of the teams to operate a Scrumban model as the quality of service had to vary in order to accommodate these demands in a timely manner.
d. Organisation of the enterprise response to P1 incidents.
e. The need to align the entire division with the agile transformation at enterprise level, and I assisted in the transition to a Scaled Agile Framework (SAFe) model with key integration points along a shared release train. All teams ran 2 week iterations with 6 iterations per release cycle.
3. NHS INFORMATION CENTRE (MARCH 2012 – NOVEMBER 2012). Full time contract at the NHS Information Centre in Leeds. I managed two Agile projects in a Scrum Master role, and was also responsible for Agile transitioning across the organisation in general. One of my projects was a Scrumban operation for delivering a back-end message brokering architecture (C# .NET, SQL Server). This Data Delivery Service (DDS) maps the need for NHS-level information to the available raw data, which can come from primary or secondary care sources and which can be processed for statistical measures. The other project was a conventional Scrum operation which provided an algorithmically intensive component for calculating statistical measures known as “Clinical Indicators” (e.g. mortality rates in hospitals). The key features of my work were:
a. Finding ways to overcome weak product ownership.
· In the case of the Data Delivery Service the public bodies requesting the work, paying for the work, and actually wanting the work were different in each case. To overcome this problem I put in place a self-organising “Scrumban” team that could manage an emergent product backlog. I resourced a separate (but co-located) QA team to provide further assurance and also assistance in writing test cases and acceptance criteria. Note that the project budget had not provided for a BA.
· In the case of the Clinical Indicators component, I was able to identify a suitable Product Owner and to include him on the Scrum Team. I trained and mentored the PO in his agile responsibilities, including the formulation and maintenance of user stories and acceptance criteria for a product backlog, and in his duties to the development team regarding communication, release demonstration, and the Definition of Done.
b. Liaising with Project Managers in the NHS. Their understanding of Agile practice was very poor and they felt little incentive to improve or to adapt. As a minimum, I was able to place myself (as Scrum Master) between such PM’s and my team. This was quite successful in helping my teams to progress unimpeded. I was also able to put together an “Agile Release Train” of key deployments that mapped somewhat to the waterfall “milestones” these managers expected. Through this I was able to show how a schedule can change and what that should mean for “management by exception”.
c. All other expected Scrum Master responsibilities, including:
· Ensuring that daily stand-ups occurred, and that other events such as planning sessions, sprint reviews, and retrospectives were conducted in an appropriate manner.
· Removal (including pre-emption where possible) of team impediments, both technical and non-technical
· Elicitation of initial product backlogs, and the training of team members in the maintenance of the same
· Enterprise reports, including the prototyping and roll-out of a suitable dashboard reporting tool. This conveyed defect rates and severity, risks and issues, burn-downs, burn-ups, and velocity measures.
d. Enterprise agile transitioning, including:
· Advising other teams on agile practice, including the responsibilities of Scrum Masters and Product Owners, and identifying the best people to fulfil these roles as far as possible
· Establishing a Scrum of Scrums
· Establishing fortnightly sprints as a default timebox for new projects across the enterprise.
· Running agile training sessions for the NHS IC on a variety of topics, such as sprint planning and product backlog management
4. O2 TELEFONICA (JUNE 2011 – JANUARY 2012). Full time contract at O2 Telefonica (Leeds). I fulfilled the combined role of Lean Manager and Scrum Master for O2's Online Delivery programme (intranet, portal, and back-end development). Within a context of organisational change and transition, I evolved a new permanent Scrum from an existing Lean-Kanban whilst overseeing and facilitating both work-streams at an operational level. The key aspects of my work were as follows:
a. The Lean-Kanban was revised to accommodate small repeatable changes to O2’s customer helpdesk system based around weekly “heartbeats”.
b. The permanent Scrum was geared towards implementing more significant changes to back-end systems, and those requiring impact assessment or formal change control procedures. The client insisted on weekly Sprints for political reasons which was challenging, although I managed the transition successfully and to the point that it exposed non-Agile limitations elsewhere in the organisation.
c. Jira was used in both Scrum and Lean-Kanban for the tracking of user stories and technical requirements, and I defined a suitable process and business rules for migrating tickets between the two when the scope of work changes.
d. The need to transition Agile rigour into client practices was the core requirement of this engagement. I was a “de facto” Agile Coach to both developers and Product Owners, and demonstrated how to conduct standard practices such as daily stand-ups, Sprint planning and review sessions, and retrospectives.
CODEWORKS LTD, SUNDERLAND (OCTOBER 2009 – MARCH 2011)
Permanent fixed-term contract. Project Manager for a £1.9 million portfolio of 9 IT innovation projects funded by a mix of private and public sector sources. Known as the DEV Programme, this initiative links entrepreneurs (who are not necessarily IT literate) with technical suppliers who can develop their inventions to an investor-ready prototype stage. My key accomplishment in this engagement was to implement DSDM and PRINCE2 for each of these 9 projects. This won the 2010 Agile Award for Best Use of Agile in the Public Sector. My specific responsibilities were to:
1. Engage entrepreneurs and assess the viability of their proposals, in terms of:
b. potential revenue
c. market reach, business model
e. jobs created and safeguarded
f. investment leverage
2. Progress prima facie cases through early market research in order to confirm their suitability
3. Elicit requirements and produce architectural designs
4. Prepare and implement strategies for:
b. risk management
c. configuration management
d. quality assurance
5. Identify and recommend appropriate suppliers, including
a. Preparation of tender requests
b. Evaluation of tender responses
c. Handling compliance matters, including requirements for OJEU
6. Manage contractual relationships between Codeworks, the entrepreneur, market research companies, consultants, and technical suppliers
7. Manage the delivery phase of a project using a DSDM/PRINCE2 compliant approach, including:
a. MoSCoWing of requirements for each iteration
b. Identification and pre-emptive handling of risks
c. Technical trouble shooting when necessary
d. Highlight reporting
e. Process oversight using a Pipeline management tool
In support of this I managed an internal, parallel project for the development of a web based BPNL workflow tool. This allowed stakeholders on the DEV programme (such as entrepreneurs, suppliers, managers, and board members) to “log in” to their projects for progress updates. Features included:
1. Customisable flowcharts (defined in XML) for each project
2. Automatic generation of PRINCE2 management products as PDF’s
3. Automatic generation of highlight reports and burndown graphs
4. Requirements tracking
5. MoSCoWing capabilities
6. Capturing of work packages as DSDM timeboxes
7. Risk and issue tracking, daily logs
Following programme delivery, I went on to develop opportunities in the field of Agile project troubleshooting. Clients included a national examination board, 3 IT companies, a business consultancy, and a £650m retail corporate. Typical pathologies included scalability issues as IT departments grow, a divergence in the expectations held by technical and business stakeholders, various self-limiting cultural practices, and infrastructure constraints.
Gamcom, LONDON (MAR 2009 – OCT 2009):
Contract. IT Project Manager for a £500K fixed-price contract with Nationwide Building Society. I successfully headed a 12 person team developing a .NET/SqlServer solution for handling dormant customer accounts. This project was strategically important since (a) the client had been moving increasingly towards fixed-price and a model project was needed to guide future engagements; and (b) compliance with the terms of the recent Unclaimed Assets Bill mandated the success of this project. I had to elicit and reconcile board-level directives, and then translate these into tactical decisions which I was able to implement.
Operationally there were multiple work-streams to be managed including UI, report generation, interest calculation logic, and real-time data migration, plus testing. I applied an iterative-incremental model of development to accommodate changing requirements within fixed-price constraints and protocols. System, integration, and user acceptance testing was split between company and client locations, which required careful planning and a multisite approach to bug reporting and triage.
Despite being fixed price, I was able to leverage certain Agile practices including daily stand-up meetings along with internalised inventory/backlog control, milestones and synch points. The most significant internal deliverables were exposed to the client in order to generate confidence and to help manage risk. From a developer perspective the project appeared to be Agile. The entire project was applied to company ISO9001:2000 standards. CMMI-SW Level 3 was also referenced.
My main responsibilities were:
1. Client liaison, including the resolution of requirements issues in a fixed-price environment.
2. Team management (operations), including technical and personnel issues, and work-stream co-ordination.
3. Management of a remote test team based in Pune, India.
4. Direct reporting to directors, matrix reporting to quality assurance managers, and client managers.
5. Impact assessment and timely resolution of requirements changes and changes to functional specifications, database schemas, and solution designs.
6. Tracking, collation, and archiving of all requirements changes; authoring of meeting minutes.
7. Ensuring traceability across multiple dimensions, including requirements, functional specification, and testing.
8. Compliance across all dimensions with ISO9001:2000, and preparation of the team for audit.
9. Investigation, analysis, costing, and raising of Change Requests totalling in excess of £150K.
10. Collation and baselining of requirements when and where appropriate.
11. Redaction and pipelining of artefacts for internal and external reviews, and client signoff.
12. Formulation of a Quality Plan, and the overseeing of its application.
13. Formulation and updating of the Development Plan (Microsoft Project) including ramp-up, through analysis, unit design and test, integration and system test, transition and deployment; resource levelling, budgeting, and forecasting.
14. Development of the Test Plan in conjunction with a company test manager and client QA.
15. Definition and tracking of team tasks using MSVS Team System.
UNIVERSITY OF WALES (SEP 2008 – FEB 2009):
Executive Mini MBA course. Readings in Finance, Marketing, Management, and Strategic Planning leading to the award of a Postgraduate Certificate of Business Administration.
BJSS, LEEDS (JUL 2008 - SEP 2008):
Contract. BJSS - a struggling development shop with Agile scalability issues - was experiencing high staff turnover and unsustainable levels of technical and design debt. Their Reuters Foreign Exchange project was slipping behind schedule with a set finish date. The system was for the trading of foreign exchange instruments over the Web, including a multithreaded Core Java back-end engine for the matching of buyers and sellers. I took the following urgent remedial action:
1. Demonstrated correct Agile practices to BJSS, and how to achieve traceability of artefacts, through personal example.
2. Investigated bug reports and recommended strategies for repair
3. Provided TOGAF compliant analysis and design of use case scenarios for systems failover
4. On my own initiative, I produced supporting utilities and demonstrators in C#/.NET (WinForm UI) which communicate via XML messaging over secure sockets.
5. Managed deliverables as part of a Scrum based iterative and incremental delivery cycle, including continuous integration and unit testing, and the use of DOORS for requirements tracking.
6. Recommended changes to the methodology, particularly with regard to operations management at BJSS, in order to avoid problems with their client in the future.
THECITYSECRET LTD, RICHMOND, N YORKS (AUG 2004 - JUL 2008):
Permanent then contract. Senior consultant seconded to Reuters and Morgan Stanley, initially on a permanent basis and subsequently as a contractor. I oversaw the development of equities trading desk software which allowed clients to select brokers using Reuters as an intermediary. One of the first members of this Richmond based team, I helped grow the Reuters account from 2 to 10 people with a budget of £1m p/a. During this time the company grew from around a dozen to more than 40 people.
1. Interviewed, selected, trained, and mentored new staff as accounts developed.
2. Designed and implementation of a custom programming language for dynamic ticketing to a FIX interface in support of market, limit, stop loss, and other broker-defined orders.
3. Elicited use cases and produced the architectural design (TOGAF) for a separate Reuters J2EE project for a trading blotter for mobile devices using mobile web browser functionality. Prototyped (Test Driven Development) an implementation in Java and Jetty with Continuations.
4. Designed and implemented a C#/.NET training application (XML + WinForms) for staff development in financial services. I also produced a reference implementation of a trading front end in C# which could be used for staff training purposes, and which communicated with a Java back end via XML messaging and/or JSON.
5. Configured development processes around XP and Scrum.
6. Identified scenarios for new functionality using the Unified Modelling Language.
7. Implemented a Test Driven Development strategy using JUnit and Mock Objects.
8. Mentored thecitysecret’s Reuters, Morgan Stanley, and Merrill Lynch staff in Agile practices and in the selection and implementation of design patterns.
9. Maintained stock-loan systems for Morgan Stanley back-end systems for order matching, and system upgrades (Perl/stored procedure optimisations). Investigation into compliance with the Sarbanes-Oxley Act.
10. Produced and delivered training courses for thecitysecret’s employees on the matter of corporate ethics in investment banking.
11. Provided emergency cover for Reuters and Morgan Stanley where necessary
NVISIA LLC, MILWAUKEE, USA. (NOV 1998 - APR 2004):
Permanent. Technical Lead in an IT consultancy firm of around 30 people based in Chicago. The branch office was in Milwaukee and consisted of some dozen people at the time of my joining. I further developed the client base by soliciting new project opportunities in Wisconsin, Minnesota, and Indiana, and also by delivering IT training courses around the US which provided lead-in opportunities for consultancy work. My approach can therefore be said to be highly pro-active and goes beyond the formulation of RFP’s. The Milwaukee branch had more than doubled in size by the time I left and had a portfolio of some half dozen long term clients. The accounts I worked on included General Electric, Harley-Davidson, BEA Systems, Cumulus Media, Kraft Foods, DiscoverCard, NorthWestern Mutual Life, American Family Insurance, Resort Condominiums International, and SuperValue supermarkets.
1. At General Electric, I helped design and develop multithreaded ECG and brainwave digital signal sampling components for a next generation patient monitoring device. I Certified as a CompTIA Project Manager and (under Ken Schwaber) as a Scrum Master during this engagement.
2. At Harley-Davidson I was Requirements Analyst for a new supply-chain management system (400 Use Cases). A key vendor was integrated into the company's existing IT infrastructure to support Just In Time processing. I also taught Enterprise Systems Development to company personnel in various 2-week courses, and authored the courseware. This was a value-added service which allowed further work to be solicited from this account.
3. At BEA Systems, I taught Enterprise Systems Development using BEA WebLogic to commercial clients throughout the US. This responsibility fell upon me since I was the only nVisia employee to successfully pass the BEA instructor exams.
4. At Cumulus Media I helped design and develop a Web based engine for matching job seekers and agents against submitted job listings. I took the matching engine project through analysis, design, implementation, back-end integration, and provided extensive documentation.
5. At Northwestern Mutual Life I developed a configuration management process (600 use cases) for the client's software engineering department. Defined workflows, artifact types, and promotional metrics for version control. The Project involved extensive requirements analysis and business process re-engineering at a departmental level.
6. At American Family Insurance I assisted in the requirements analysis of new claims, and taught courses on how to implement these scenarios