[London User Group] Flex, Silverlight and JavaFX.
Download the slides from our August 2008 user group.

Services - Training

Our training programme includes a comprehensive two day course that will help jumpstart developers on their way to becoming a software architect. The course 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 role. Attendees will gain :

  • 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.
  • Some experience of what it feels like to be an architect on a bespoke software development project; including gathering non-functional requirements, determining the drivers for architecture and defining an architecture.
  • An understanding that, as a software architect, it's okay to do some coding.

The course outline is as follows :

  • What is architecture?
    "Architecture" is a very misunderstood term within the software industry, so we start out by defining what it means to us, talking about how it differs to design and introducing the context for the rest of the course. We cover architecture at different levels; from application architecture through to enterprise architecture.
  • The role of an architect
    With a definition of architecture under our belts, we move on to clarify the role of an architect by looking at the roles and responsibilities, which leads us to the conclusion that the architect role is different from that of a lead developer.
  • Architecture in the software development lifecycle
    Next we look at the involvement that an architect might have during a typical software development lifecycle, all of which is applicable regardless of whether you're using a traditional, iterative or agile approach.
  • What drives the architecture?
    Software architecture doesn't exist in a vacuum, and is driven by the functional requirements, the non-functional requirements, constraints and principles. We take a look at all of them to understand the impact that they have.
  • Architecture definition
    We start off by questioning what happens when you don't explicitly define the architecture, then follow on by looking at how you do it through documentation and code. Architecture definition is a large part of the course and we highlight that architecture involves more than a single view of the system, with those views being important to different stakeholders. We take a look at the various views that you might include in a software architecture document and practical exercises allow you to put this knowledge into practice.

The course is interactive; with a combination of presentation, group discussion and group working. Throughout the course you'll be solidifying everything you learn by defining the architecture for a small software system. The overall goal is that you can take the experience gained here and apply it to your own projects.

This course is offered through Skills Matter; please see their website for dates and costs.