Why attend?

The agile and software craftmanship movements are helping to push up the quality of the software systems that we build, which is excellent. Together they are helping us to write better software that better meets the needs of the business while carefully managing time and budgetary constraints. But there's still more we can do because even a small amount of software architecture can help prevent many of the problems that projects face. Successful software projects aren't just about good code and sometimes you need to step away from the IDE for a few moments to see the bigger picture. This course is about that bigger picture and building better software. Throughout the course, you'll gain...

  • An understanding of what software architecture is all about.
  • An understanding of what it means to be a software architect and the responsibilities associated with the role.
  • An understanding of the trade-offs that are made when making architectural decisions.
  • Experience of how to define the software architecture for a bespoke software development project; including gathering non-functional requirements, determining the architectural drivers and doing the high-level design.
  • An appreciation that even a little architecture can go a long way to building better software.
  • An understanding that, as a software architect, it's good to do some coding. :-)

Is this course for me?

You'll find our course useful if you're a software developer or architect and any of the following scenarios sound familiar. We've been there too ... think of this course as a way to get a head-start.

  • I'm not sure what software architecture is about and how it's any different from design.
  • I don't understand why we need "software architecture".
  • My manager has told me that I'm the software architect on our new project, but I'm not sure what that actually means.
  • I want to get involved in designing software but I'm not sure what I should learn.
  • I've been given some requirements and asked to design some software, but I'm not sure where to start.
  • I need to make some major enhancements to my system, but I'm not sure where to start.
  • I'm not sure how to design a system that is [fast|scalable|secure|etc].
  • I've been asked to write a software architecture document but I'm not sure what to include in it.
  • I'm not sure who to talk to in my organisation about how best to integrate what we're building.
  • I understand what software architecture is all about, but I'm not sure how to tackle it on my project.
  • My project seems like a chaotic mess; everybody is doing their own thing and there's no shared vision. Help!
  • I've been asked to do some performance testing, but I'm not sure how to go about it.