eXtreme Programming (XP) for Teams

A 60-Hour Programme for Software Development Teams

THE CHALLENGE: Every software system undergoes changes: features get added, removed, or modified. In software development, the "cost of change" curve represents how the cost of making changes to the software increases over time. The challenge? To flatten this curve, ensuring the cost of change remains low, predictable, and constant. It shouldn't matter if you're developing a certain user story today or in six months - the costs shouldn't spike. To achieve this result, continuous work is required to reduce the complexity of your software system.

Software Development teams, inclusive of management, product and tech units, often struggle with a growing cost of change curve. Despite adopting agile methodologies or similar approaches, their cost of change curve always rises. For them, introducing a certain feature now is less expensive than doing it in six months. This is because, over time, their software system becomes more complex, and therefore, hinders change. The marginal cost per unit of change often grows exponentially, making delivery times unpredictable.

MAIN GOAL

Reduce the cost of change by simplifying your system complexity

Enable a skilled cross-functional team to apply a process that develops software capable of accepting changes and flattens the cost of change curve.

Our programme brings together managers, product teams, and software developers, all working towards a common goal: to flatten the cost of change curve. Our primary objective is to reduce the cost of change in your software system by helping your team simplify its complexity. The result is more functionality delivered in less time, reduced stress, and predictable outcomes. Ultimately, we aim to empower your team to evolve into a highly-skilled, self-organized, and cross-functional unit. Our programme equips your team to shape a unique software development process, skillfully integrating industry best practices. In addition, our programme aids in building a shared language among management, product, and tech teams, facilitating effective change management.

DETAILED GOALS
Group
Goal
Details
People
Focus on creating a virtuous circle of win-win practices
Strengthen trust
check
Enhance employee retention
check
Empower employees
check
Boost employee skills
check
Process
Apply an adaptive software development process
Foster a shared vision of the product and software system
check
Create a truly cross-functional team without silos
check
Equip your team to develop software that thrives on change
check
Product
Learn practices and techniques
Assess the adaptability of your software system
check
Control and reduce the complexity of your software system
check
Achieving Continuous Delivery is a result of system simplification, not an exertion of brute force
check
BENEFITS

MORE

Group
Result → More
People
Building a shared language among management, product and tech teams
north_east
Clear role definitions
north_east
Comprehensive training
north_east
Cross-functional unit
north_east
Effective and sustainable work practices
north_east
Highly-skilled
north_east
Increased awareness
north_east
Motivation
north_east
Opportunities for skill enhancement
north_east
Promoting versatility in skills (despecialization)
north_east
Self-organized
north_east
Streamlined meetings
north_east
Process
Enabling everyone to contribute to product/system improvement
north_east
Establishing clear responsabilities
north_east
Improving quality
north_east
Predictable outcomes
north_east
Promoting versatility in skills
north_east
Simplifying software system
north_east
Skillfully integrating industry best practices
north_east
Unique software development process
north_east
Product
Effective change management
north_east
More functionality
north_east

LESS

Group
Result → Less
People
Fear
south_east
Stress
south_east
Process
Confusion and uncertainty
south_east
Eliminating waste
south_east
Product
Delivery in less time
south_east

Programme

By the end of this section, you'll have a clear roadmap of our programme and a comprehensive understanding of how we plan to flatten your cost of change curve.

Note

The modules within our programme can be tailored to meet the specific needs of your company. Work sessions can be arranged in blocks of 4, 6, or 8 hours, depending on the requirements of your business.

When we refer to the 'development team' in this text, we're speaking about the complete team, which functionally consists of managers, product developers, and tech developers. In some companies, there might be separate UX or QA teams. While these teams haven't been explicitly considered in this description for the sake of simplicity, they can certainly be integrated into the programme if they exist within your organization. This functional distribution is the starting point of our programme, aiming to create cross-functional teams.

In the programme, we use two different icons corresponding to the different profiles:

check_box means that we recommend it to that profile
check_box means that the activity is also suitable for that profile.
Type
Activity
Length
Mgmt
Team
Product
Team
Tech
Team
Part 1 - Flatten the Cost of Change Curve in Software Development

This part focuses on the understanding and mitigation of the cost of change curve in software development. The idea is to make the team understand how simplifying system complexity can reduce the cost of changes.

Mentoring
Flattening the Cost of Change Curve in Software Development: Challenge and Goals
3 hours
check_box
check_box
check_box
Course
"Object Technology Lets You Build Software Ten Times Faster" --Steve Jobs
3 hours
check_box
check_box
check_box
Course
The Laundry Object: Practical Lab
2 hours
check_box
check_box
check_box
Mentoring
Flatten the Cost of Change Curve - How?
2 hours
check_box
check_box
check_box
Part 2 - Tailoring and Assembling Your Own Development Process

This part aims to give the team insights on different software development processes. The team will gain insights into how to customize their own development process to better suit their needs and work culture.

Course
Dealing with Growth and Change: The Waterfall Lifecycle
2 hours
check_box
check_box
check_box
Course
Dealing with Growth and Change: The Iterative and Incremental Lifecycle
2 hours
check_box
check_box
check_box
Course
Dealing with Growth and Change: Introduction to Adaptive Lifecycles
1 hour
check_box
check_box
check_box
Course
Dealing with Growth and Change: Extreme Programming (XP) - Business Practices
2 hours
check_box
check_box
check_box
Course
Dealing with Growth and Change: Extreme Programming (XP) - Tech Practices
2 hours
check_box
check_box
check_box
Mentoring
Choosing your Process
4 hours
check_box
check_box
check_box
Part 3 - Pomodoro® Technique for Teams

This part introduces the Pomodoro technique to enhance team productivity and manage time more efficiently.

Course
The Pomodoro® Internal Process
3 hours
check_box_outline_blank
check_box
check_box
Course
The Pomodoro® Core Process
3 hours
check_box_outline_blank
check_box
check_box
Course
The Pomodoro® Daily Process
3 hours
check_box_outline_blank
check_box
check_box
Course
The Pomodoro® Team Process
3 hours
check_box_outline_blank
check_box
check_box
Mentoring
Pomodoro® Technique for Managers Q&A
(Note - One or more sessions)
3 hours
check_box
check_box
check_box
PART 4 - LET'S WORK ON YOUR SOFTWARE SYSTEM TOGETHER: THE PRODUCT TEAM

The focus here is on equipping the product team with skills to communicate the value of their digital product effectively. This includes understanding and implementing use cases, user stories, and scenarios.

PART 4A - SKILLS DEVELOPMENT
Course
Requests, Requirements, Use Cases, User Stories and Scenarios: What's the difference? An Introduction
2 hours
check_box
check_box
check_box
Course
Use Case Modeling: Identifying and Structuring Value
3 hours
check_box_outline_blank
check_box
check_box_outline_blank
Course
Use Case Modeling: Use Case Relationships
3 hours
check_box_outline_blank
check_box
check_box_outline_blank
Course
Writing User Stories and Scenarios
3 hours
check_box_outline_blank
check_box
check_box_outline_blank
Course
Splitting User Stories
3 hours
check_box_outline_blank
check_box
check_box_outline_blank
Mentoring
Workshop: Working on Requirements, Use Cases, User Stories and Scenarios
4 hours
check_box_outline_blank
check_box
check_box_outline_blank
PART 4B - VISUALIZING YOUR PRODUCT VALUE STRUCTURE
Mentoring
Workshop: Understanding and Applying Use Cases in your Software System
6 hours
check_box_outline_blank
check_box
check_box_outline_blank
Mentoring
Workshop: Understanding and Applying User Stories and Scenarios in your Software System
6 hours
check_box_outline_blank
check_box
check_box_outline_blank
Mentoring
Presentation to the team: The Value Structure of our Software System
3 hours
check_box
check_box
check_box
PART 5 - LET'S WORK ON YOUR SOFTWARE SYSTEM TOGETHER: THE TECHNICAL TEAM

This part is geared towards the technical team, providing practical techniques to address potential design and architectural issues.

PART 5A - SKILLS DEVELOPMENT
Course
Anti-IF Workshop: Collaboration Diagram Applied
Thinking before coding
3 hours
check_box_outline_blank
check_box_outline_blank
check_box
Course
Mastering Design Patterns Variations and Dynamics: Strategy State and Command Patterns
3 hours
check_box_outline_blank
check_box_outline_blank
check_box
Course
Mediator and Observer Patterns
3 hours
check_box_outline_blank
check_box_outline_blank
check_box
Course
Test-Driven Development in Action
Let's develop a functionality together using the original XP's Test-Driven Development (TDD).
3 hours
check_box_outline_blank
check_box_outline_blank
check_box
PART 5B - VISUALIZING YOUR SOFTWARE SYSTEM DESIGN/ARCHITECTURE

Note - This part is preferable to do in the presence

Mentoring
Workshop Reviewing the Design of your software system
6 hours
check_box_outline_blank
check_box_outline_blank
check_box
Mentoring
Workshop Reviewing the Architecture of your software system
6 hours
check_box_outline_blank
check_box_outline_blank
check_box
Mentoring
Presentation to the team: The Design and Architecture of our software system
3 hours
check_box
check_box
check_box

The Story Behind This Programme

Here's the story of the 'Flatten the Curve' programme, hatched from the trials and tribulations of software development.

"Recently, I've mentored several teams and it always played out the same way: they diligently applied mainstream processes, tools, and practices - Agile, Jira, Continuous Delivery, you name it - yet deadlines kept slipping and 'never-ending user stories' became the norm. Even worse, the blame game was in full swing: the product team pointed fingers at the tech team, the tech team retaliated, and the management team blamed everyone.

It wasn't about the tools or processes they were using. It was the hidden monster - software complexity. Everyone overlooked the task of reducing the complexity of both the software system and the product's value system. As complexity spiraled, confusion and frustration set in among the product and software developers, leading to delusions: "Do we already have this feature?" the Product Developers would ask. "Our software is fine, change is our only problem," the developers would insist. All the while, the beast of complexity grew as they were mired in their Jira to-do lists, pointless remote meetings, and 'clean' silos driven code duplications.

They were so embroiled in the day-to-day grind that they lost sight of the big picture: dealing with change and fostering growth of their software and product value structure by curbing its complexity.

This was the spark for my programme. The goal for your team shouldn't be just to latch onto every new process, practice, or tool. It should be about continually reducing the complexity of your software system. And to achieve that, your team needs a self-tailored blend of process, tools, and practices that work for them, not just by the book. By doing this, you can adapt to changes and let your software grow sustainably, without fear, stress, waste, or delusions. And that is the beating heart behind my programme." --Francesco Cirillo


Diploma of Attendance

Upon fully participating in and completing our programme, participants will be awarded a Diploma of Attendance. This diploma represents more than just a certificate; it stands as a symbol of your commitment to enhancing your skills, your understanding of software development, and your determination to boost the overall efficiency of your team.

This document marks your accomplishment in learning to flatten the cost of change curve and simplify complex processes. It is evidence of your preparedness to address the challenges of software development now and in the future. The knowledge, skills, and practices you have gained will continue to serve you and your team beyond the receipt of this diploma.


Price & Offers

Understanding that every team and company is unique, we've developed a suite of flexible options to ensure our programme can be tailored to your needs.

Delivery Format: We value flexibility and convenience. Whether your team is remote, in-office, or a combination of both, we offer our programme in both online and in-person formats to deliver our comprehensive programme in the way that suits you best.

Customization: We understand one size doesn't fit all. That's why we're prepared to adapt or modify specific modules to address the unique challenges your team faces.

Volume Discount: Registering multiple teams from your organization for our programme? We offer a discounted rate to ensure larger organizations can benefit from our expertise.

Adaptable Scheduling: Whether your team prefers a compact, full-time schedule or spreading the course over several weeks with 4-hour weekly sessions, we offer flexible scheduling to meet your needs.

Follow-Up Support: To ensure the ongoing success of your team post-course, we provide follow-up sessions at a reduced rate to address any emergent challenges or reinforce learning.

Group Coaching: Alongside our standard training, we offer focused group coaching sessions that can concentrate on resolving specific problems your team may be experiencing.

Please complete the form below, detailing your team size, composition, and the particular challenges you wish to overcome. This information will allow us to tailor a solution that fits your needs, delivering maximum value and helping your team truly flatten the cost of change curve.

We look forward to working with you and your team.