Your current filters are…
by Allen Holub
Many people who think they’re doing OO aren’t. For example, the dynamic model (which shows how run-time objects interact) should drive the design process; the class diagram is an artifact you build while doing dynamic modeling. If you do the class diagram first, your model will be at best unwieldy, at worst non-functional. It turns out that the design process you use influences both the quality and the basic structure of the design. The process matters.
This class covers an Agile version of the OO-Design process, with an emphasis on how to arrive at an optimal design. We’ll start by looking at Agile methodologies to see how design fits into them. We’ll then look, in depth, at the entire process from front to back: requirements gathering and problem-statement definition, use-case analysis, and the simultaneous construction of the dynamic and static models using UML.
We’ll construct a model for a small program, so that you can see how each step plays out in a practical context.
by Neal Ford
Reading and hearing about agile practices is one thing, but actually doing it is completely different. This workshop puts you to work in an agile fashion, applying agile development practices. During this workshop, we’re going to take a problem and iteratively develop the solution, using test-driven development, pair programming, retrospectives, pair rotation, and other agile development techniques. To make it interesting, we’re going to split the room into two continents and work through the issues faced by real distributed agile teams. We work through several 20-minute iterations during the workshop, giving you a hands-on feel for real agile development. If you have a laptop, bring it, but only half the class needs one, so if you don’t have a laptop, don’t let it discourage you. Come see what it’s like to work on a real distributed agile project, even if it’s only for a few hours.
Mobile today refers to a number of radically different platforms requiring radically different skills. There are differences in development approach, languages, API and it even requires different computers. A mobile application is also simpler than a desktop application for the logic, but more complex for resource management and life cycle. Based on four modules, this workshop offers a summary of the issues you face in a mobile project. The first module attempts to identify the most common patterns of mobile development. The remaining three cover each one of the most popular platforms – iPhone, Android and Windows Phone 7 – and the same application will be discussed for the three platforms.
by Dave Wheeler
Patterns come in all shapes and sizes. From the GoF Design Patterns for structuring object-oriented code through to some of Martins Fowler’s Patterns of Enterprise Application Architecture, patterns are everywhere. And, to be frank, some are more important than others.
In this fun (and heavily code-oriented day), we’ll work through numerous patterns and see how they impact your code and architecture. There’ll be a trip into the world of Inversion of Control (IoC) and Dependency Injection (DI), and how this helps support testing and maintainability.
There’ll be Models, Views, Controllers and even ViewModels hanging out in the presentation tier.
We’ll step into the world of the Repository Pattern, with a side order of Unit of Work, and how that helps isolate our domain model from our underlying database.
And we’ll look at different approaches to constructing the business logic layer, analysing their pros and cons.
This is a highly practical, code and best-practice focused day for developers and architects who want to ensure that they’re building solid, maintainable and testable code.
by Oliver Sturm
Planning application architecture is a complex task which requires detailed understanding of the technological platforms that you’re targeting. This whole-day workshop leads you through the process of creating an architectural concept for a medium size distributed .NET application: data access, distribution, services, layering concerns, UI platforms and presentation patterns – every topic is considered. Oliver lets you participate and benefit from his experiences from project work and consulting – architects, programmers and owners of other job titles are all equally welcome!
by Simon Brown
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 architecturally aware, and software architects that are new to the role.
We’ll be asking and answering the following questions:
1. What is software architecture?
2. What is the role of a software architect?
3. How do you define software architecture?
4. How do you share software architecture?
5. How do you deliver software architecture?
18th–21st October 2011