Daniel Terhorst-North uses his deep technical and operational knowledge to help business and technology leaders to optimise their organisations. He puts people first and finds simple, pragmatic solutions to complex business and technology problems.
With over thirty years of industry experience, Daniel is often invited to speak at major conferences and corporate events worldwide.
Daniel’s career splits broadly into separate decades:
Third decade: independent consultant
Since 2012, Daniel has been an independent consultant, optimising organisations from 50 to 5,000 people. He does this by engaging with their technology and operational strategy, leadership and management practices, organisation design, and ways of working.
His unique approach involves listening to the people on the ground as well as senior leadership to uncover where the real issues are, rather than implementing a one-size-fits-all solution.
He has worked with many organisations as an independent. The case studies below represent a cross-section of these engagements, highlighting the context, the impact on the organisation, and the approach he took to achieve this.
Expand for details
Case study 1: Doubling throughput, twice
The context
- 3,000-person core banking function in a global US investment bank
- 400 engineers across two primary locations
- Senior exec told us: 'We have 3,000 people solving a 300-person problem'
- 40-50 legacy stovepipe systems in one location alone, using a variety of defunct technologies
- Lots of key person risk; only one or two people understood each legacy system
The impact
- Within 12 months, lead time had halved and throughput had doubled—measured by business change items (major features) delivered—across the portfolio
- Quality was not only maintained but improving, measured by number of Severity 1 & 2 production incidents (and time to resolution)
- Key person risk eliminated by ensuring each system had multiple people who could confidently work on it
- 12 months later, throughput had doubled again, and lead time halved again, with the same people, same tech, same systems (mostly), and almost no attrition, because people were having fun now!
The approach
- We educated managers and senior execs about flow, systems thinking, intent-based leadership, Theory of Constraints
- Leaders challenged the teams to: 'Halve lead time, double throughput, without reducing quality'
- Everyone started asking 'What is lead time?!'
- Some teams found it easy to halve lead time, some impossible, but they all tried
- Some teams tried alternatives to Scrum, out-performed practically everyone else
- We introduced quarterly 'big-room' planning on both sites, and adopted fluid teams in one ('moving the people to the work'), which unblocked most of the dependencies of scarce skills and product knowledge being in the wrong teams
- We introduced portfolio-wide delivery metrics using Cumulative Flow Diagrams, to identify where work was getting blocked, and what to do about it
- We built a league table that showed which people were learning about which key systems
- We created a 'graceful exit' for folks who did not want to come on the journey with us, either to move elsewhere in the bank or to provide resumé and interview training to exit well
Case study 2: Getting 90 people facing the same way
The context
- Major UK retail chain with £10bn turnover
- 90,000 employees, including 1,000 in central IT
- The tiny Online team of 90 people were supporting 40% of revenue!
- The tech was good but programme management was non-existent
- Us-and-them culture between IT and Product, so each team had a pair of managers reporting to each silo
- Critical business deliveries were at risk due to poor coordination, hidden dependencies, lack of trust
The impact
- We established a single, cohesive programme of work which enabled them to more than double to 200 people the following year
- We built a culture of shared responsibility for technical product delivery
- Programme managers and interested stakeholders had a simple dashboard of delivery trends across 20+ teams
The approach
- We provided training and education on flow metrics—lead time, throughput, work-in-process—across whole programme team and leadership
- We supported all teams in introducing and reporting their own flow metrics on a 2-weekly basis; creating consistent tracking data
- Teams could work however they wanted, as long as they demonstrated high engineering standards and produced their flow metrics
- We built a 'big visible wall' to show entire programme status at a glance. Different colours represented different kinds of work; Cumulative Flow Diagrams showed where work was getting stuck
- We introduced quarterly 'big-room' planning where 90 people self-selected into new teams for each quarter
- The teams ran a series of talks and roadshows where they would visit different parts of the organisation to show what they were doing and why
- We worked with Product and IT leadership to bring their organisations closer together, leading to closer collaboration and increased trust
Case study 3: Transforming the engineering culture
The context
- Major UK broadcaster
- The boring-but-critical tech that does broadcast, not the cool mobile or web apps. If anything goes wrong, millions of TV sets go blank rather than a website being unavailable for a while, so there is a much more conservative mindset.
- 120 people looking after a portfolio of legacy apps, some internal, some vendor, some hybrid (heavily customised vendor products)
- 80+ active branches of the same codebase, with unknown versions of apps in production
- Testing outsourced to offshore tech partner with poor automation skills; thousands of slow SpecFlow tests
The impact
- Reduced average lead time of feature delivery from 12+ months to a few weeks
- Created shared culture of quality, testing, and testability across the department
- Simplified path to live for most critical systems
- Slashed change failure rate (deployments causing a problem in production)
- Massively simplified automated test suite and up-skilled testers to be able to maintain and evolve it
The approach
- We paired with individuals and groups to apply new techniques to real problems
- We measured lead time for features; huge variation of 2-14 months
- We reduced releases from monthly to quarterly(!), but delivered what was committed in that quarter, so lead time came down to a guaranteed 12 weeks!
- Then we increased release frequency as we improved engineering practices, until we were back to monthly releases but with a lead time of only 4 weeks
- We developed and ran a software testing class because we were unable to find anything that covered the 'why' of testing and testability
- We ran 4 classes of 30 people each, which included the external test consultants
- We collapsed 80+ code branches down to single trunk for the core app codebase
- We grouped the SpecFlow BDD scenarios by functional area and behaviour, and then replaced most of them with a handful of small, fast, targeted PyTest tests
- We introduced stubs for testing against third-party dependencies, and found and reported bugs in some of the services, where we shared our automated tests
Case study 4: Sowing the seeds of change
The context
- TV and broadband arm of major UK telco
- Modern digital product development methods coming into conflict with traditionalist 'industrial' telecoms mindset
- Teams have been doing 'agile by numbers', with good intentions but little deep experience on the ground
- Starting to hit the limits of team-scale delivery, and wanting to roll out more effective ways of working at scale
- Open-minded leadership; keen to try something new; aware that they 'don't know what they don't know'
The impact
- Laid the groundwork for successful multi-year business change programme
- Methods and techniques replicated by other teams within the organisation
- The Engineering Director leading the initiative thanked Daniel for his contribution in an experience report presented at DevOps Enterprise Summit
The approach
- We ran a multi-day Value Stream Mapping workshop where managers across the business mapped out their product development and deployment processes for the first time
- We coached the managers and led a 2-day Quarterly 'Big-room' Capacity Planning exercise to give them a portfolio view of all the work for the next several quarters
- We ran a series of clinics and 1-1 sessions with individual teams and team leads over several months, providing coaching, mentoring and hands-on development and planning guidance
- We gave talks and ran Q&A sessions looking at different aspects of digital product change and business acceleration, so people could air their concerns and understand more about why we were embarking on the journey, and what was in it for them
- We coached the leaders in messaging the change and creating ambassadors within and across teams, so people felt they had some agency in the process
Case study 5: Creating a strategy in a day
The context
- Online training scale-up
- 150 staff with plans to double in size; healthy revenues; great product
- Brand new CEO, recent Chief Commercial Officer; no real Technology leadership; HR and Finance folks used to not being included in strategy discussions
- Tech-led start-up, still finding their way in terms of commercial and marketing strategy and product management
The impact
- Produced OKR-based strategy covering product development, improvements to Finance and HR processes, improvements to Sales and Marketing operations, and the beginnings of a robust recruitment strategy for the year
- Leaders from across the organisation were working together for the first time
- Laid the groundwork for ongoing cross-department collaboration and increased trust and understanding
The approach
- We 'made all the work visible' by asking the exec team to write down everything they wanted to achieve this year, however trivial or inward-looking; not just products and features for the market
- We mapped out the technology estate, in terms of products, services and processes, using Wardley Mapping to show dependencies and to identify which applications were in-house or vendor products
- We mapped out the current planned work using a Purpose Alignment Model to identify the extent to which work was differentiating and/or business critical, enabling us to defer or de-prioritise a lot of the anticipated demand, which was neither
- We looked at underlying causes of demand; rather than 'produce this report' or 'automate this process', we took time to understand why it was there in the first place and who the stakeholders were
- We facilitated discussions to prioritise demand across departments, and to identify and address tensions between different groups
- We created a draft plan covering the next few quarters, to continue working on later
- We taught the exec team how to use these tools, so they were equipped to go back to their own teams and continue the analysis and planning at the next level down
Second decade: Thoughtworks consultant
Daniel joined the newly formed London office of global technology consultancy Thoughtworks as its first tech employee in 2002, when there were only three UK staff and a bridgehead of 30 consultants from the main Chicago office. Over the next nine years, he helped to grow the office to 250 professional services consultants and pioneered several advances in agile ways of working.
At Thoughtworks, he invented Behaviour-Driven-Development, co-authored the original Deployment Production Line paper (direct download), now known as build pipelines, and led teams that developed many of the Continuous Delivery patterns and techniques.
During this time, he built a reputation as a speaker at international conferences on topics from team dynamics and agile methods to programming and architecture.
The engagements below illustrate his breadth and impact during his time at Thoughtworks.
Expand for details
Scandinavian Oil Company – adviser, trainer, facilitator to CxO team
Daniel prepared and delivered two days of intense workshops covering enterprise architecture, agile adoption, procurement and technology strategy to senior developers, architects and CxO-level technology and business stakeholders. These sessions directly influenced their strategic direction and some of the outputs have been adopted as core vocabulary within the organisation.
International Standards Body – enterprise architecture consultant
Daniel worked with the chief architect of a standards body to develop a three year enterprise architecture strategy. This encompassed hardware and infrastructure growth, strategic technology direction, legacy integration, disaster recovery and hosting through to organisational structure and development practices.
Tier 1 Investment Bank – technology adviser, tech lead, agile process coach
Daniel joined a project team new to agile, tasked with reimplementing a Java service platform communicating between .NET rich clients and a legacy C++ trading system. Daniel quickly identified that the proposed solution would have the same intrinsic problems as its predecessors, namely coupling between clients and services, versioning issues, maintainability and operational stability.
He successfully pitched a major redesign and led the team to implement the revised solution within the same timeframe, meeting the objectives of independent versioning of services, automated build and deployment, and clean, maintainable code.
Fortune 500 Fund Manager – agile programme coach, build master
Daniel coached the agile transition of a programme team of 50 people distributed between the UK and India. The team was new to both agile delivery and the particular technology stack (WebSphere Portal Server). He oversaw the adoption of practices such as test-driven development, pair programming, continuous integration, adaptive planning and story-based analysis. He used a combination of workshops and on-the-ground coaching, and encouraged feedback in the form of self-assessments and retrospectives to monitor success.
As build lead he used open source technologies to automate the build, deployment and testing of J2EE components such as portlets and web services from multiple interdependent project streams. He used open source technologies running on Linux blade servers, and presented this solution at the Agile 2006 conference as the Build Production Line.
Major clothing brand – J2EE performance tuning
Daniel spent a month performance tuning a business-critical Enterprise Java application. He reduced the start-up time for the application from 10 minutes to under 5 seconds, improved the search times for the highest value searches by an order of magnitude, and simplified the core architecture of the application, making the data management operations more than twice as fast. Technologies included IBM WebSphere application server and a mainframe-hosted IBM DB2 database.
Major UK retailer – developing training programme
Daniel designed, prepared and delivered a training program over several weeks to cross-train a group of developers with diverse technical backgrounds (mainframe, ERP, Oracle) in skills such as agile software development, OOAD, Java and J2EE. Starting from a basic introduction to object-oriented development, he took them through the principles of agile project delivery, test-driven development and the major Java and J2EE libraries and technologies. Using demonstrations, presentations and hands-on programming exercises, the group developed their own asynchronous instant messaging application.
First decade: software developer
From graduate to senior developer, then tech lead and executive roles as VP Engineering and Director of Development, Daniel worked across sectors including investment banking, insurance, telecoms, vehicle leasing, custom software development, using a variety of languages and
technologies.
Technologies included Enterprise Java, Python, Unix shell, SQL (Oracle, SQL Server, MySQL, PostgreSQL, SQLite), Ruby, C++, Perl, in environments from high-performance bare metal (low-latency trading) to virtual machines and containers.
Expand for details
Senior Developer – Motability Finance Limited
Daniel was involved in the development of a large J2EE and XML-based vehicle pricing and resale system with an immovable deadline. As a member of a 30 person team, he developed various business components, from use cases through to implementation, including a robust XML messaging gateway application. Daniel designed and developed a pilot Web Service-oriented solution to integrate various bespoke legacy applications across PowerBuilder, VB, SAP and Java. Technologies used include Java, Design Patterns, J2EE, EJB, struts, JMS, XML, XSL, Web Services, SOAP, UML, SQL Server, SilverStream, JBoss.
VP Development – Cadrion Technologies
Daniel headed up an 8-strong development team in an ERP start-up company developing a J2EE-based recruitment and skills matching system. He was involved in all areas of development: hiring, mentoring, architecture, analysing requirements, component- and object-modelling, development and testing. Technologies used include Java, J2EE, EJB, struts, XML, XSL, UML, SQL Server, Orion, WebLogic, stochastics and agile methodologies (XP).
Director of Development – The Wirestation
Daniel acted as mentor, team lead and architect/developer for a web development consultancy on multiple large and small projects with a team of six developers, joining as a contract developer and becoming the acting Director of Development. He introduced agile XP practices and J2EE and XML-based technologies, integrating these with existing web applications such as content management systems. Technologies used include Java, J2EE, EJB, Design Patterns, XML, XSL, Perl, SQL Server, Sybase, Oracle, MySQL, Orion, Apache Cocoon, XP.
Contract Developer – Virgin Net
Daniel was part of a team of 10 developers adding functionality to ISP Virgin Net’s web portal. He developed a secure Internet Relay Chat (IRC) server for their ISP subscribers and administered access and security for an Apache web server. Technologies used include Perl, C, UNIX (Linux, Solaris) shell scripting, Apache web server, HTML, HTTP/HTTPS.
Contract Developer – MCI WorldCom
Daniel was an architect and senior developer in a team of 20 developers, creating robust and scalable C++ system components for a pan-European telecoms billing system. These included fail-safe memory management components and self-managing database queries. Technologies used include C++, Sybase, UNIX (HP/UX) shell scripting, UNIX systems programming.
Contract Developer – Reuters
Daniel was a developer in a small team developing a global credit limit system. He was responsible for integrating a legacy relational database with an object database and building various C++ components, as well as improving the development and testing environment. Technologies used include Microsoft Visual C++, Visual Studio, ObjectStore, Sybase.
Developer – Banque Paribas
Daniel developed FX back office software for a AAA-rated merchant bank. He planned and co-ordinated the migration of a business-critical relational database onto a new platform, and managed software releases into a 24-hour production environment. He defined the strategy for business continuity planning (disaster recovery) and .
Head of Development – NDL International / Claritas
Daniel was head of development for a direct marketing company, and was the project lead in developing a marketing database product incorporating lifestyle and demographic data for over 20 million UK consumers, using Electoral Roll data across 44 million registered voters. As well as hands-on development, key responsibilities included planning and managing a multi-phase project, performing business and systems analysis and design, defined acceptance criteria, beta-test and roll-out and co-ordinating training plans. Technologies used include C and UNIX shell scripts, make and Imake, low-level UNIX system programming, SunOS, Solaris and SCO UNIX.
Programmer – Crosfield Electronics
Daniel developed a client/server-based image archiver in C and UNIX shell for a company specialising in electronic pre-press systems. He designed and implemented image-processing software, an encrypted license-based software server, and a system that installed the SunOS operating system and software packages.