- What is software architecture?
- The architect's day-to-day job
- Architectural theories and concepts
- Gathering requirements
- Identifying bounded contexts and entities
- Categories of architecture
- Architectural patterns
Skill Level Beginner
- Have you ever worked on a product that just couldn't scale to meet the needs of its users? Have you run into countless problems adding features that didn't fit or spent days making small changes that should've taken a couple of minutes? These issues are connected to the architecture of your system. It's crucial to the success of your business that you have a good underlying architecture. Welcome to Software Architecture Foundations, my name is Allen Holub and I help companies get better at building software by using Agile and Lean thinking. I'm not just a process guy though. I've designed and built many industrial strength systems from operating systems to consumer applications and I've worn every hat from grunt programmer to CTO. I've found along the way that architecture is the missing link between your development process and your implementation. You can't be agile if you're fighting your architecture. In this course, I'll start by covering the architect's job, what an architect does, what architecture is, and in the general sense, how architecture guides your development process and even your company's structure. Then I'll talk about how you actually do it, how you go about coming up with a design that can grow as your system grows. We'll focus on modern, domain based thinking and user stories. Finally, I'll provide a quick pass through the most common architectural patterns. This stuff is as important as your business processes. Without a good underlying architecture, the business will work so inefficiently that the odds of failing are really high. There really is no better starting point to set up your product for success than a good architecture. So let's get started.