The field of solutions architecture remains hard to describe, but it is gaining traction and visibility. SearchSOA.com recently spoke with Mike Rosen, chief scientist at Wilton Consulting Group in New Hampshire, about what solutions architecture means -- and how solution architects can do it well.
What is solutions architecture -- and what is a solution architect?
There really is not a standard definition for what a solution architect is. It varies quite a bit from company to company. A solution architect basically is going to be an architect who is focused on the structure of an overall solution within a broader environment. Typically, [solutions architecture is about] creating some kind of solution that fits within a portfolio of systems that the organization already has, that fits within an information context, that fits within a set of integration requirements, that fits on some platform and technology that the organization has in place.
A solution architect is going to need to understand the overall environment that the solution needs to fit in, and then how to construct a specific solution to fit best within that environment to leverage the existing assets and components.
Does a solution architect necessarily work with such approaches as service-oriented architecture, business process management and complex event processing?
Any architect should be taking advantage of best practices and patterns that exist in the industry.
Any architect should be taking advantage of best practices and patterns that exist in the industry. Most large-scale enterprise solutions are going to have some combination of business processes, service-oriented architecture [SOA] and collaboration. Part of the job of the solution architect is to understand how all of that fits together.
If the only thing that the architect was doing was a [business process management] BPM solution, or SOA, or complex events, then I would say that the scope of their solution is smaller than it needs to be. It probably includes those things but is not limited to them.
Does successful solutions architecture require specific skills? If so, what are they?
The fundamental requirement for a solution architect is that the architect has to have credibility with the people he or she is working with, and trying to influence. They have to have the technical background that gives them that level of credibility.
If the solution architect is primarily working with an Agile software development team, then the solution architect is going to need to have some software development skills and background. If they're primarily working with business people, then they're going to have to have some ability to speak business and BPM, and talk that language.
Since the job of the architect is to put the solution in the broader context, typically you're going to look for someone who has a variety of different experiences, good communication skills, and -- if there's some particular technical complexity or importance in your organization -- you might like them to have some deep experience in that skill set. It's not that they need five years of experience doing this and seven years doing that; they need a variety of experiences that match your environment and that allow them to communicate with the most important stakeholders.
Talk about one best practice for solutions architecture.
What the solution architect really has to understand is the principle of "good enough is good enough." They are really pressed to solve a problem in a given time frame with a given set of resources. Maybe they can argue that they need more time or resources to do a better job, maybe not. They have to do the best job they can, given the time frame and resources. They need to be realistic. [They have to] realize the half-dozen things that they need to achieve, and make sure they achieve them.
Follow us on Twitter at @SearchSOA.