Home // Mark Richards

Mark Richards

Mark Richards

Independent Software Architect, Author of Fundamentals of Software Architecture

Mark Richards

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. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a website devoted to helping developers in the journey to software architect. He is the author of numerous technical books and videos, including the recently published Fundamentals of Software Architecture, Microservices AntiPatterns and Pitfalls, Microservices vs. SOA, the Software Architecture Fundamentals video series, The Enterprise Messaging video series, Java Message Service, 2nd Edition, and contributing author to 97 Things Every Software Architect Should Know. Mark has a master’s degree in computer science and is a regular conference speaker at the No Fluff Just Stuff (NFJS) Symposium Series. He has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.

Presentations

Do You Need Enterprise Architecture?

Thursday, 9:30 AM EST

A recent Gartner survey found that 40% of all enterprise architecture efforts were failing or had failed. One of the primary reasons for these failed attempts at enterprise architecture is a lack of understanding about what enterprise architecture is and whether the high cost of creating an enterprise architecture practice produces any business value or business results. In this session we will explore why enterprise architecture is so important to business (especially today's businesses) and how to either restart or revitalize you enterprise architecture effort to produce results.

Agenda:

  • What is enterprise architecture
  • Do you need enterprise architecture
  • Why enterprise architecture efforts fail
  • Establishing an effective enterprise architecture practice

Enterprise Architecture Strategies

Thursday, 11:00 AM EST

Choosing the right enterprise architecture strategy is essential to not only make enterprise architecture a successful venture, but to also help the company move forward in its goals. In this session I will describe 4 different strategies for enterprise architecture and show you which strategy fits which business model. Do you have the right EA strategy in place for your organization? Come to this session to find out!

Agenda

  • EA strategies and standards
  • Prescriptive strategy
  • Classic alternatives strategy
  • Distributed strategy
  • Durable interface strategy
  • Choosing the right strategy (case studies)

Why Technical Agility Matters for Business

Thursday, 1:00 PM EST

It seems like all anyone talks about these days is making our architectures more modular and whether microservices is the answer. The question is, should your business embrace microservices and similar highly modular architectures or stick with what you have? In this session I will describe the business value, business benefits, and drivers associated with moving towards architectural modularity. Once you understand the drivers for architectural modularity, you can them make an informed decision about whether you should embrace architectural modularity in your company or run away from it as fast as possible.

Agenda:

  • Drivers for architectural modularity
  • Business and technical change
  • Architecture and competitive advantage
  • What level of architecture modularity do you need?

Developing Initiative Roadmaps

Thursday, 2:30 PM EST

Are you merging with another company? Acquiring new businesses? Moving to a new line of business? Transforming your enterprise? Engaging in cost-cutting efforts? Fully Automating your pipelines? Retiring old and expensive mainframe systems? These are initiatives that most businesses are engaging in. While there are dozens of activities within an enterprise architecture effort, there is only one primary outcome, and that is to develop an enterprise architecture roadmap. Roadmaps describe what efforts (i.e., projects) need to be done to meet a specific objective, the dependencies between those efforts, and the prioritization of those efforts. In this session I'll cover some of the models that make up an EA roadmap and show you techniques for how to identify projects, classify projects, prioritize projects, and finally illustrate these efforts through consolidated roadmap views. By the end of this session you'll have a clear view of why enterprise architecture is needed and how to create an effective and clear enterprise architecture roadmap.

Agenda:

  • Roadmap scope and context
  • Roadmap approaches
  • Roadmap structure and models
  • Iteration modeling
  • Prioritization modeling
  • Roadmap views and construction

Archived

Thursday, 4:00 PM EST

Software architecture is hard. It is full of tradeoff analysis, decision making, technical expertise, and leadership, making it more of an art than a science. The common answer to any architecture-related question is “it depends”. To that end, I firmly believe there are no “best practices” in software architecture because every situation is different, which is why I titled this talk “Essential Practices”: those practices companies and architects are using to achieve success in architecture. In this session I explore in detail the top 6 essential software architectural practices (both technical architecture and process-related practices) that will make you an effective and successful software architect.

This session is broken up into 2 parts: those essential architecture practices that relate to the technical aspects of an architecture (hard skills), and those that relate to the process-related aspects of software architecture (soft skills). Both parts are needed to make architecture a success.

Microservices for Tech Leaders

Thursday, 5:30 PM EST

Microservices is one of the latest software architecture styles that promises to deliver benefits such as ease of testing, fast and easy deployments, fine-grained scalability, fault tolerance, and overall agility. It is undeniably one of the latest trends in the software industry, and most companies seem to be jumping on the bandwagon to quickly embrace and adapt this new architecture style. Unfortunately, as many companies are painfully experiencing, microservices is a fairly complex architecture style that is not suited for all applications and environments. In this session I will show you a high-level architectural view of the microservices architecture style so you can gain a high-level understanding about how it works and what challenges exist with this complex architecture style.

Agenda:

  • Overview and topology
  • The bounded context dilemma
  • Service Classification
  • API Layer
  • Service Domains

Modern Approaches to Enterprise Architecture

Friday, 11:00 AM EST

The traditional approaches to enterprise architecture have worked well for many decades. However, adherence to the traditional approaches of EA is one of the leading reasons why most enterprise architecture efforts fail. In this session I discuss the 2 primary classical approaches to enterprise architecture and why they no longer work in today's market. I then discuss several modern approaches to enterprise architecture that are increasingly showing promise for both small and large organizations.

Agenda:

  • Model-driven approach
  • Initiative-driven approach
  • Why traditional approaches fail
  • Incremental approach
  • Value-driven approach
  • Adaptive Approach
  • Why modern approaches are better

The Art of Problem Solving

Friday, 2:30 PM EST

As Tech Leaders, we are presented with problems and work to find a way to solve them, usually through technology. In my opinion this is what makes this industry so much fun. Let's face it - we all love challenges. Sometimes, however, the problems we have to solve are hard - really hard. So how do you go about solving really hard problems? That's what this session is about - Heuristics, the art of problem solving. In this session you will learn how to approach problems and also learn techniques for solving them effectively. So put on your thinking cap and get ready to solve some easy, fun, and hard problems.

Agenda:

  • the checklist
  • visual representations
  • you know what happens when you assume…
  • you gotta start somewhere
  • the world is flat
  • hey! keep it clean!
  • perception can be reality

Books

Java Message Service: Creating Distributed Enterprise Applications

by Mark Richards, Richard Monson-Haefel, and David A Chappell

  • Java Message Service, Second Edition, is a thorough introduction to the standard API that supports "messaging" -- the software-to-software exchange of crucial data among network computers. You'll learn how JMS can help you solve many architectural challenges, such as integrating dissimilar systems and applications, increasing scalability, eliminating system bottlenecks, supporting concurrent processing, and promoting flexibility and agility.

    Updated for JMS 1.1, this second edition also explains how this vendor-agnostic specification will help you write messaging-based applications using IBM's MQ, Progress Software's SonicMQ, ActiveMQ, and many other proprietary messaging services.

    With Java Message Service, you will:

    • Build applications using point-to-point and publish-and-subscribe messaging models
    • Use features such as transactions and durable subscriptions to make an application reliable
    • Implement messaging within Enterprise JavaBeans (EJB) using message-driven beans
    • Use JMS with RESTful applications and with the Spring application framework

    Messaging is a powerful paradigm that makes it easier to uncouple different parts of an enterprise application. Java Message Service, Second Edition, will quickly teach you how to use the key technology that lies behind it.


97 Things Every Software Architect Should Know: Collective Wisdom from the Experts

by

  • In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:

    • Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
    • Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
    • Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
    • Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
    • For the End User, the Interface Is the System (Vinayak Hegde)
    • It's Never Too Early to Think About Performance (Rebecca Parsons)

    To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.


No Fluff, Just Stuff Anthology: The 2007 Edition

by Neal Ford

  • Twenty-seven weekends a year, the No Fluff, Just Stuff conference rolls into another town, featuring the world's best technical speakers and writers. Up until now, you had to go to one of the shows to soak up their collective wisdom. Now, you can hold it in the palm of your hand. The No Fluff, Just Stuff Anthology represents topics presented on the tour, written by the speakers who created it. This book allows the authors the chance to go more in depth on the subjects for which they are passionate. It is guaranteed to surprise, enlighten, and broaden your understanding of the technical world in which you live.

    The No Fluff, Just Stuff Symposium Series is a traveling conference series for software developers visiting 27 cities a year. No Fluff has put on over 75 symposia throughout the U.S. and Canada, with more than 12,000 attendees so far. Its success has been a result of focusing on high quality technical presentations, great speakers, and no marketing hype. Now this world-class material is available to you in print for the first time.


Java Transaction Design Strategies

by Mark Richards

  • Understanding how transaction management works in Java and developing an effective transaction design strategy can help to avoid data integrity problems in your applications and databases and ease the pain of inevitable system failures. This book is about how to design an effective transaction management strategy using the transaction models provided by Java-based frameworks such as EJB and Spring. Techniques, best practices, and pitfalls with each transaction model will be described. In addition, transaction design patterns will bring all these concepts and techniques together and describe how to use these models to effectively manage transactions within your EJB or Spring-based Java applications. The book covers: - The local transaction model - The programmatic transaction model - The declarative transaction model - XA Transaction Processing - Transaction Design Patterns


ARE YOU READY TO GET STARTED?

Two and a half days of insightful sessions, inspiring ideas, and meeting your peers. Learn the skills and methods that will take your organization to the next level.

REGISTER NOW