Workshop: Software Architecture Fundamentals

Location:

Level: 
Beginner
8:00am - 4:00pm

Prerequisites

Participants should be familiar with software development across multiple projects. The workshop accommodates developers aspiring to become architects, “accidental” architects (people who make architectural decisions on projects without the formal title), and existing architects backfilling their knowledge. No laptop is required, although there are hands-on exercises in the afternoon, done with paper.

This workshop will start at 8am.

The job Software Architect places in the top ten of most annual surveys of best jobs, yet no clear path exists from Developer to Architect. Why aren’t there more books and training materials to fill this demand? First, software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, making it difficult to teach because so much context is required for the interesting subjects. Second, it’s a fast moving discipline, where entire suites of best practices become obsolete overnight.

Part 1: From Developer to Architect

Part 1 of this workshop focuses on the many elements required to make the journey from developer to architect, covering process topics like the impact of Continuous Delivery on architecture, technical subjects like application, integration, and enterprise architecture, and soft skills. While we can’t make you an architect overnight, we can start you on the journey with a map and a good compass.

Part 2: Deeper Dive

Part two of this workshop takes a deeper dive in application, integration, and enterprise architecture topics, including evaluating architectures via Agile ATAM, the impacts of continuous delivery on architecture, comparing architectures, SOA, SOAP, and REST, integration hubs, and enterprise architecture approaches and strategies.

Part 3 (hands-on): Architectural Katas

To fully leverage knowledge, you need application. Part three of this workshop uses the public domain Architectural Katas exercise to apply learnings from the first two parts. From the Architectural Katas website: Architectural Katas are intended as a small-group (3-5 people) exercise, usually as part of a larger group (4-10 groups are ideal), each of whom is doing a different kata. A Moderator keeps track of time, assigns Katas (or allows this website to choose one randomly), and acts as the facilitator for the exercise. Each group is given a project (in many ways, an RFP–Request For Proposal) that needs development. The project team meets for a while, discovers requirements that aren’t in the orignal proposal by asking questions of the “customer” (the Moderator), discusses technology options that could work, and sketches out a rough vision of what the solution could look like. Then, after they’ve discussed for a while, the project team must present their solution to the other project teams in the room, and answer challenges (in the form of hard-but-fair questions) from the other project teams. Once that challenge phase is done, the room votes on their results, and the next project team takes the floor.  

Outline

Part 1, From Developer to Architect, covers:

  • Soft skills
  • Continuous Delivery
  • Understanding large codebases
  • Architecture patterns
  • Architecture anti-patterns
  • Integration architecture overview
  • Introduction to enterprise architecture

 Part 2, Deeper Dive, covers:

  • Continuous Delivery for architects
  • Applying abstraction
  • Comparing architectures
  • SOAP vs REST/ WS vs Messaging
  • Integration hubs
  • Enterprise architecture approaches
  • Enterprise architecture strategies

Part 3, Architectural Katas, is an instructor-led hands-on Katas exercise.

Other Workshops:

Day: Thursday [Full Day]
Day: Friday [Full Day]
Day: Friday [Full Day]
Day: Friday [Full Day]

Tracks

Covering innovative topics

Monday, 7 March

Tuesday, 8 March

Wednesday, 9 March