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 massive gaping chasm that can only be crossed by lofty developers who believe you must always abstract your abstractions and not get bogged down by those pesky implementation details. As always, there's a pragmatic balance somewhere in the middle, but it does raise the interesting question of how you move from one side to the other.
Join us for this tutorial where we look at the software architecture role and how it should be a part of all software development teams.
In summary, we will:
- Understand why there is a need for software architecture
- Explore what the role of a software architect is about
- Discover how the software architecture role is different to a lead developer role<
- Recognise that soft skills are an important pre-requisite for any software architect
- Discuss how coding can be an inclusive part of the role
- Understand how the software architecture role can fit into all software teams, regardless of whether they are waterfall, agile, chaotic or self-organising
- Share our experiences and identify pitfalls for people new to the software architecture role
- Establish how to avoid ivory towers
- Hear what happens when you don't have anybody performing the software architecture role!
- Start to create a definition of the software architecture role for your own team or organisation