Reader small image

You're reading from  Engineering Manager's Handbook

Product typeBook
Published inSep 2023
PublisherPackt
ISBN-139781803235356
Edition1st Edition
Concepts
Right arrow
Author (1)
Morgan Evans
Morgan Evans
author image
Morgan Evans

Morgan Evans has been leading web and native app engineering teams since 2010. Having held senior engineering leadership roles at complex media and technology organizations, the author knows first hand how to lead challenging projects at high scale with demanding stakeholders and vocal customers. Evans has an educational background in social psychology and information architecture, lending a unique perspective to the book. She has been working on development teams delivering consumer and b2b digital products for 18 years.
Read more about Morgan Evans

Right arrow

Leading Architecture

Software architecture is the process and product of creating technical systems designs. Architecture may include a specification of resources, patterns, conventions, and communication protocols, among other details. For the purposes of this chapter, we will also define architecture to include the selection of specific technologies.

Many great books have been written describing software architecture practices and principles, but this is not a software architecture book. Detailing the methods of software design is beyond the scope of this text. Instead, we will aim to describe the process and concerns of leading teams through software design phases.

Engineers love to solve problems and build systems. Most engineers would gladly build a system to solve just about any problem. It is the engineering manager’s job to make sure that the team is using its time wisely and building the right system. In this chapter, we will learn how engineering managers can...

Setting the stage for good architecture

Engineering managers have an interest in promoting good architecture because it produces better outcomes for their teams and businesses. The architecture process generates a plan of how to achieve product design goals. Complex work such as software development is more successful when it is planned because the planning process reveals problems early enough to solve and reconsider. An end-to-end plan helps to avoid rework and costs from errors in assumptions. It reduces future costs by paving the way for a code base that is less complex and more maintainable. It improves the user experience by creating an end product that is more scalable and performant. It also helps to scaffold the project delivery plan, since you have knowledge of which components need to be built in which order.

As an engineering manager, there will likely be many occasions when you are and are not the software architect for your project. We will dive deeper into the relationship...

Understanding the concerns of architecture

Engineering managers work in vastly different work contexts where one of the starkest contrasts can be practices and expectations during systems design. Managers must be aware of their work context and have an understanding of the level of structure that is provided. They must fill in the gaps to ensure all considerations are covered to produce a successful design. To this end, this section will take a perspective of a low-structure work context in order to be broadly inclusive of what some engineering managers will need to provide to their teams. You may not need to worry about some of the concerns in this section, or they may be highly regulated and understood in your workplace—if so, feel free to jump ahead where desired.

To understand the concerns of architecture, we will learn about a broad set of factors that influence the viability of different architectural choices, dive deeper into some of the more intricate considerations...

Managing the architecture process

The architecture solution process may be exciting, challenging, thought-provoking, or all of these. It is your job to get your team through it and to the right design. The next steps are to use the problem-framing information you gathered earlier to generate solutions, evaluate the solutions, and then work through the details of the chosen design approach.

At the beginning, your team may have many solutions to consider, but if your team is lacking in ideas, you can arrange for some brainstorming sessions. In brainstorming, there are no wrong answers and no ideas are too absurd. Brainstorming is most effective when focused only on idea generation, not editing. One seemingly absurd idea may inspire another one that can be a viable solution, so roll with the absurdity and encourage everyone to have fun with it. Embolden your team to think big and be creative during this process to maximize the ideas generated. From there, you can edit down into viable...

Summary

In this chapter, we have learned how engineering managers can guide and support their teams in architecting systems that not only cover basic requirements but provide insight and impact to the entire organization. Great architectural leadership has a profound effect on product outcomes and bottom-line business results. Remember these key takeaways:

  • Begin setting the stage for architecture by understanding your environment and what you must provide to accommodate and support teams in that environment
  • Finish setting the stage by getting your team their architecture building blocks: complete information to work from and a rigorous decision process to follow
  • Take into account the broad areas of concern to be considered during the architecture phase and ensure they are included as criteria in your decision process
  • Make sure project roles are defined so that your architecture can have a clear point of view
  • If you are the project architect, delineate time for...

Further reading

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Engineering Manager's Handbook
Published in: Sep 2023Publisher: PacktISBN-13: 9781803235356
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Morgan Evans

Morgan Evans has been leading web and native app engineering teams since 2010. Having held senior engineering leadership roles at complex media and technology organizations, the author knows first hand how to lead challenging projects at high scale with demanding stakeholders and vocal customers. Evans has an educational background in social psychology and information architecture, lending a unique perspective to the book. She has been working on development teams delivering consumer and b2b digital products for 18 years.
Read more about Morgan Evans