Presentations

We regularly speak about software development; at events ranging from large conferences through to small user groups and specialist events. The slides from most of the presentations can be downloaded as a PDF or viewed online. They cover a range of topics related to software architecture, technical leadership and the balance with agility.

We've presented keynotes, sessions and workshops in these countries ... China Denmark England Finland France Guernsey Ireland Italy Jersey Norway Romania Scotland Sweden The Netherlands Ukraine United States

Software architecture and the balance with agility

The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software that better meets the needs of the business while carefully managing time and ...

Thumbnail

The Conflict Between Agile and Architecture - Myth or Reality?

The words agile and architecture are often seen as mutually exclusive, but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil, whereas others are coming to the conclusion that they need to ...

Thumbnail

Effective software architecture sketches

Agility is about moving fast, and this requires good communication. But it's surprising that many teams struggle to effectively communicate the architecture of their software. As an industry, we do have the Unified Modeling Language (UML), yet many people ...

Thumbnail

Agile software architecture sketches

Agility is about moving fast and this requires good communication, but it's surprising that many teams struggle to effectively communicate the architecture of their software. We have the Unified Modelling Language (UML), a formal standardised notation for ...

Thumbnail

Software architecture for developers

The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software within the typical time and budgetary constraints that most of us have. But ...

Thumbnail

The Conflict Between Agile and Architecture - Myth or Reality?

The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...

Thumbnail

Agile software architecture sketches

Agility is about moving fast and this requires good communication, but it's surprising that many teams find it tricky to effectively communicate the architecture of their software. We have the Unified Modelling Language (UML), a formal standardised ...

Thumbnail

Agile software architecture sketches - NoUML!

Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many agile teams struggle to effectively communicate the architecture of ...

Thumbnail

Software architecture for developers

The agile and software craftsmanship movements are pushing up the quality of the software systems we build, but there's more we can do because even a small amount of software architecture can prevent many of the problems that projects still face, ...

Thumbnail

Agile software architecture sketches

Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many agile teams struggle to effectively communicate the architecture of ...

Thumbnail

Modern Legacy Systems

The term "Legacy System" conjures up images of a vast mainframe (with whirring tapes and flashing diodes) running COBOL programs in a basement. However, many current computing stacks are quite old and have many legacy implementations. Although Java/JVM is ...

Thumbnail

Software Architecture for Developers

The agile and software craftsmanship movements are helping to push up the quality of the software systems that we build. Together they are helping us to deliver better software that better meets the needs of the business while carefully managing time and ...

Thumbnail

Effective architecture sketches

Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and it ...

Thumbnail

IT projects; if you can't beat them, change the game

Statistically, the IT projects you're involved with at this very moment have a high probability of failing. Maybe deadlines will be missed. Maybe budgets will be blown. Maybe the project won't deliver the intended value because it creates the wrong ...

Thumbnail

Software teams and master builders

Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...

Thumbnail

Just enough software architecture

One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

The code doesn't tell the whole story

We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...

Thumbnail

Effective architecture sketches

Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and it ...

Thumbnail

The code doesn't tell the whole story

We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...

Thumbnail

Coaching you to coach your team

I regularly run deliberate practice sessions where I ask people to pair up and design a software solution for a given problem before communicating it using pictures. This allows people to experience collaborative software design and to hone their ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

The journey to becoming a 21st century software architect

Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name, and a master ...

Thumbnail

Are you a software architect?

The line between software development and software architecture is a tricky one. Some people will tell you that it doesn't exist and that architecture is simply an extension of the design process undertaken by developers. Others will make out it's a ...

Thumbnail

Effective architecture sketches

The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make an appearance. Where do you start though? UML or block diagrams? How much detail should you include? ...

Thumbnail

The conflict between agile and architecture - myth or reality?

The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...

Thumbnail

The conflict between agile and architecture - myth or reality?

The words "agile" and "architecture" are often seen as mutually exclusive but the real world is starting to tell a different story. Some software teams do see architecture as an unnecessary evil whereas others are coming to the conclusion that they do ...

Thumbnail

Master builder - the original generalising specialist?

Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...

Thumbnail

Effective architecture sketches

Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...

Thumbnail

郁闷的架构师 (The Frustrated Architect)

...

Thumbnail

如何设计安全的架构 (How to design a secure architecture)

架构师不可能做到全知全能,但是仍然担负着...

Thumbnail

The code doesn't tell the whole story

We all know that writing good code is important and refactoring forces us to think about making methods smaller, more reusable and self-documenting. Some people say that comments are bad and that self-commenting code is what we should strive for. Despite ...

Thumbnail

Effective architecture sketches

Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...

Thumbnail

Effective architecture sketches - the sketches

Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and ...

Thumbnail

Master builder; the original generalising specialist?

Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...

Thumbnail

Master builder; the original generalising specialist?

Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master builders. The clue here is in the name and a master ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

Why do software projects fail?

So then, why do software projects fail?

Thumbnail

How much up front design is just enough?

One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...

Thumbnail

Effective Sketches

A collaborative approach to software architecture fits in well with agile's collective ownership of the code, yet most people don't get to practice the software design process all that often.Where do you start? How do you communicate your design? UML or ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

Share the Point

This is a lightning talk about the importance of effective sketches and communication, even on SharePoint projects!

Thumbnail

Are you a software architect?

The line between software development and software architecture is a tricky one. Some people will tell you that it doesn't exist and that architecture is simply an extension of the design process undertaken by developers. Others will make out it's a ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

Software architecture in an agile world

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

Just enough up front design

Designing software given a vague set of requirements and a blank sheet of paper is a good skill to have, although not many people get to do this on a daily basis. However, with agile methods encouraging collective ownership of the code, it's really ...

Thumbnail

How much is just enough?

One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. "Just enough" sits somewhere in the chasm between big design ...

Thumbnail

Effective Sketches

The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make their appearance. Where do you start though? How much detail should you include? Technology decisions ...

Thumbnail

Software Architecture in a Day

This one-day workshop is an introduction to software architecture and what it means to take on the software architect role. It's aimed at software developers who are looking towards their first software architect role, developers who want to become more ...

Thumbnail

The Frustrated Architect

The IT industry is either taking giant leaps ahead or it's in deep turmoil. On the one hand we're pushing forward, reinventing the way that we build software and striving for craftsmanship at every turn. On the other though, we're continually forgetting ...

Thumbnail

Load Testing for Developers

Have you ever built a software system and your users have complained that it's too slow? I have; debugging live performance and scalability issues with business sponsors watching over your shoulder isn't fun! Load testing is an often forgotten and ...

Thumbnail

Effective Sketches

The code might be the architecture but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make their appearance. Where do you start though? How much detail should you include? Technology decisions ...

Thumbnail

IT projects; if you can't beat them, change the game

Statistically, the IT projects you're involved with at this very moment have a high probability of failing. Maybe deadlines will be missed. Maybe budgets will be blown. Maybe the project won't deliver the intended value because it creates the wrong ...

Thumbnail

Where do you start?

One of the hardest things about building software is being asked to come up with a solution when all you're given is a set of requirements and a blank sheet of paper. Many project teams will dive straight into the nitty-gritty of the technologies and ...

Thumbnail

Where do you start?

One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...

Thumbnail

Software architecture in a day

This one-day workshop is an interactive introduction to software architecture and what it means to be a software architect. It's aimed at software developers who are looking towards their first software architect role, developers who want to become more ...

Thumbnail

Good code isn't enough

Writing code is easy. Writing good code is still relatively easy if you know what you're doing. Yet delivering quality software on time and on budget is a whole different story! Some software teams are just happy continuing to work the way that they've ...

Thumbnail

Where do you start?

One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...

Thumbnail

Where do you start?

One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...

Thumbnail

Improving software quality with an automated build process

This session will look at the development processes in use for an ASP.NET application where quality and consistency have a direct effect on the reputation of the organisation. We'll look at: Subversion and our use of code branches to manage release ...

Thumbnail

A developer's guide to load testing

Load testing is an often forgotten and seemingly difficult task that many people shy away from doing. It doesn't have to be this way though, with a basic level of load testing often enough to give you confidence that you've satisfied your performance and ...

Thumbnail

Where do you start?

One of the hardest things about software development is being asked to come up with a design when all you're given is a set of requirements and a blank sheet of paper. Many software teams will dive straight into the code and while this can initially be ...

Thumbnail

A developer's guide to load testing

Load testing is an often forgotten and seemingly difficult task that many people shy away from doing. It doesn't have to be this way though, with a basic level of load testing often enough to give you confidence that you've satisfied your performance and ...

Thumbnail

Improving software quality with an automated build process

This session will look at the development processes in use for an ASP.NET application, where quality and consistency have a direct effect on the reputation of the organisation. We’ll look at: Subversion and our use of code branches to manage release ...

Thumbnail

Documenting your software architecture - why and how?

A description of your software architecture is essential for any project of any size, explaining the rationale behind the design decisions and how the software will work in the real world. Such descriptions should include an explanation of the software ...

Thumbnail

Broadening the T

A breadth of experience is key for successful software architects, but how do you get this and what should you know? In this technical session we'll look at the things every software architect should know, drilling down into the following ...

Thumbnail

From developer to architect

This session is an interactive introduction to software architecture and what it means to be a software architect. It's aimed at software developers who are looking towards their first software architect role, as well as architects that are new to the ...

Thumbnail

An introduction to the Java platform for .NET developers

This session presents an introduction to the Java platform and is aimed at anybody with .NET experience. But wait a minute, this is 2009! Why do this now? More and more enterprise projects are turning away from a single technology stack solution and ...

Thumbnail

Pitfalls for new software architects

It's a well-known fact that we learn by making mistakes, but why not get a head-start and learn from other people's! The software architecture role involves a depth of technology skills along with a breadth of many other things, including soft skills. ...

Thumbnail

Sharing architectures

The transition from architectural vision to production code is not always an easy one. Of course we plan for a certain amount of change and accept that some decisions will, on occasion, be wrong. However, without effective communication of the ...

Thumbnail

Why software projects fail

The industry has a love/hate relationship with the Software Architect role, with many organisations dismissing it because of their negative experiences of architects that dictate from ivory towers and aren't engaged with the actual task of building ...

Thumbnail