How to Really Map a Namecheap URL to Your Static Azure Cloud Website

You finally buy that cute-sounding website address, and then some time later, you pick a cloud platform to host your website. These days, that’s starting to be a typical scenario. Cloud computing has brought the price of owning your own website down to very reasonable costs. Likewise, with the expansion of website domain addresses beyond the classic “.com” URL, the cost and ease of getting your own web address has improved. But when it comes time to use your shiny new website address you bought at a domain name registrar like Namecheap.com to deploy your website to your inexpensive Azure cloud account, that’s where things get a little tricky.

Both Namecheap.com and Microsoft offer online Help articles to walk you through the process, but not specifically for deploying a Namecheap.com registered domain to a static Azure cloud storage account. Namecheap.com provides generic instructions for routing your URL to ANY cloud provider, and Microsoft offers generic instructions for creating DNS zone settings for URLs registered at ANY domain registrar, but no two domain name registrars and cloud platforms are the same. In other words, once you try to customize the settings for a specific Registrar-Cloud pair, the instructions can be frustrating. This article provides help for making your Namecheap.com URL work with your static Azure cloud website.

You may ask, “why not just buy the URL domain and website hosting from the same company, either Namecheap or Microsoft?” You can certainly do that, though Microsoft, as of this writing, does not sell domain name registrations. If you’ve hosted sites with WordPress or Shopify, you should know how this works. But what if, say six months later, you decide to switch hosting providers or the company goes out of business?

It’s a best practice to have your domain registrar separate from the hosting provider to avoid having one company monopolize your online presence. You can probably apply this help to other pairings, but you will likely encounter some hiccups along the way. But if simplicity is your number one goal, then it might be more convenient for you to have one company take care of everything for you. No need to read the rest of this article. But for those who already have a URL domain registered with one company (in this case, Namecheap.com) and are looking to host a website on another company’s cloud platform (in this case, Microsoft Azure).

Namecheap.com is my registrar, but most domain registrars work in similar ways. Without further ado, I will skip the verbosity and get right to it. The process of configuring your URL to work with your cloud account is as follows:

1. Have your URL domain registration info from Namecheap.com handy

2. In your cloud account portal, setup storage accounts for static websites

3. Configure your Azure cloud account so that your DNS configuration is ready to go with your DNS nameserver

Both Namecheap.com and Microsoft have tutorials to help you (links are provided). I won’t repeat the steps here. I suggest reading that now before continuing. I will focus on the details that are not so obvious that can frustrate you.

Read the rest here!

Tips for Inheriting Legacy Software Code

Photo credit: goran ivos via unsplash
Photo credit: goran ivos via unsplash

At one point or other, a software developer will be tasked with inheriting another developer’s code. Less experienced developers will not have a clue what’s in store for them, and more experienced developers already know it’s like playing Russian roulette. Ideally, the prior developer did a reasonably good job with writing clean code (not perfect, but clean) and hopefully some inline comments clarifying the more complex, mission critical parts of the solution.

The level of tech debt the inheritors encounter will depend in large part on the age of the code base, which is a key factor in what’s called software rot. Software rot is the idea that, like any other tangible product, software decays over time. The rate of decay accelerates if the code is not continuously updated and deployed. This means there are two categories of inherited code:

Fresh Code

Stale Code

Fresh code will often have the latest libraries and frameworks in place. Hopefully, they follow the latest best practices for mobile and web development. Code written in the modern era of MVC and microservices will likely be reasonably clean enough to understand without much documentation. Stale code, on the other hand, runs the risk of being out of touch with the latest best practices. Code written, say, 15 years ago will have big monolithic services (early SOA era) and some fat UI clients. Infrequently updated code are not as bad as code that has not been updated in a decade or longer. Following DevOps processes ensures the code stays fresh and is easier to inherit.

Read the rest on Medium.com!

Understanding the Relationship Between the Product Owner, Solution Architect and Cloud Development-Deployment Teams

By John Conley

As organizations launch digital transformation projects using Agile and DevOps techniques, it’s easy for them to overlook the dynamic of the teams they assemble to make the transformation a reality. The transformation team needs a technical vision as well as a business vision. Without the clarity provided by the vision, the team can break down into a basket case of ineffective sprints and unproductive relationships. The Product Owner role helps drive that vision into a set of strategic initiatives that then are vetted and technically prioritized, with the help of the Solution Architect, into sprints. Of all the relationships on a given team, the most misunderstood perhaps is that of the Product Owner and the Solution Architect.
One of the reasons for this misunderstanding is that underestimate the complexity of a project. With smaller organizations, this may or may not be a big deal. But for larger corporations, especially those that are publicly traded, this is often inexcusable.
Within any organization, there are two figurative sandboxes that employees work in:
• The Business sandbox and
• The Technology sandbox
In the Business sandbox, employees carry out tasks that directly align with the organization’s marketing and business support operations. In the technology sandbox, employees are tasked with ensuring that the best and most updated technology is being used to support the Business sandbox. In a digital transformation, technology is no longer an afterthought, or “those IT nerds over there,” but an essential engine that drives the business forward. For every IT project, the leading voice of the business sandbox is the Product Owner (PO).
For the Technology sandbox, the Solution Architect (SA) is the main voice. The Product Owner, as the voice of the customer, internal employee, and executive stakeholder, has the responsibility to manage a Product Backlog of requests for new features to existing solution, brand new solutions, and bug/defect requests. Since the Product Owner is generally nontechnical (which is usually a good thing), the Enterprise Architecture team assigns a Solution Architect to that PO. The SA and PO meet regularly (usually weekly or biweekly) to go over the Product Backlog (PB) to vet each Product Backlog Item (PBI).
Depending on how large the PB is, the meeting can be either quick or tedious. The latter is especially true for larger organizations who are introducing the concept of a PB for the first time. Vetting a the PBIs in a backlog is a multistep process:

• PO Guesstimate
• SA Guesstimate
• PBI Priority Ranking
• Executive Budget Approval
• EA Backlog

PO Guesstimate
The PO t-shirt sizes (e.g., Small, Medium, Large) the business importance/impact of each PBI based on business strategies and capabilities being addressed. No technical input involved. Sometimes, the PO will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There will be times when the PO needs further clarification on the business rationale for a PBI from executive stakeholders. These can be marked as “Pending further business review” or something similar. These items should be time tracked so that they don’t age too long in the product backlog.
SA Guesstimate
After gaining business insight into the PBI, the SA t-shirt sizes the effort to analyze and implement technologically. No business input involved. The most popular t-shirt sizes used are Small, Medium and Large. Some teams use X Large for really big epics, but that’s up to you what works. Sometimes, the SA will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There are also times the SA may need a second pair of technical eyes to vet a PBI, so these should be marked “Needing further technical review.”

PBI Priority Ranking
If a PBI survives 1 and 2, then the business and technical rankings together should guide the PO and SA to prioritize the PBI relative to the others. Ranking PBIs is mostly subjective, but a good rule of thumb is to give weight to those items that are quick wins or have been heavily requested among users and executive stakeholders for some time.

Executive Budget Approval
Once the PBIs are prioritized, the PO gets budgetary approval of the top 10 (or whatever the threshold is) from executive stakeholders. Once a PBI is approved, the PO marks the PBI as “Ready for Implementation” or whatever status is agreed upon.

EA Backlog
There are different schools of thought regarding how to the technology team proceeds after a PBI has been approved. The Scaled Agile Framework offers some good ideas around value trains and solutions trains that have helped many organizations. Plain old Scrum, Agile and DevOps have good ideas here. Choose the approach that works for you. Here, I am focusing mostly on the pure process itself without getting bogged down in methodology wars. Once a PBI is approved, some technology leaders directly assign them to a sprint backlog. That might work for smaller organizations, but for larger ones, there is a need for a technology “brain trust” to determine the next step before it goes to any particular team’s sprint backlog. This is where Enterprise Architecture (EA) comes into play.
Often, SAs are under the direction of an EA Brain Trust who assigns them to one or more IT projects. So it would make since that there needs to be an EA Backlog the mediates between the PO’s Product Backlog and each team’s Sprint Backlog. This becomes especially true for organizations going through a digital transformation that involves implementing cloud computing. In the cloud, there are three layers that a PBI can intersect with:
• Software (SaaS)
• Platform (PaaS)
• Infrastructure (IaaS)
Each of these tiers would have a corresponding technology team of technical development and deployment specialists to implement the incoming PBI within the organizations IT environment. With the typical sprint backlog setup, the default assumption is that the incoming PBI is focused on developing software. But what if it only involves standing up a SQL database or a Linux or Windows Server VM? The determination about what kind of team to engage for the solution needs to be at the EA level. This technology brain trust, the EA Team, should have leaders from each area to help engage the right team. The PBI would then be routed to that respective team’s Sprint Backlog to work. The EA team would also do a more technical score of each incoming PBI to determine if an SA is needed to guide the sprint team. A good starting point for a scoring system is 1 to 50, where anything 26 or higher means the PBI is strategically important enough to warrant assigning an SA to the team. Less strategic PBIs can usually be handled by sprint teams with just a normal tech lead or dev lead. If an SA is needed, the SA would then work with the team to do normal sprint planning and backlog refinement activities. The SA creates necessary design docs that are within the guidelines of the master EA doc.

Considerations for Consulting Engagements
The same principles apply to a consulting practice engaging a prospective customer after making the initial sales pitch. After a consulting sales pitch, there has to be a customer assessment phase to determine the level of effort both parties can expect before a full engagement commitment is made. Both roles, PO and SA, are needed at a minimum to determine the effort. During the assessment, the PO and SA develop and manage a backlog of items the customer would need to address before committing to a digital transformation initiative. Depending on the size and complexity of the organization, this can take anywhere from a week or two, to several weeks or longer. The less mature the organization is technologically, the longer this assessment phase will take. It’s similar to when you hire house cleaning service. If it’s your first time, and your house is big, it will take longer than a similar house that already has regular house cleaning.

Wrapping Up
Hopefully this white paper helped in understanding the important relationship between a Product Owner and a Solution Architect. The former is business oriented and is the voice of the customer, employee user and executive stakeholder. The latter is technically oriented, and is the voice of the technology teams and the mediator between the functional requirements (usually user stories and other PBIs) and the nonfunctional requirements that the technology teams implement to satisfy the business. The EA team helps determine how to map incoming PBIs to the right technology teams, and will assign an SA if the PBI is architecturally and strategically significant.

About the Author
John Conley is a Dallas, TX, based Digital Solution Architect and Cloud Engineer Consultant. This is an excerpt from his forthcoming eBook “2020 Business Guide to Digital Transformation Governance.” Feel free to reach out to him if you have any questions or need consulting for your enterprise engagements.

By John Conley
Photo Credit: Mimi Thian from Unsplash.com

Note: This article is also available on Medium.com.

As organizations launch digital transformation projects using Agile and DevOps techniques, it’s easy for them to overlook the dynamic of the teams they assemble to make the transformation a reality. The transformation team needs a technical vision as well as a business vision. Without the clarity provided by the vision, the team can break down into a basket case of ineffective sprints and unproductive relationships. The Product Owner role helps drive that vision into a set of strategic initiatives that then are vetted and technically prioritized, with the help of the Solution Architect, into sprints. Of all the relationships on a given team, the most misunderstood perhaps is that of the Product Owner, the Solution Architect, and the developers and deployers who make the digital solution a reality.

One of the reasons for this misunderstanding is the underestimating of the complexity of a project. With smaller organizations, this may or may not be a big deal. But for larger corporations, especially those that are publicly traded, this is often inexcusable.

Within any organization, there are two figurative sandboxes that employees work in:

  • The Business sandbox and
  • The Technology sandbox

In the Business sandbox, employees carry out tasks that directly align with the organization’s marketing and business support operations. In the technology sandbox, employees are tasked with ensuring that the best and most updated technology is being used to support the Business sandbox. In a digital transformation, technology is no longer an afterthought, or “those IT nerds over there,” but an essential engine that drives the business forward. For every IT project, the leading voice of the business sandbox is the Product Owner (PO).

nesa-by-makers-IgUR1iX0mqM-unsplash
Photo: Nesa by Makers at Unsplash.com

For the Technology sandbox, the Solution Architect (SA) is the main voice. The Product Owner, as the voice of the customer, internal employee, and executive stakeholder, has the responsibility to manage a Product Backlog of requests for new features to existing solution, brand new solutions, and bug/defect requests. Since the Product Owner is generally nontechnical (which is usually a good thing), the Enterprise Architecture team assigns a Solution Architect to that PO. The SA and PO meet regularly (usually weekly or biweekly) to go over the Product Backlog (PB) to vet each Product Backlog Item (PBI).

Depending on how large the PB is, the meeting can be either quick or tedious. The latter is especially true for larger organizations who are introducing the concept of a PB for the first time. Vetting a the PBIs in a backlog is a multistep process:

  • PO Guesstimate
  • SA Guesstimate
  • PBI Priority Ranking
  • Executive Budget Approval
  • EA Backlog

PO Guesstimate

The PO t-shirt sizes (e.g., Small, Medium, Large) the business importance/impact of each PBI based on business strategies and capabilities being addressed. No technical input involved. Sometimes, the PO will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There will be times when the PO needs further clarification on the business rationale for a PBI from executive stakeholders. These can be marked as “Pending further business review” or something similar. These items should be time tracked so that they don’t age too long in the product backlog.

SA Guesstimate

After gaining business insight into the PBI, the SA t-shirt sizes the effort to analyze and implement technologically. No business input involved. The most popular t-shirt sizes used are Small, Medium and Large. Some teams use X Large for really big epics, but that’s up to you what works. Sometimes, the SA will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There are also times the SA may need a second pair of technical eyes to vet a PBI, so these should be marked “Needing further technical review.”

PBI Priority Ranking

If a PBI survives 1 and 2, then the business and technical rankings together should guide the PO and SA to prioritize the PBI relative to the others. Ranking PBIs is mostly subjective, but a good rule of thumb is to give weight to those items that are quick wins or have been heavily requested among users and executive stakeholders for some time.

Executive Budget Approval

Once the PBIs are prioritized, the PO gets budgetary approval of the top 10 (or whatever the threshold is) from executive stakeholders. Once a PBI is approved, the PO marks the PBI as “Ready for Implementation” or whatever status is agreed upon.

icons8-team-yTwXpLO5HAA-unsplash
Photo: Icons8 Team from Unsplash.com

EA Backlog

There are different schools of thought regarding how to the technology team proceeds after a PBI has been approved. The Scaled Agile Framework offers some good ideas around value trains and solutions trains that have helped many organizations. Plain old Scrum, Agile and DevOps have good ideas here. Choose the approach that works for you. Here, I am focusing mostly on the pure process itself without getting bogged down in methodology wars. Once a PBI is approved, some technology leaders directly assign them to a sprint backlog. That might work for smaller organizations, but for larger ones, there is a need for a technology “brain trust” to determine the next step before it goes to any particular team’s sprint backlog. This is where Enterprise Architecture (EA) comes into play.

Often, SAs are under the direction of an EA Brain Trust who assigns them to one or more IT projects. So it would make since that there needs to be an EA Backlog the mediates between the PO’s Product Backlog and each team’s Sprint Backlog. This becomes especially true for organizations going through a digital transformation that involves implementing cloud computing. In the cloud, there are three layers that a PBI can intersect with:

  • Software (SaaS)
  • Platform (PaaS)
  • Infrastructure (IaaS)

Each of these tiers would have a corresponding technology team of technical development and deployment specialists to implement the incoming PBI within the organizations IT environment. With the typical sprint backlog setup, the default assumption is that the incoming PBI is focused on developing software. But what if it only involves standing up a SQL database or a Linux or Windows Server VM? The determination about what kind of team to engage for the solution needs to be at the EA level. This technology brain trust, the EA Team, should have leaders from each area to help engage the right team.

The PBI would then be routed to that respective team’s Sprint Backlog to work. The EA team would also do a more technical score of each incoming PBI to determine if an SA is needed to guide the sprint team. A good starting point for a scoring system is 1 to 50, where anything 26 or higher means the PBI is strategically important enough to warrant assigning an SA to the team. Less strategic PBIs can usually be handled by sprint teams with just a normal tech lead or dev lead. If an SA is needed, the SA would then work with the team to do normal sprint planning and backlog refinement activities. The SA creates necessary design docs that are within the guidelines of the master EA doc.

Considerations for Consulting Engagements

The process of initiating a consulting engagement for a prospective customer has its own set of steps not unlike a software development project. After a consulting sales pitch, there has to be a customer assessment phase to determine the level of effort both parties can expect before a full engagement commitment is made. Both roles, PO and SA, are needed at a minimum to determine the effort.

During the assessment, the PO and SA develop and manage a backlog of items the customer would need to address before committing to a digital transformation initiative. Depending on the size and complexity of the organization, this assessment can take anywhere from a week or two, to several weeks or longer. The less mature the organization is technologically, the longer this assessment phase will take. It’s similar to when you hire house cleaning service. If it’s your first time, and your house is big, it will take longer than a similar house that already has regular house cleaning.

The successful completion of the engagement setup has, at a minimum, the following micro sprints as key milestones:

  • Request for info, quote, proposal from the prospective client
  • Sales pitch by the consultant
  • High level needs assessment by both the client and consultant
  • Service Level Agreement (SLA)
  • Product backlog creation and evolution based on user stories and other feature requirements

This set of milestones is by no means exhaustive but is meant to provide a set of guardrails to manage the micro sprints for the engagement setup process.

Wrapping Up

Hopefully this white paper helped in understanding the important relationship between a Product Owner and a Solution Architect. The former is business oriented and is the voice of the customer, employee user and executive stakeholder. The latter is technically oriented, and is the voice of the technology teams and the mediator between the functional requirements (usually user stories and other PBIs) and the nonfunctional requirements that the technology teams implement to satisfy the business. The EA team helps determine how to map incoming PBIs to the right technology teams, and will assign an SA if the PBI is architecturally and strategically significant.

About the Author

John Conley is a Dallas, TX, based Digital Solution Architect and Cloud Engineer Consultant. This is an excerpt from his forthcoming eBook “2020 Business Guide to Digital Transformation Governance.” Feel free to reach out to him if you have any questions or need consulting for your enterprise engagements.

How to Properly Plan Your Website Before Launching It

 

The importance of knowing your business processes before hiring a web developer is essential. Documenting the steps you take to engage your customers, suppliers, employees, investors, lenders and government agencies are important. This means you have to properly plan every step of the way from where you are now, to where you want to be. You have to answer questions like:

1.       How do I reach out to the public to convince them to become paying customers?

2.       How do I want my customers to learn more about my business?

3.       How can customers read about my products or services before buying?

4.       How can I convince customers to make the buy decision?

5.       How can I make it convenient for customers to pay for my products and services?

6.       How easy is it for my customers to understand my refund policy and actually request a refund?

7.       How can I work with my suppliers to make it easy to buy their products and services I need for my business?

8.       How easy is it to resolve my customers’ refunds when I need to get reimbursed from suppliers? Do my vendors make it easy for me to get such refunds?

9.       How will my business continue if a disaster happens or if a supplier I rely on goes out of business?

10.   How do I get the necessary licenses for my business from the local government agency (if required)?

11.   How do I pay my business sales and income taxes online?

12.   If I have employees:

a.       How do I manage my workers HR and payroll needs?

b.       How do I make it easy for workers to perform their tasks easily?

How do I keep investors and lenders informed about the performance of my business?

View the entire video for helpful, informative tips on getting your website up and running today!

 

How to avoid getting ripped off on website development

Every so often, I’ll come across someone who had bright eyed dreams about launching a website as part of their business plan, only to have those dreams go down in flames because someone they trusted with their hard earned money failed to deliver the desired website on time, if at all. The average losses they suffered in terms of websites that were half done or poorly done has been about $400-900. How could this happen?

The problem comes into play due in part to greed on behalf of the website developer, and lack of knowledge on the part of the customer. Usually, the potential customer asks friends for referrals to web developers or they post on the various social media sites looking for someone. Without doing much research, they pick a developer who sounds convincing and seems “technical.” The developer charges anywhere from $250 to over $1,000+ to do the whole website without providing a lot of details about what’s all involved. They usually pressure customers to pay the entire amount up front. A few customers try to negotiate a lower fee or pay half as a deposit, promising to pay the other half when the site is complete.

Regardless of what price is negotiated, the outcome is often the same: The developer starts on the site, putting up a web page or two, adding some photos and text, and few social media links here and there, and then poof! They vanish. The customer tries calling, but no answer or the number is disconnected. Hundreds of their hard earned dollars gone and they’re ready to sue.

But wait. Is there anything you could have done differently to avoid losing so much money?

Yes! The first step is to make sure you have a reasonable business plan to go along with your website. Surprisingly, most website customers downplay this step, thinking all they have to do is upload a few photos and a contact page with an about page explaining what they offer, and that’s it. No! Your website is a reflection of the business processes you want your customers to be able to do using your website.

For instance, if you are a hair stylist, you may want customers to book appointments, look up and select various hair styles, order hair, manage the way they pay you, allow customer reviews, etc. By not outlining these features up front, you increase the likelihood of misunderstandings between yourself and your website developer. This, then, leads to you feeling like the website is not complete, and the developer might get frustrated and walk off. This is not to say that there are no bad website developers (there are), but in this specific scenario, failure to describe the features of your website along business processes will increase the likelihood of misunderstanding.

Second, research potential website developers. Remember you get what you pay for, so if someone is offering to do your site for a ridiculously low amount (like under $100 total for a full website), chances are it might be a bait and switch scam. Three to five years’ experience should be minimum for the best quality service, although that’s not to say anyone with less experience would be that bad. But it takes some years to get into a rhythm in website development. My company, Samsona Software, has been around since 1993, so I know something about longevity and consistent customer service.

Finally, know that there is a difference between a website designer and a developer. Designers are usually focused on creating web pages and making them look good from a visual appeal standpoint. Website developers go deeper than that:

  1. Hooking up your pages to databases
  2. Integrating with cloud computing platforms such as AWS and Azure
  3. Integrating with eCommerce platforms like Shopify, Magento and BigCommerce
  4. Implementing microservices to harness the power of various business features unique to your industry. This latter one is part of my offering to my larger business customers.

If you get a chance, try an initial consultation first before seeking help building your website. I can help with that, or anyone with serious experience in this space can do an initial consultation to help you get to where you want your business dreams to take you.

About the Author

John Conley is a technology and digital transformation consultant for Samsona Software Co, Inc., based in Dallas, TX. His service offering is focused on enterprise and solution architecture, as well as small business solutions. Feel free to contact him for your business technology needs.

The Idea of Business Enabling Microservices

a human user has a certain business objective that the microservice must fulfill, and that microservice needs a dedicated data store to manage the critical business data it needs to satisfy the user.

As digital transformation sweeps the business landscape, executives and managers are rethinking their business processes. This paradigm shift is important because technology is the lifeblood of industry, the economy and even society at large. People are becoming more comfortable living their personal and business lives primarily through mobile devices, laptops as well, and less so on traditional desktop PCs. Wearable technology, a relatively smaller niche in the overall ecosystem, will eventually compete with today’s mobile devices for digital hegemony among users. But what will be common among all of these ways of conducting business through technology is the need to design components to automate business processes.

As of today, these components are usually realized as microservices in the cloud.

I’ll avoid getting too technical about microservices. Just know that microservices are atomic processes that work together to provide a business solution to a business problem. What that means is that each business process, when well defined, is kinda like a worker just like any other human. Of course, a microservice is very limited to its prescribed business task, minus the distractions that we humans have in our personal lives.

How might this automated worker be visualized for the busy executive to understand? Imagine a bank that offers three account products to the public:

 

1.       Savings Maximizer

2.       Checking Plus

3.       Secure Safe Deposit Box

 

Many years ago, in the age before modern automation, the bank would hire specialists in each of these products to manually offer and maintain these kinds of accounts. The workers would use what was called “ticklers” (like paper ledgers) to keep track of account info. With advances in software technology, managing such banking products became more automated. But in their simplest forms, how might we come up with software components for these products? Figure 1 shows one possibility.

microservice 1

Though the three services look cute in blue against a white background, they can’t sit in isolation. They must do something meaningful to deliver real business value in a way that enables executives and managers to then manage the impacted value chain. In a nutshell, our microservices must do the following:

 

1.       Get data from or display data to the user (knowledge worker, the primary persona)

2.       Execute a workflow on behalf of a user

3.       Get data from or save data to the on prem or cloud database/data lake

In other words, a human user has a certain business objective that the microservice must fulfill, and that microservice needs a dedicated data store to manage the critical business data it needs to satisfy the user. Figure 2 shows the end to end context that supports this flow of business data from the user to the data store.

microservice 2

Ok now that’s a little better. The microservices have end to end context, with the users on the left and the solution tiers to the left. The users only know about the bank app, which governs their user experience (UX). From a business perspective, it would be important to hire technology partners who can pair the UX requirements with the technical plumbing to identify and locate the right microservice for the given user story.

Notice that each microservice has a link to their own databases. This is a fundamentally important part of microservice design that allows the independence of business components, making ongoing development and maintenance cost effective for your organization. If a database goes down for whatever reason, the bank app still have access to the active databases without impacting the user experience.

What’s missing is the fact that each of the microservices can communicate with each other directly (usually by JSON messages) without need to directly access each other’s databases. Also absent is the fact that microservices are usually deployed in the cloud in containers, which encapsulates much of the platform configurations needed to keep the component independently maintainable from a system maintenance standpoint. These cost savings positively impacts the bottom line of the each business product, allowing your organization to in turn pass the savings on to your customers, giving you a competitive advantage. Hopefully as an executive sponsor or manager, you can begin to incorporate microservice thinking into your overall digital transformation strategy.

 

About the Author

John Conley is a digital transformation consultant for Samsona Software Co, Inc., based in Dallas, TX. His service offering is focused on enterprise and solution architecture, as well as . Feel free to contact him for your business technology needs.

So Python Finally Beats Out Java

With Java having become so popular among professional, enterprise developers, one would think it would reign supreme among techies. But with the fast rise of Big Data and Cloud Computing thanks in large part to Apache Spark, Python has edged out Java as the most popular development platform, according to a  comprehensive 2019 StackOverflow.com survey. Another interesting fact is that when it comes to learning the latest and greatest technologies, almost 87% of professional developers say they are self taught without taking a formal course. Read more here

A Simple Technology Game Plan for Entrepreneurs

You have a vision of providing a unique product or service to the world, but that pesky little thing called technology is just standing in the way like a big bouncer at a trendy, popular nightclub. If you could do it yourself, you would do it in a heartbeat, but there’s only so much available time, especially if you have a day job working for someone else. You finally decide you need help from a trusted, reliable and affordable technology partner, but even the process of finding someone is not as straightforward as you wish.

Here’s a simple approach for finding help.

The very first thing you want to do is describe what problem you are trying to solve. In other words, what is so special about your product or service that will solve a problem for the target audience? If you don’t have this articulated up front, then coming up with a technology game plan will be useless. Every entrepreneur is trying to solve a problem that certain segments of the population are dealing with, and of course, entrepreneurs want to be financially rewarded for the solution. Identifying the problem translates into the mission statement of your business plan. You describe the problem in a plain English document called a Problem Statement. The question that is the basis for your Problem Statement is, “What problem am I trying to solve with my idea?” The statement does not have to be anything fancy. Just remember the problem should be written from the perspective of your potential customer (also called “Voice of the Customer” in popular business process methodologies). The problem statement from the Customer’s view might be as simple as one sentence that says something like, “I  have a problem keeping track of how many calories I eat and how many steps I need to walk to burn those calories each day.”

Once you describe the problem you’re trying to solve, it’s time to state what you think the solution to the problem is. If your product or service is the solution, then describe how it addresses the problem. So continuing with our Problem Statement, the Solution Statement might say something like, “As a Potential Customer, I  want a mobile app for my smartphone that tells me how many steps I need to walk in order to burn the calories associated with the food I ate each day. I want to be able to enter each food item as part of the solution.”

That’s it. Once you have the Problem and Vision for the Solution documented, you can then search for a Technology Partner to help you make your vision a reality. Having a website is a key tool for every entrepreneur who needs to market the vision to the public. You can view a video I created earlier this year for 50Plano.com to help with the website process.

Note: Bookmark this page and follow us to keep up on the latest updates to this and other articles!

 

How to Write a Technology Game Plan for IT Projects

These days, a growing number of companies are adopting techniques from IT (Information Technology) world for solving common problems. For instance, some of these companies are adopting the use of version control for non-technical documents and other objects of collaboration in the workplace. Another technique more companies should adopt is the documenting of solution proposals for non-technical problems. In IT, the use of Solution Architecture Documents (SADs) is common when translating non-technical requirements into a technical specification that can be executed by downstream tech partners. Unfortunately, too many SADs have become very impractical, bloated, and often uncomfortable to work with because the accompanying templates (whenever you can find them online at work) are painful to use and often get in the way of creativity and innovation. They are also kept separate from the user requirements document, creating confusion as to what items belong in which document. In essence, the current and varied formats of SAD documents have become a problem in themselves and usually end up gathering electronic dust in some SharePoint or other collaboration site folder.

That’s not very innovative.

With companies like GitHub turning on its head the notion of old-school corporate bureaucracies, it’s time to put away old-school approaches to proposing solutions. The idea of simplifying requirements gathering is nothing new, not even in IT, but creating a collaborative solution proposal process with a simplified, comfortable approach is new for Solution Architects – or shall I say, Solution Coaches. Perhaps replacing the expression “Solution Architecture Design” with “Technology Game Plan” is more fitting with the role of a Solution Architect, who really is a solution coach.

In every work context, workers encounter problems that need solutions. That’s normal and expected. Identifying these problems and proposing solutions to them should be painless and easy to document because both functions, identifying the problem and proposing a solution, lead to innovation. A technology game plan is needed to realize the solution, and every game plan requires a team where each player has a certain role to play. It is up to the Solution Coach to come up with the best game plan for be victorious. Each team member, called generically a Solution Partner, should be specialists in their respective field. There is a Coding Partner, a Data Partner, a Security Partner, Testing Partner and an Infrastructure Partner. A Management Partner covers the usual role of a project manager, but can also be an executive stakeholder or sponsor.

The Technology Game Plan should be formatted to have section geared towards each partner. This is important because current Solution Architecture Design templates have archaic sections broken down by logical, physical, constraints, assertions, etc, that are not always obvious upon first glance. It’s better to have a clearer document the is more direct in terms of which sections belong to which partners to execute. Imagine a sports game plan with a logical and physical section. Which partner is logical? Which one is physical. In my experience, on project after project over the years, the same questions always comes up: “Which section belongs to me? What does logical mean? What is physical?” So a simpler, more direct outline should look something like this:

Technology Game Plan

The Problem – Can be a link to an external document or the actual verbiage added here. Should be plain English with a complete thought per sentence and a noun-verb-noun format where the actor, persona or system is obvious. Should be no more than a paragraph or two.

The Vision –  Can be a link to an external document or the actual verbiage added here. Ideally, should be articulated in the form of a user story or use case.

The Solution – What’s the game plan for each team member (or solution partner) to solve the problem according to the vision outlined by the key stakeholder? More on this section in a bit.

Before there is a Vision, there has to be a Problem to be solved by the Vision. Just a simple description of the business problem is needed, as mentioned above. If your business is being fined by the government for failing to respond to certain customers in a timely manner, then describe how the current system or business process is failing. This is where approaches such as Lean Six Sigma comes into play as they drill down to the root business problem by asking a series of cascading “why” questions.

The question to be answered for the Vision is “How do I want the solution to solve the business problem?” A good way to envision this is to imagine you bought a robot and you wanted to tell the robot what you want it to do to solve the problem without getting into technical detail (the robot can handle the details, it just needs for you to speak the verb command and what outcome you expect when it is done executing your command). So you might tell the robot “As a stock analyst, I want you to gather all the top 100 stocks in the U.S. and display the data in a visually appealing way that supports my decision making.”

Methodology

Every problem does not necessarily require the same set of Solution Partners to solve them. Some problems are repeatable while others occur for the first time. Sometimes a worker (aka Problem Partner) may not know that a problem they’ve identified was already solved before. Even these problems should be documented because it may point to a lack of available online training or mentoring. The solution in such cases is very simple. But the fact that the Problem Partner brought up this problem is evidence of that worker’s ability and willingness to innovate at any level, and the Solution Proposal becomes evidence of their desire to be creative. It’s good to encourage that because if makes the worker more comfortable to identify even more problems and, thus, to spark innovation.

As mentioned in another article, software design principles borrow heavily from a non IT source: classic architecture. When an architect designs a building, he or she is solving a problem and take into account what we now call “user experience” (aka UX). In other words, when a person enters a building, what is it that the owners of the building want them to accomplish? What problem is being solved? With a home, there are many problems being solved, such as the need to cook food, sleep, use the bathroom, be protected from the elements, be cool when it’s hot and be warm when it’s cold, etc. Each of these problems has a solution that does not require the same Solution Partner. For instance, to install plumbing, you don’t need a Solution Partner who installs windows. Thus a window installer does not need to provide input into the Solution Proposal. This is natural, and the Solution Proposal should reflect that natural simplicity.

In its simplest form, a Technology Game Plan can just contain a Problem Description and a Vision Description if both the problem and solution are simple. In the Agile world, this is the best approach as it lends itself to the developer working directly with the stakeholder to solve the problem quickly. More complex ones might require a bit more info, but certainly not too much that the partners lose sight of creativity. A new age Solution Proposal for more complex solutions might have the following minimal elements as a starting point:

  1. What is the Problem and how do you think the Solution should address the Problem?
    1. Problem Partner 1
      1. Problem: [Describe in plain English when possible, including jargon and acronym definitions]
      2. Solution idea: [Try not to get bogged down in technical details, just describe in plain English as if, for example, you were telling a robot what you want it to do for you]
    2. Repeat for each Problem Partner
  2. Given your input, here’s how the Solution can best address the Problem:
    1. Solution Coach:
      1. The Solution Proposal
        1. Context Diagram with explanations for each component or role
        2. User-friendly description of how the Solution solves the Problem
        3. Repeat if there is more than one proposed Solution to the Problem. Be sure to include a Solution Comparison (discussed later)
      2. Any general risks that might hinder the solution from being delivered on time and within budget?
      3. What Solution Partners will be needed?
      4. Is a Problem Coach needed?
    2. Solution Partner 1
      1. Diagram if any
      2. User-friendly description of how your part of the Solution solves the Problem
      3. List any security or other risks specific to your contribution and how they are to be mitigated
      4. Any legal, regulatory or corporate policies apply to your contribution? If so, list them briefly and add any online links to details
      5. Attach any necessary documents to explain the process you will use to solve the Problem
    3. Repeat for each Solution Partner as needed
  3. Any other legal, regulatory or corporate policies apply that have not been identified? If so, list them briefly and add any online links to details
  4. Approval Signatures if needed

Notice that in the Partner sections, there is a dynamic section that can scale to accommodate any number of Problem and Solution Partners. Also, as with any sports teams, the head coach (Solution Coach) may need assistant coaches (Problem Coaches) to ensure that all work (done by Problem Partners under them) needed to articulate the Problem is done effectively. Usually, only a Problem Coach is needed to document most business problems, but some complex problems may require Problem Partners to do some leg work in a particular area of the problem.

Implementing some solutions may not require sections 3 and 4, depending on the nature and scope of the problem. Be sure to ask key decision makers at your company if the proposed Technology Game Plan might incur any level of compliance issues or risks.

Some Technology Game Plans will require signatures from decision makers in the organization, depending on the level of complexity in delivering the solution. The Solution Coach should work with either the Lead Problem Partner or an Executive Sponsor to determine if signatures are necessary. It is good not to burden the Problem Partner with seeking signature info so as not to stifle innovation and creativity.

Let’s go over the roles.

Solution Proposal Roles

Problem Partner

This worker is the one who noticed a problem and was inspired to find a solution to it. This is how innovation starts. Some problems may have more than one worker who collaborates to identify the problem and have separate but dependent ideas for solving it. This is typical in workflows. In such cases, it is good to have a Problem Coach who champions the cause on behalf of other problem partners. This keeps from having more than one worker bottlenecked in the day-to-day details of working with the Problem Partners to come up with a solution. The Problem Coach can keep the other problem partners updated on the solution’s progress and also gather updates from these same partners when they come up with other ideas or provide clarity on existing problem descriptions. The Problem Coach can be a project manager and probably should have some experience managing projects.

Ideally, the Problem Partner should not describe the Problem or suggest a Solution Idea in a manner that is too heavy with work jargon or acronyms. Instead, a good technique for suggesting a Solution Idea is to imagine your manager or team leader purchased a robot to be your assistant. What would you tell the robot to do in order to solve the problem? The only rule in communicating with this Imaginary Robot is that it does not understand workplace jargon, slang, vernacular or acronyms. It only understands plain English commands. Finally, keep in mind that you are not necessarily the expert in solving and delivering every aspect of the problem (unless you’re truly gifted in multiple areas and the organization hired you as such). By fine tuning the way you describe the Problem and Solution Idea this way, you minimize that chance that a Solution Partner misunderstands your innovative ideas.

Some readers may say, “I don’t want problem partners explaining the solution because they might get bogged down in the delivery details.” Although this has been a long-held rule of thumb in IT, the fact of the matter is that problem partners always imagine the solution, whether you forbid them or not. In practice, requirements have always suggested solution ideas, and problem partners feel the need to convey their innovations and desires as they come to mind. Sometimes it’s difficult for workers to explain a problem without also explaining how they might solve them. The trick then becomes to allow them to express them using the Imaginary Robot technique described in the previous paragraph.

Problem Coach

A Problem Coach coordinates all work, including research and business process analysis, to help finalize the Problem Statement, and may even help with the Vision Statement if the Executive Sponsor is busy. Such a worker must work with a Solution Coach and Executive Sponsor to ensure that the organization can deploy enough resources to realize the vision. This aspect of enabling solutions must be kept separate from the process of identifying the problem in order to not burden workers with implementation details.

This worker can, in certain complex contexts, fulfill much of the same responsibilities of a traditional project manager, minus the bureaucratic overhead of some heave project management disciplines. The idea of a Problem Coach is not to manage a project, but to enable innovation. Unfortunately, there is a big difference between the two. With classic project management approaches, the idea is to tell team members what they can and cannot do, and if someone gets out of line, the PM escalates the problem to higher ups, who in turn disciplines the perpetrator. This paradigm is not a way to enable innovation.

Not all problems require a Problem Coach. Simple or trivial problems sometimes only require only a few minutes to solve (such as granting permissions to a resource, replacing an allergy-causing ingredient in a food dish, or adjusting an accounting entry). Each organization should come up with a set of criteria for determining when the complexity of delivery a solution requires a Problem Coach and even a Solution Coach. A discussion on “Determining the Complexity of a Solution Proposal” is later.

Solution Coach

This worker is the brains behind the Technology Game Plan. He or she can be a permanent employee or temporary consultant and is usually an expert in solving and designing problems. A Solution Coach need not necessarily be an expert in a particular business process, technology or industry as this role is responsible for understanding the Problem and lining up Solution Partners to deliver the best Solution. The Solution is composed of business process components or system components, with workers either triggering the process or waiting for the outcome of a scheduled process. The Solution Coach should have an Executive Sponsor (or similar role) to work with to ensure the solution is in line with corporate design guidelines and expectations if necessary. It is important that the process for providing a solution is not unduly burdened with bureaucracy, only enough to meet regulatory, legal or other compliance if the solution rises to that level. If not, then don’t introduce such overhead.

Solution Partner

An expert in delivering an aspect of the Solution. For instance, in IT, a software developer creates or updates a software application, or an enterprise architect might design a component that can be used by dozens of IT projects. Outside of IT, a marketing professional may design an advertising creative. An HR professional might streamline the hiring process. A housing construction supervisor might replace a problem contractor with a better one. The Solution Partner can be a permanent employee or temporary consultant. This last fact is important because too many companies are not strong in IT operations, so this approach to Technology Game Plans facilitates allocating workers when needed in order to solve a problem.

Executive Sponsor

This worker has decision making authority to enable the solution to be designed and delivered if the problem was determined to be of sufficient complexity to have the need of an Executive Sponsor. Ideally, innovations are best realized in organizations that are not rigidly hierarchical. Obviously, for a lot of organizations, bureaucratic hierarchies cannot be avoided, so the Executive Sponsor should create an Innovation Incubator (aka Solution Bubble) that shields the Problem and Solution Partners from as much of the outer bureaucracy as possible. The Executive Sponsor, then, becomes a protective shield for the team, much the way the Façade design pattern works in IT (for those in the IT industry who know about design patterns).

Such an approach is also a good transition strategy for organizations wishing to shed older hierarchical patterns with newer “open collaboration” approaches that encourage innovation. In legacy hierarchies, regular workers feel inherently inferior to managers and executives, some of whom often come across as unapproachable and distant. Sometimes the higher up leaders even have offices that look intimidating. Workers feel they can get bad performance reviews or get fired for any number of reasons, some of which may or may not be valid. But the overall psychological effect is that workers see these as negatives, and as a result, they tend to avoid innovation just to avoid being fired.

This negative vibe is not good for identifying problems and delivering solutions to those problems.

An article in Fast Company about Open Collaboration quoted GitHub CEO Tom Preston-Werner as comparing GitHub’s org structure to a “neural network , where you have nodes in a graph and then connections between them, and they go everywhere. Everyone talks to anyone.” This is a perfect way of viewing how an organization that encourages innovation should potentially be viewed. (Scientists who work with the brain should also enjoy the analogy). When we think thoughts with our brains, neurons and synapses come alive to carry out whatever action is necessary for whatever triggered that thought.

Article Icons - Case Study

Determining the Complexity of a Technology Game Plan

In everyday life, some problems are more complex than others. For instance, when a light bulb goes dim at home, you just go buy another one and screw/plug it in. When your car runs out of gas, you go to the gas station and refill it. When you feel hungry, you go and eat (unless you’re worried about your beach body – just kidding). These Single Step Problems would get a Complexity Score of 1 on a scale of 1 to 10, where 1 is simple and 10 is extremely complex. Some problems, however, require multiple steps. For instance, a problem that many Chili’s restaurants have solved is the problem of paying your tab at the end of your meal or happy hour. Instead of waving for a server or bartender, you can now just swipe your card at the table to pay for the bill. It may sound simple to the Problem Partner (the Chili’s customer in this case), but for the Solution Partner, there are multiple steps involved in making sure the tab is paid properly: the user interface of the device has to present the receipt with the accurate line items, the card swiping feature has to capture the payment info from the card, the device has to submit the payment to the bank card network for authorization, the card network then has to debit and credit the proper accounts (Chili’s and the Customer’s) in a secure way, etc. So the complexity of this Solution would subjectively be 8 to 10. A Solution Coach and Problem Coach would be necessary.

Every organization needs to come up with a weight/ranking system to determine complexity. For some, a scale of 1 to 10 may not be enough. Maybe you want to instead add 1 for each step it takes to implement the solution, giving you a bit more concrete metrics. Some organizations may not be so objective, satisfied with just a subjective 1-10 ranking system. Whatever ranking system is chosen, it is good to distinguish at what level a Problem Coach and a Solution Coach is needed. As a starting point, on a scale of 1 to 10, you might want to only bring in the two Coaches if it’s 3 or higher.

What to Do If There’s More Than One Proposed Solution to a Problem?

There are times when problems of a certain complexity will lead to more than one possible solution. For instance, borrowing from an earlier example, if a light bulb goes out at home, you can either get another light bulb, or get a candle or flashlight or lamp. With the Chili’s restaurant example, Chili’s might have chosen between more than one device vendor for their table side kiosk. In such cases, a Solution Comparison might be necessary if the solution’s complexity is sufficient enough to warrant it. Earlier, there is a section under Solution Coach which allows for more than one proposed solution. If the solution is considered trivial (a score of 1 or 2, for example), then the choice of solution can be informal. It is best to just list the choices and identify which one was chosen and why. But for more complex solutions, your organization may desire a more formal analysis of the decision.

Enter the Solution Comparison table:

Common Tasks Necessity Score Solution 1 Solution 2
Quality Score Notes Quality Score Notes
Task 1
Task 2
Total

When preparing a Solution Comparison, remember that every Solution has to fulfill one or more tasks for a given problem. In the workplace, a solution might span multiple tasks in a workflow process. At home, a solution might include multiple tasks, such as painting a wall using faux painting techniques. In IT, a solution might be a web application that has multiple features (similar to tasks), each of which may require a component that multiple software vendors offer. All Partners should work together to come up with a list of tasks to compare the Solution Choices by. For the purpose of the Solution Comparison, try not to make the comparison task list too long to avoid paralyzing innovation. Although a complex solution may encompass hundreds of tasks, you can generally get a good feel for a Solution Choice by comparing no more than 20 tasks or features; if a choice has the highest quality scores for 20 tasks, then it stands to reason that it will probably be the highest for the next 80 tasks. With this in mind, when choosing the list of tasks to compare, be sure to pick the Top 20 with the highest Necessity Scores if you have more than 20 tasks or features.

To arrive at a score for each task item, it is good to meet with all Partners (Problem Partner, Solution Partner, Coaches, and Executive Sponsor if available) to provide the most quality to the scoring effort. One partner, ideally the Solution Coach, can do the scoring if no one else if available, but particularly the Problem Partners will likely have the best understanding of the tasks being compared. If the solution is technical, then it would be good to have the necessary technical Solution Partners evaluate the solutions along with the Problem Partners.

A Quality Score is a subjective number from 1 to 10 that indicates how confident you are the proposed Solution Choice can fulfill the requirements of the given task. 1 is low confidence in the choice, and 10 is absolute confidence. A Necessity Score is a subjective number from 1 to 10 that indicates how important you think the task is compared to other tasks. For instance, borrowing from our light bulb replacement example, you might give a candle a Quality Score of 3 since lighting is generally limited, and a Necessity Score of 1 since you value the other choices more. (But then again, if your problem revolves around having a romantic dinner at home, both scores may be higher because you’d value candlelight over other forms of light when it comes to dating).

To borrow from our Chili’s example, the table kiosk device might have multiple vendors competing to provide the solution to the restaurant chain. The following table provides some example values for illustration using two make-believe vendors (DiningKiosks.com and Table Devices, Inc):

Common Tasks Necessity Score

1-10

DiningKiosks.com Table Devices, Inc.
Quality Score

1-10

Notes Quality Score

1-10

Notes
Display the menu 10 5 Wasn’t impressed 8
Allow customers to easily choose menu items 10 8 9
Quickly route menu selection to cook 8 9 10
Allow customers to easily request the bill 10 6 9
Allow customers to easily review the tab 8 8 10
Allow customers to easily swipe a card 8 9 10
Securely send the Customer’s card info to bank card network 10 7 Needs better encryption 10
Securely receive authorization and confirmation details from the bank network 10 8 10
Display successful or unsuccessful payment confirmation to the customer 10 10 Good display of line items 10 Great UX
Total 84 70   86 Clear winner in our opinion

As you can see from the table, after assessing each vendor per task item in the leftmost column, Table Devices, Inc. beats DiningKiosks.com easily. With this number in hand, the Executive Sponsor can feel quite confident that a reasonable, good faith effort was made by the team to arrive at a consensus about the best solution choice for the problem.

Next Steps

The goal of this paper is to make sure you have enough tools on hand to solve the world’s problems…well, maybe just the problems in your world. Whatever problem you encounter in the work place, this paper hopefully provided you a minimalist tool to propose a solution to it without being held back with heave methodologies or stifling overhead. Although my background is in IT, I am also a business process thinker and have been solving problems abstractly for many years, especially in the Financial Services, Telecommunications, Hospitality and Healthcare industries (among others). Those organizations that are dedicated to coming up with improved hierarchies that encourage innovation should use the Technology Game Plan (TGP) approach describe in this document as a starting point. The first problem that organizations with legacy hierarchies can solve is how to make the organization encourage instead of stifle innovation. The Technology Game Plan approach should be easy enough to execute immediately without an outside consultant, but if your team or organization needs some outside prodding (and it’s needed in political environments), let me know today by using our Contact form.

John Conley III

You can also download the PDF here: How to Write a Technology Game Plan for IT Projects

©Copyright 2017 By John Conley III. All rights reserved.

Solution Architect? Enterprise Architect? Application Architect? What’s the Difference?

By John Conley III

In the IT world, and in particular in the software side of IT, the word “architect” has evolved into a gray, confused mess, to be honest. I like how Geeks with Blogs humorously stated the 2 biggest misconceptions about the architect role:

•An architect is simply a more senior/higher-earning developer with a fancy title
•An architect is someone who is technically useless, hasn’t coded in years but still throws around their weight in the business, making life difficult for developers

So what is an architect? The Gang of Four design patterns authors used the term in honor of real world building architects from the real estate world. These professionals create blueprints for houses and commercial buildings that a construction team takes and executes to the satisfaction of the original buyer. How does such an architect come up with the blueprint in the first place? They either work with a buyer to elicit that buyer’s vision, or they commission a focus group of people if they plan to speculate on the next generation of building trends. In either case, they start with a vision and use their education and skill to come up with a blueprint that makes sense to the construction team.

Similarly, IT Architects must also start with a vision from a buyer (executive stakeholder or business owner or their representative employee). Ideally, this vision is articulated in the form of a user story, but can come in the form of a plain vision statement or brainstormed list of requirements and desired outcomes. This vision often leads to the need for a software solution to be developed, which in turn drives database requirements, infrastructure requirements (hardware and networking capacity), security requirements, test planning, and software product planning beyond the initial production release (Product Management and DevOps). The “technology game plan” architectural blueprint to coordinate these downstream tech roles is often embodied in what’s called a Solution Architecture Design (SAD) document. (I am writing an article called “How to Write a Technology Game Plan for IT Projects” soon, which should help simplify the SAD template).

So how did the role of architect deviate from this simple concept?

Often, the architect word is not needed for every job title. An Application Architect role can be easily performed by a lead software developer, who works with a Solution Architect. A Solution Architect mainly evolved out of the software space and is a person who ensures that software developers have enough info in the technology “blueprint” to construct the solution using best practices, which sometimes include design patterns. For larger organizations, two or more IT projects may have very similar requirements. In this case, the Solution Architect also has to consider enterprise goals and constraints, such as legal, regulatory, and reusable components to be shared across projects.

As such, such organizations put together a team of Enterprise Architects to maintain a repository of reusable components, design patterns, and related enterprise policies. An Architecture Review Board is often employed to allow Solution Architects to present a Solution Architecture Design document to get approval before proceeding to the next phase of the project beyond the Vision phase (Inception or Initiation or whatever term you prefer). For some organizations, the Enterprise Architect role has been expanded to include Infrastructure Architecture. This has aided in some confusion.

An Infrastructure Architect is focused on client and server hardware requirements, and sometimes even network capacity planning. Since Enterprise Architects have traditionally come from the software development ranks, it is better to have an Infrastructure Architect as a member of the Enterprise Architecture team, rather than confuse the two. Possible naming candidates would be Enterprise Software Architect vs Enterprise Infrastructure Architect. Similar confusion has evolved with respect to Database Architects/Data Warehouse Architects. Enterprise Data Architect might help with such confusion as well. An article on LinkedIn by Murad Yousuf goes into more detail about the differences in the roles.

This article is an evolving one, so be sure to bookmark it and come back for the latest updates.