Cottleston Pie

Fernando Felman’s thoughts on software development

The journey has begun, or how to become a Solution Architect

Posted by Fernando Felman on July 14, 2010

Hi,

I’m a developer with lots of experience in the .NET world. I have developed countless of systems for all kinds of scenarios using many different technologies available in the Microsoft solution stack. I want to become a Solution Architect. Can anyone please provide information how to do it?

I’ve seen this question countless of times and it’s usually the same story: you’re a brilliant technical person and now you’ve decided to take the plunge and become a solution architect. Problem is, how do you do it? Where do you start and what do you need to know?

Many times I see people focusing on the technical aspect of the role, suggesting to learn design patterns & principles or maybe a particular architecture type such as SOA. Sometimes, the focus is on the delivery methodology such as Agile or Kanban. I have decided that it’s time to present my view on this matter, which is more holistically and is in alignment to the definition provided by the International Association of Solution Architect (IASA).

It’s no secret that I’m working as a Solution Architect in Unique World, a fantastic workplace with extremely smart people. My view of this topic is really the summary of many years of experience and more recently, the outcome of having a great mentor in Unique World for the last 4 years.

Obviously, before we respond how to become a Solution Architect, we first have to define what exactly a solution architect is. There are heaps of different definitions on the net and probably each architect has his or her own opinion on the matter. I’m no exception, and for me a SA is a person who has all the competencies needed to successfully deliver a solution architecture.

Yes, I know this doesn’t help too much, so let’s break that into what solution architecture entails. A solution architecture of a software project is the blueprints of how, technically, a solution works. It should contain the following aspects:

  • Technology Composition – this is where you define what technologies you’re going to use, e.g. COTS like AD, SharePoint, BizTalk, Office tools, Internet Explorer but also development platform like WCF and WPF.
  • Information Model – this is where you define what information repositories you will have and how information will flow in the system
  • Logical Composition – this is where you define the logical components, including custom development, and how they interact in the system
  • Topology and Environments – this is where you define the service topology (e.g. servers and networks) of your system

Now, in order to successfully deliver a solution architecture, the SA should have a great deal of technical knowledge and be aware of many trends and options available for use. However, that’s not the end of the story. The SA should also possess soft skills and human dynamic skills to successfully communicate with both the business and the technical team, to fully identify concerns and influence-forces affecting the designs.

In essence, the SA must be an absolute brilliant technical person with great communication skills, and have good knowledge of Project Management practices & methodologies. Oh, and obviously, the SA must have perfect abstraction abilities, or else he’s doomed to drawn in the sea of details.

Now that we know what a solution architect is, it’s time to answer how to become one. Well, here the response is much simpler – the aspiring SA needs only to follow the development path created by the IASA , starting from here: http://www.iasahome.org/web/home/education.

The International Association of Solution Architects (IASA) is the body of knowledge for a SA to align his or her career development with. The IASA identified the skills and competencies a SA should have, and also provide good learning materials and options to get there.

Another place to start looking at the role of an architect is these two articles. Although they are not in perfect alignment of how I see the role of the architect, they do provide a holistic understanding of what is expected from one.

So there you have it. My view of what a solution architect is and what should you do to become one. I would love to hear comments from the community around this topic.

It goes without saying that if you find this information helpful and wish to reuse and /or publish it, please provide the appropriate credit and link back to this page.

Fernando Felman
Solution Architect
Unique World

NB: the response I posted in this thread is the driver for this post.

Advertisements

12 Responses to “The journey has begun, or how to become a Solution Architect”

  1. Ram said

    This link also provides some good fundamentals on Solution Architecture – http://www.solutionarchitecture.org/

  2. Thiru said

    IASA courses are very expensive. is there an alternate that you can provide?
    BTW your article brings good hope for those opting for this career path. Thanks for sharing your thoughts.

  3. kkurni said

    Hi,

    Do you think everyone which are developer are capable to become solutions architect if they practice a certain skills?

    how about if they good at everything unless the soft skill?

    is there any alternative role for that person?

    Thanks

    • Hi kkurni,
      A person who is technically very strong in design, quality attributes and development skills but has poor soft skills is, in my opinion, a perfect candidate for a great technical architect. I think that adequate soft skills are crucial for successful solution architects.

      A key ingredient in the solution architect role is the ability to affect the project outcome by influencing decisions makers. In my experience, good soft skills are a must to impact and influence people.

      That being said, soft skills encompasses a myriad of aspects such as writing skills, public speaking, cultural alignment (different cultures have different communication styles) and more. Very few people excel in all aspects, so I am inclined to believe that any technical architect can increase at least some aspects, which depending on the situation may be sufficient.

      At the end of the day soft skills are learned skills, and there are many trainings targeting that area. If that interests you, I would start by searching for communication styles and how to influence people. For example, take a look at the DISC communication styles.

      Best of luck,
      Fernando

  4. Raquel said

    Hi Fernando,
    What do you think about a Senior BA with IT background (sdlc) who wants to be a solution architect.Do you think is that possible?. How hard would it be to get those technical skills?

    • Hi Raquel,
      To answer your question, let’s look at the core pillars of knowledge for software architects, as proposed by the IASA:
      1. Business Technology Strategy
      2. IT Environment
      3. Quality Attributes
      4. Software Design
      5. Human Dynamics

      A Solution Architect is a software architect role specialising in the creation of strategies and designs of software solutions. This role therefore requires high technical knowledge especially around the IT Environment, Quality Attributes and Software Design pillars. I would assume that as a BA you would have limited exposure to such topics and so you would have to breach this gap to become a successful Solution Architect. There is nothing preventing you from acquiring that knowledge, but you may want to pursue a slightly different software architect specialisation: the Business Architect role.

      A Business Architect is a role that focuses mainly on the Business Technology Strategy pillar requiring high degrees of knowledge around such topics as BPM (Business Process Management). You would still require some knowledge from all the other pillars, but typically you won’t need to dive into the gritty technical details. I believe this role is more in alignment with your career path than the role of a solution architect.

      I would encourage you to head over to the IASA home page at http://www.iasaglobal.org/iasa/default.asp to learn more about the software architecture BoK (Body of Knowledge), its knowledge pillars and its specialisation roles. From there you should have a much clearer understanding of the development path that best suits you.

      Best of luck,
      Fernando Felman

  5. Nitie said

    Dear Fernando,

    I am an Instructional Designer with 3 yrs of experience in corporate and K12 projects. For a year or so I am creating e-learning course on SAP. Thus began my journey to closely look at other carrier options and would like to become a SA. I have read tons of article on what a SA is but was not quite convinced. Until I stumbled upon your article which summaries beautifully the key skill areas and how to become one.

    I am keen to become SA but yes do not have much hands on experience or background on technical skill sets. Is my wish to become a SA valid? If yes, how do I bridge gap of the key areas that are essential. Please guide.

    Thanks 🙂

    • Hi Nitie,
      Glad to hear this article was helpful to you.

      Given the date of the post, I’m assuming many of the links in it are obsolete, so you’ll have to Google many of the sources I originally referred to. Still, some key points remain the same.

      In essence, to be a successful Solution Architect (SA) you’ll have to posses these core skills:
      * Systems Design: the ability to design a software solution and support the project members working on it.
      * Business Design: the ability to extract business want for stakeholders, i.e., the ability to clearly define how a solution should work to resolve business problems. Think of it as a mix of a senior Business Analysis (BA) role with strong understanding of the underlying technological platforms.
      * Human Dynamics: the ability to efficiently communicate with a dynamic range of people, from technical team leaders, through business stakeholders, all the way to presenting to Architecture Boards and CxO.
      * Project Management: the ability to support your sponsors and project managers. You typically won’t take the role of the PM, but are expected to know the craft and support the PM. You will ultimately be the Principal Solution Delivery Owner so you must know how to estimate effort and validate the technical team leader is following as per your plans. You will need to support the project’s risks register and issues register and many times you’ll actually manage many of the risks and issues.

      Now, on how to acquire the skills, some skills have formal education paths while others don’t. Here’s where I recommend you to begin:

      * System Design: break this huge pillar of knowledge into its disparate topics of Information Design, Service and Infrastructure Design and SAP Design (assuming you’ll focus on SAP).
      For Information Design, you can learn technical topics such as databases (each brand has its own courses, Google traiing in SQL Server and Oracle) and also information and knowledge management topics (e.g., how to design taxonomies for businesses or how to design a product catalog).
      For Service and Infrastructure Design, you can Google training on ITIL and learns concepts on business continuity. You can also learn more technical topics such as how to achieve High Availability using the SAP platform (or any other platform you want to focus).
      For SAP Design, just follow the formal training of SAP. If you want to focus on other platforms (say, the Microsoft solution stack), then you’ll have to skill up on those as well.

      * Business Design: start with training for the Business Analysis role (search in Google BA Training). Once done, proceed to Business Modelling and Business Processes Management (BPM) topics.

      * Human Dynamics: plenty of sources to train in the various skillsets. Search for training in negotiation, workshop leading, public speaking, formal writing and maybe also DISC Profile.

      * Project Management: focus on frameworks such as PRINCE2 and methodologies such as Agile.

      With time, and lots of experience you’ll probably want to start looking at Enterprise Architecture (EA) frameworks such as TOGAF that will crystallise your knowledge expertise.

      So yeah, lots of topics to learn and skill up. Being an SA isn’t easy, but very rewarding and exciting job to do.

      Best of luck,
      Fernando

  6. Seeker said

    Hello Fernando,

    I used to be a developer 10 yrs ago but have moved on to more of Application Support Management role in last 5 yrs or so + Working with BA’s and Project team + Prince2 certified . I have done the ITIL foundation and have solid commercial exposure to ITIL principles. I did not much enjoy the coding side of things 10 yrs ago as it was quite involved lengthy process which has become much more easier to code. Would you have any recommendation for a person like me where to start from on this journey to become a SA?

    Cheers

    • Hi,
      I think your skillsets are very much in alignment for a Services Architect, in other words, an software architect who takes an holistic and methodological view into solving business problems when the expected solution falls within the range of enabling business services using technology.

      If you wish to pursue a more “puristic” Solution Architect path, I’d recommend you skill up on these pillars of knowledge:
      1. Software Engineering including Software Design;
      2. Information Architecture; and
      3. softskills including communication styles, negotiations and presentation skills – all highly important when you’re socialising your designs with your stakeholders.

      You should already have pretty good services design skills (including infrastructure) and business design skills, but there’s no harm in honing those skills as well.

      Regards,
      Fernando

  7. Ben Labbe said

    Hi Fernando,

    Great post! And I’m seeing that although you posted this in 2010 you’re still replying.

    I’ve noticed a requirement for a many Solutions Architect opportunities is a BS or BA degree. I’ve been programming for 3 years, worked with multiple Lead Techs and Solution Architects, and have an Associates degree in computer science. Do you see this as being a limiting factor in career progression?

    Thanks!
    Ben

    • Hi Ben,
      Thanks for the kind words.

      The requirements for a successful Solutions Architect revolve around competencies, not degrees, but in today’s reality of a fairly typical career progression, there is an obvious correlation between competencies and academical degrees. With the exception of work environments with highly formalised roles progressions, for example Government and Military, not having an academical degree shouldn’t necessarily hinder your career progression. However, you would have to be able to demonstrate the required competencies via, e.g., successful engagements and satisfaction surveys.

      I would also recommend you to consider pursuing pertinent professional certifications in your field. From an opportunity viewpoint, it is more useful to have a certificate in a particular field/technique/methodology, than a generic BA.

      Best of luck,
      Fernando Felman

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: