Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Software Architect’s Handbook
Software Architect’s Handbook

Software Architect’s Handbook: Become a successful software architect by implementing effective architecture concepts

eBook
€8.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Software Architect’s Handbook

Software Architecture in an Organization

In the previous chapter, we discussed software architecture and the role of the software architect. In this chapter, we will explore those topics further, but in the context of an organization.

Software systems are developed to satisfy the business goals of an organization. Many software architects work as part of an organization. As a result, the organization's business goals, objectives, stakeholders, project management, and processes greatly affect the software architect and their work.

This chapter focuses on topics a software architect should be familiar with when working within an organization. We will take a look at the various types of software architecture roles that are commonly found in organizations, and the software development methodologies they adopt. You'll gain a good understanding of how you might be expected...

Types of software architects

The role of a software architect can vary from organization to organization. You may have also heard of a variety of job titles related to software architects, such as the following:

  • Enterprise architect
  • Solution architect
  • Application architect
  • Data architect/Information architect
  • Solution architect
  • Security architect
  • Cloud architect

Some organizations have one or more architects who perform a combination of these roles. They may go by the title of software architect or by the title of one of these roles. In other organizations, different individuals play different architectural roles. Some companies organize their software architects so that they are in an architecture team. They collaborate with the team on architecture tasks but also work on other teams to design and implement software products.

This book does not focus on any one type of software...

Software development methodologies

As a software architect working in an organization, you will typically be required to use the software development methodology that has been adopted by the organization. However, in some cases, the software architect may play a role in deciding which software development methodology is used. Either way, software architects may be able to provide input to an organization's processes, giving them the ability to make suggestions that may improve these processes.

For these reasons, it is good to have an understanding of the more common software development methodologies. There are a variety of different types that can be employed for a software project, each of which has its own strengths and weaknesses. Today, Agile methodologies are much more widely used than traditional ones, but even among the methodologies that are considered Agile, there...

Project management

Software architects typically assist project management throughout the life cycle of a software system. One of the ways in which you will be asked to do so is in estimating the level of effort for technical tasks. How estimates are derived and who participates in estimation varies from organization to organization, but typically, software architects, with their expertise and experience, will be expected to provide some level of input during the process of estimating tasks.

The importance of software project estimation

The importance of estimation cannot be understated. Estimates and project planning are major factors in the success of a project.

Estimation can be difficult and must take into account a number...

Office politics

Almost everyone in an organization has to deal with office politics to some degree. As you can see from the following pie chart, the majority of people think it is best to have an awareness of the office politics in your own organization:

Pie chart displaying How Employees View Office Politics

As a software architect, you may find yourself engaging in office politics more than you have in the past, such as when you were a senior developer. This is because you will be interacting and communicating with a larger variety of stakeholders, and you may be doing so more frequently.

In an organization, individuals from diverse backgrounds, with their own unique goals and viewpoints, come together to work toward the goals of an organization. A variety of factors can shape people's motivations, which may lead to office politics.

When you want to achieve something,...

Software risk management

Risks are potential problems, and there are many risks involved in designing and developing software. Organizations, and the people working for them, have different levels of risk tolerance. Whatever that level is, an organization should have a plan for risk management.

As a software architect, you will need to assist project managers in managing those risks. If left unmanaged, risks can lead to cost/time overruns, rework, operational failures, and possibly total project failure.

The first step in assisting with risk management is being able to identify risks. The team should come up with and document potential risks. Using your knowledge and experience as a software architect, you may be able to help identify risks that stakeholders, project management, and other team members cannot.

Some examples of potential types of risks include the following:

  • Functional...

Configuration management

As a software architect in an organization, you will be expected to be involved with configuration management. In many organizations, there is a software configuration management (SCM) team. In addition, there may be an SCM team at the project level. For small projects, this may be a single person, or it may even be taken on by someone who isn't even dedicated to the role, such as a team member who performs other duties.

Some of the responsibilities for a software configuration management team include identifying configuration items (software, documents, models, plans), implementing a change control process, and managing the process and tools used for builds. We will examine automated builds and continuous integration (CI) in Chapter 14, Architecting Legacy Applications.

...

Software product lines

Growing competitive pressures combined with the complexity of developing software systems makes it a necessity for organizations to increase efficiencies wherever possible. One way to accomplish this is to create software product lines. A variety of industries, including the software industry, have used product line engineering (PLE) successfully.

Product lines are multiple products from a single company that address a particular need or market. These products could be sold under the same brand, with the idea that customers who use one product from the brand are more likely to purchase another product from the same brand.

Organizations that develop software may have multiple existing software products and/or other software products in development. These software products may work in a similar way, have similar functional and/or non-functional requirements...

Summary

When working as an architect in an organization, you should be aware of the various types of software architect roles. The various roles have similarities and differences in terms of their responsibilities and duties. If you are required to use a software development methodology that has already been selected for your organization, it is important to become familiar with it and its practices. If you are in a position to select the software development methodology, be sure to be knowledgeable about the choices so that an appropriate one can be selected for the project's needs.

Software architects use their expertise and experience to work with project management on estimates for tasks, project planning, and controlling and monitoring the project during its life cycle.

Due to communicating with a larger number of stakeholders and management, office politics is a reality...

Left arrow icon Right arrow icon

Key benefits

  • Enhance your skills to grow your career as a software architect
  • Design efficient software architectures using patterns and best practices
  • Learn how software architecture relates to an organization as well as software development methodology

Description

The Software Architect’s Handbook is a comprehensive guide to help developers, architects, and senior programmers advance their career in the software architecture domain. This book takes you through all the important concepts, right from design principles to different considerations at various stages of your career in software architecture. The book begins by covering the fundamentals, benefits, and purpose of software architecture. You will discover how software architecture relates to an organization, followed by identifying its significant quality attributes. Once you have covered the basics, you will explore design patterns, best practices, and paradigms for efficient software development. The book discusses which factors you need to consider for performance and security enhancements. You will learn to write documentation for your architectures and make appropriate decisions when considering DevOps. In addition to this, you will explore how to design legacy applications before understanding how to create software architectures that evolve as the market, business requirements, frameworks, tools, and best practices change over time. By the end of this book, you will not only have studied software architecture concepts but also built the soft skills necessary to grow in this field.

Who is this book for?

The Software Architect’s Handbook is for you if you are a software architect, chief technical officer (CTO), or senior developer looking to gain a firm grasp of software architecture.

What you will learn

  • Design software architectures using patterns and best practices
  • Explore the different considerations for designing software architecture
  • Discover what it takes to continuously improve as a software architect
  • Create loosely coupled systems that can support change
  • Understand DevOps and how it affects software architecture
  • Integrate, refactor, and re-architect legacy applications

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 30, 2018
Length: 594 pages
Edition : 1st
Language : English
ISBN-13 : 9781788627672
Category :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Aug 30, 2018
Length: 594 pages
Edition : 1st
Language : English
ISBN-13 : 9781788627672
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 129.97
Big Data Architect???s Handbook
€45.99
Software Architect’s Handbook
€41.99
Architectural Patterns
€41.99
Total 129.97 Stars icon
Banner background image

Table of Contents

18 Chapters
The Meaning of Software Architecture Chevron down icon Chevron up icon
Software Architecture in an Organization Chevron down icon Chevron up icon
Understanding the Domain Chevron down icon Chevron up icon
Software Quality Attributes Chevron down icon Chevron up icon
Designing Software Architectures Chevron down icon Chevron up icon
Software Development Principles and Practices Chevron down icon Chevron up icon
Software Architecture Patterns Chevron down icon Chevron up icon
Architecting Modern Applications Chevron down icon Chevron up icon
Cross-Cutting Concerns Chevron down icon Chevron up icon
Performance Considerations Chevron down icon Chevron up icon
Security Considerations Chevron down icon Chevron up icon
Documenting and Reviewing Software Architectures Chevron down icon Chevron up icon
DevOps and Software Architecture Chevron down icon Chevron up icon
Architecting Legacy Applications Chevron down icon Chevron up icon
The Soft Skills of Software Architects Chevron down icon Chevron up icon
Evolutionary Architecture Chevron down icon Chevron up icon
Becoming a Better Software Architect Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.4
(10 Ratings)
5 star 70%
4 star 20%
3 star 0%
2 star 0%
1 star 10%
Filter icon Filter
Top Reviews

Filter reviews by




Trace Jun 27, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I’m a software developer who has spent many years developing all kinds of applications. I wanted a book that would explore the many considerations and decisions that software architects need to make and the techniques they use to go about their job. This book did not disappoint and was well worth the purchase.The book does not focus on any particular programming language or development framework (although there are some code samples in C# just to explain some points). Instead, the book concentrates on software architecture and development in general and I appreciated the fact that it did not emphasize a specific technology that I may not even be using. Because of this, I think this book has a wide appeal and will be relevant for many software developers and architects.As an experienced developer, there were some topics that I was already familiar with and there were others that were new to me, which was expected. I found the book to be very insightful and it gave me new ideas, things to look for, and concepts that I can apply to my projects. The book is large and has good coverage of many topics. As you can imagine, some of the topics could be the subject of an entire book (or books) all by themselves, and this book inspired me to explore some of those topics even further.Highly recommended.
Amazon Verified review Amazon
Hicham Jan 21, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book thanks
Amazon Verified review Amazon
Daniel Correa Jan 08, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a great book which contains a lot of concepts and ideas.This book gives you a ride around the main elements that a software architect should consider and learn. This is great for people who already have a little of experience developing software. Because it show you the important things to consider when you are an architect, or part of a software project.It gives you recommendations about: maintenance, requirements, quality attributes, tests, software architectures and patterns, software principles, DevOps, cross-cutting concers, security, working on a team, leading a team, soft skills, and many more.However, there are many topics which contains only a paragraph. So, this book is more like a guide to go to learn different topics (in deep) in other books.CONS:There are only a few examples (codes). So, maybe this book is not recommend for novice developers or architects. Not recommended for people which are looking for a practical book.For example, it gives you a lot of recommendations about how to implement a MVC architecture or micro-services, but you never will find a piece of code which shows a real MVC architecture.
Amazon Verified review Amazon
Jesus B. Nov 12, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The author is very experienced and he has a wonderful way to explain very complex and details of this profession in a very simplistic matter. It was a lot of help for me, and I think anybody that it is thinking seriously to become more proficient on there software planning and Software Architect, should take a deep read on this book. :)
Amazon Verified review Amazon
Donald E Lutz Oct 23, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Covered the full life cycle of software architecture.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.