x

Confirm Download

Simultaneous file downloading works best in FireFox, Chrome, and Safari browsers. Please keep this window open until all downloads are complete. Some customers prefer using file download managers for Chrome or Firefox to better manage large and multiple file downloads.

Cancel Download

Software Architecture Fundamentals Understanding the Basics

      • Introduction  (Free)

        Introduction. In this anticipated video series, Neal Ford and Mark Richards examine the responsibilities of a software architect, specifically the knowledge and skills you need to be effective in that role. The first video, Understanding the Basics, not only focuses on development techniques, but also pinpoints the skills you need to be a successful team leader. Youll learn about the four main aspects of a software architect, and quickly discover the difference between architecture decisions and technology decisions.
      • 00:28:22

      • Architecture Soft Skills Part 1  (Free)

        Being an architect involves much more than just knowing technology. Aside from being an excellent developer, you also have to be a leader. In this chapter we will explore the role of the architect and learn what the basic expectations are of an architect, regardless of your architecture role or title. We will then look at the difference between architecture decisions and technology decisions, and finally pave the way for the four main aspects of an architect: leadership and communications, technical knowledge, business domain knowledge, and finally methodology and strategy.
      • 00:11:58

      • Continuous Delivery

        Continuous Delivery is the set of engineering practices that ensure fast, automated construction of your software project every time there is a change to code, infrastructure, or environment. Many aspects of Continuous Delivery impact the architects role, and we cover those intersections in this chapter.
      • 00:41:09

      • Architecture Soft Skills Part 2

        There are four main aspects of being an architect: leadership and communications, technical knowledge, business domain knowledge, and finally methodology and strategy. In this chapter we will take a look at each of these aspects in depth. In the leadership and communications section we will discuss translation skills and investigate techniques for effective communication. In the technical knowledge section we will look at technical depth vs. technical breadth, and also discuss the importance of multi-platform skills as an architect. In business domain knowledge section we will discuss the importance of business domain knowledge as an architect. Finally, in the methodology and strategy section will discuss the importance of matching the methodology with the architecture to ensure a successful implementation.
      • 00:36:37

      • Understanding Large Codebases

        The ability to understand new and growing code bases is a key skill for architects. This session shows some key metrics and visualization tools to find new lenses on the quality and sustainability of your project.
      • 00:36:46

      • Architecting for Change

        Change. We've all seen it by now. Business change, technology change, you name it - everything is constantly changing. As an architect, how can you ensure that your architecture can easily and quickly adapt to these constant changes? In this chapter you will learn some techniques that you can apply to make your architecture more agile. I will take a deep dive into the elements and implementation of abstraction, and also four other techniques you can use to make your architectures more adaptable to change.
      • 00:17:24

      • Architecture Patterns Part 1

        In this session we will look at the details behind 4 major architecture patterns - Layered Architecture, Event-driven Architecture, Microkernel Architecture, and Space-based Architecture. For each architecture pattern, we will discuss the components within the pattern, how those components interact, and the pros and cons of each pattern. We will then discuss some guidelines as to when to use these patterns (and when not to).
      • 00:48:00

      • Architecture Patterns Part 2

        In this session we will look at the details behind 4 major architecture patterns - Layered Architecture, Event-driven Architecture, Microkernel Architecture, and Space-based Architecture. For each architecture pattern, we will discuss the components within the pattern, how those components interact, and the pros and cons of each pattern. We will then discuss some guidelines as to when to use these patterns (and when not to).
      • 00:35:22

      • Design Patterns

        Understanding and applying design patterns is one of the skills required to transition from developer to architect. But applying them appropriately can be tricky. This chapter shows the utility and overuse of design patterns.
      • 00:22:37

      • Architecture Anti-Patterns Part 1

        Understanding what architecture patterns are available to you as an architect is important. However, equally important is understanding what architecture anti-patterns exist and how to avoid them. In this session we will take a brief look at 7 very common (and interesting) architecture anti-patterns and understand the consequences and implications of those anti-patterns.
      • 00:15:24

      • Architecture Anti-Patterns Part 2

        Understanding what architecture patterns are available to you as an architect is important. However, equally important is understanding what architecture anti-patterns exist and how to avoid them. In this session we will take a brief look at 7 very common (and interesting) architecture anti-patterns and understand the consequences and implications of those anti-patterns.
      • 00:27:05

      • Tooling and Documentation

        Architects struggle with how and how much to document their findings. They are also usually in charge of choosing what tools and frameworks the project uses. This session provides practical advice for understanding the holistic effect of tools, and how and when to document architecture findings.
      • 00:34:27

      • Integration Architecture Fundamentals

        Very few applications stand alone anymore. Rather, multiple applications are combined together to form holistic systems that perform complex business functions. One of the big challenges when integrating applications is choosing the right integration styles and usage patterns. In this chapter we will explore what integration architecture is all about, and look at some of the unique challenges within the area of integration. We will then take a detailed look at the various techniques and patterns for integration, and discuss the pros and cons of each integration style. In particular, we will take a deeper dive into the shared database integration style and the remote procedure invocation style (specifically rest).
      • 00:47:28

      • Enterprise Architecture Concepts and Fundamentals

        Enterprise Architecture is one of the most misunderstood terms in our industry. Ask 10 people what EA is, and you will get 10 different answers. If you look at the many enterprise architecture forums that exist today, well over 60% of the questions posted on those forums have to do with defining what EA actually means. In this chapter we will define exactly what enterprise architecture means by looking at both the context and the goals of EA. Through simple metaphors you will learn where EA fits within an organization, what the goals of EA are, and why EA is critical to an organization. This chapter will set the stage and context necessary to understand the enterprise architecture approaches and enterprise architecture strategies chapters found in the second video, Software Architecture Fundamentals: A Deeper Dive.
      • 00:14:33

Software Architecture Fundamentals Understanding the Basics

  • Publisher: O'Reilly Media
  • Released: March 2014
  • Run time: 6 hours 57 minutes

In this anticipated video series, Neal Ford and Mark Richards examine the responsibilities of a software architect, specifically the knowledge and skills you need to be effective in that role.

The first video in the series, Software Architecture Fundamentals Understanding the Basics, not only introduces development techniques, but also pinpoints the skills you need to be a successful team leader. You’ll learn about the four main aspects of a software architect, and quickly discover the difference between architecture decisions and technology decisions. In this video, you’ll explore:

Soft Skills:

  • Investigate techniques for communicating effectively as a team leader
  • Measure your technical knowledge, including technical depth vs. technical breadth, and multi-platform skills
  • Discover how to increase your expertise of business domains
  • Learn how ensure a successful implementation by matching methodology with architecture
Architectural Techniques:
  • Make your architecture more adaptable to changes in business and technology
  • Explore various techniques and patterns for integrating multiple applications and databases
  • Get a true understanding of enterprise architecture by examining the context and goals of an EA implementation

The topics in this video set the stage necessary to understand the enterprise architecture approaches and strategies demonstrated in the series’ next video: Software Architecture Fundamentals Beyond the Basics.

About the presenters

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy. Proficient in a variety of languages, paradigms, and architectural styles, his primary consulting focus is the design and construction of large-scale enterprise applications.

Mark Richards is an experienced hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service oriented architectures, and distributed systems in J2EE and other technologies.

Clearing a path from developer to architect and enriching that path once you arrive.

Software architecture is a fast-moving, multidisciplinary subject where entire suites of "best practices" become obsolete practically overnight. No single path or curriculum exists, and different types of architecture—application, integration, enterprise—require different subject emphasis. Whether you’re at the outset of a career as an architect or in the midst of such a career, series editor Neal Ford has curated this collection of tools and guides for aspiring and seasoned architects alike.