Lowering Software Complexity with Design Patterns

A 100-Hour Programme for Software Developers
MAIN GOAL

Enable a skilled cross-functional team applies a process to develop software that accepts change and flattens the cost of change curve.

Here you can find the next sessions of this programme:

Online Course

Online Course

Online Course

* Price excludes VAT

Programme

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 Program

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

"I was a student at the university in 1987 and I had to take the sociology exam in September. I couldn't keep my mind focused on my book. I was constantly getting distracted. I made a humble bet with myself: 'Can you stay focused for two minutes without distraction?' I went to the kitchen, grabbed a timer and came back to my table. The timer was red and shaped like a Pomodoro (tomato in English). I wound it up to two minutes and started reading my book. When the timer rang I had won my bet against Time. Surprised, I began to ask myself why it had worked? I gradually increased the amount of time when I set the timer. I got to one hour, but that was too much. I didn't take too long to realize that, for a number of factors, the ideal unit of work was 25 minutes followed by a 2-5 minute break.

There, on that table in September 1987, I hadn't noticed yet but for the first time I had managed to turn time into an ally. Exactly at the moment when Time appeared to be such a vicious predator to me I managed to stop in front of it, and still and afraid ask this simple question: "How can you, Time, be useful to me now?

For the first time I used time instead of running away from Time. I decided to use Time, spend it to take a break, favour my mental processes, allow my mind to organize the information it had acquired in the working time and put me in the best situation to start my next Pomodoro."


Diploma

There, on that table in September 1987, I hadn't noticed yet but for the first time I had managed to turn time into an ally. Exactly at the moment when Time appeared to be such a vicious predator to me I managed to stop in front of it, and still and afraid ask this simple question: "How can you, Time, be useful to me now


Price & Conditions