Archive

Author Archive

Pragmatic Flex

November 8, 2009 Leave a comment

Stay tuned for a new series a new website. http://PragmaticFlex.com is coming soon.

Layers of Architecture

October 16, 2009 Leave a comment

There are tons of architects out there today. It seems when you’ve spent enough time as a developer, you end up becoming an architect.  Architecture is not just the next step in a developers career. There are whole new disciplines and methodologies applicable to architecture. That said here are the common levels of architecture.

Enterprise Architecture (planner)

Enterprise architecture is a high level field that concentrates on how the various domains or subject areas interact. This layer spends even more time focusing on how technology will be utilized in the future, and governing how it is used today. Enterprise architects work to create technology roadmaps and work with the business to plan for the implementation. Enterprise architects create technology projects. It is at this layer where frameworks like TOGAF and taxonomies like Zachman come into play. This layer view the enterprise as a holistic entity.

 

Solution Architecture (designer)

A solution is an answer to a question. The question in this case is typically an IT project. The solution architect’s primary objective is to design a solution that meets the projects requirements and also falls in line with the domain and enterprise architecture guidelines. The solution architect is responsible for coordinating with multiple domain architects to design the most appropriate solution. A solution architect may interact with domain architects in infrastructure, web services, data management, and so on. During the course of the project a solution architect will typically create many work products either for communicating the solution to a governance board, to explain the implantation to a developer and various other uses. These work products are eventually owned by the domain architect as codified knowledge of the system after the project implementation.

 

Domain Architecture (owner)

A domain is an area of focus. Domain architects are primarily focused on maintain a specific area of technology or a specific application. These architects are the owners and gatekeepers for a specific area. The work in this area is primarily concerned with the current state of the system. These architects are charged with managing the knowledge for their area. These architects are also responsible for keeping up to date on future projects related to the domain and guiding the designs to meet the overall objectives of the domain. A successful domain architect will know that a future project will require x functionality. When an active project is debating between two possible implementations, the domain architect will be able to guide solution toward the best of the two solutions that meet the future goals.

 

Application or System Architecture(builder)

The application or system architect is primarily focused on the implementation at hand. This is the most detailed level of architecture. An application architect, for instance, would be concerned with the most appropriate design pattern to use in a certain programming situations. These tend to evolve from the most advance developers and engineers. The primary focus here is to implement the best solution for a specific task. Work products that may be produced during this layer are primarily used to communicate to the developers or implementers. In many co-located environments a lead developer often fills this role and very few work products are actually produced. Instead the team may utilized whiteboards or code stubs to communicate the implementation. For larger more dispersed projects, or for outsourced solutions, the application or system architect has a more demanding role for providing detailed implantation instructions. 

 

Conclusion

The various layers of architecture are not meant to be isolated entities. In most situations one architect will fill multiple roles at various levels. Each layer has a unique focus. Understanding the layers helps clarify responsibilities, activates and deliverables. From a career development standpoint individuals can use the layers as the basis for a personal gap analysis and learning plan.

 

I look forward to reading your thoughts and comments.

 

Best of luck in all your endeavors.

Working with Offshore Teams: Tips from the Trenches

October 8, 2009 Leave a comment

image I’ve had the opportunity to work with a variety of offshore teams on various projects. While very challenging these relationships can indeed be valuable. So how do you make the most of these partnerships? Here are a few observations.

Language

The most challenging piece of an offshore partnership is the language differences. While most business people around the world speak English, it will typically be a British version and/or be accompanied by a heavy accent. This all becomes more difficult when trying to communicate on a conference call with a choppy reception and the other end sounding like they’re in an auditorium.

How to deal with it. There is no good answer here. Two approaches seem to help, first have someone onsite to act as a translator. This is typically someone from the same vendor, who has been assigned onsite. Ultimately though you need to become accustom to the language, this only comes with time. Surround yourself with people who speak the language. Don’t be afraid to say you don’t understand. When on the phone be sure you’re able to concentrate on the call with little background noise or distractions. Overtime the accents will become more understandable and the language gaps will be clearer.

Communication

Surprisingly talking does not equal communication. When dealing with any remote team, clear communication is critical. imageTo frequently conference calls are stressful and where in a normal situation you would ask for more information, on a call you may feel it’s too difficult and you’ll just send an email. Conference calls are critical for a project. Don’t let them go to waste. Ask questions be sure that your question was understood correctly. I’ve found it’s difficult to get participation from an offshore team on a conference call. Typically one individual will do all the talking. Work to get more than yes and no answers and more participation from the whole team. Also in these calls try to encourage conversation outside the simple status updates, you might find out important information.

Beyond the conference call its important to follow up with a clear recap of what occurred on the call. This helps make sure everyone on the call is on the same page and all action items are assigned. With any remote team, following the activates between discussions is difficult. Use email frequently. Insist on a formal agenda and meeting minutes. Clarify action items and blocking issues. If a blocking issue does arise take care of it immediately.

Culture

There are significant culture differences that come into play when dealing with international vendors. These culture differences are stem from national/ethnic traits, to corporate/vendor culture. There are traits that surface simply due to the continued relocation of team members.

My experience has been that Indians don’t tend to question authority.  I’m not saying challenge authority, but rather look for clarification and understanding. imageWhat seems to happen is that individuals will take a message from a higher-up or client that may not be clear, and instead of working with the source to understand it, they will go to their peers to help understand the message. While this may work in some situations, often times it takes much longer to get the right information. When this works the best is when there are a series of mentors available to the offshore team. A series of experienced individuals various team members can turn to. To help this process, try to keep one vendor and one team as long as possible. Inevitably the vendor will swap out resources on you but hopefully you can hang on to a few key resources that can fill this mentor role. When working one-on-one with an offshore resource be sure you have been understood clearly, ask them to repeat what needs to be done, not simply do you understand.

imageWorking culture. These guys work hard, really really hard. They work nights and weekends, often they work far from their families. Even in India they will travel to different cities to work in  central location for a client. It is so important to realize these guys a working really hard for you. Take time to make that personal connection with them (if they let you). Get to know your offshore team by name. Express your gratitude to them individually for their effort. A note about working habits, since these folks don’t technically work for you, they may not tell you when they’re going on vacation. Ask regularly when upcoming holidays are and what vacations are planned so you don’t end up with a skeleton crew right before a huge deployment. If you have on site resources realize when they take vacation it’s typically for a month so they can get back to India.

Conclusion

Offshore and outsource projects can be highly effective if leaders take the time to consider the variety of challenges the show up in these situations. Communication is always a critical component of any business initiative. In an offshore model communication is more important than ever. Leaders are dealing time zone changes, language differences, and cultural differences. All these challenges can be overcome with increased and clear communication.

Consumers are Spoiled Rotten

October 7, 2009 Leave a comment

image What I want, When I want it, How I want it

That’s how to grow your business these days. Give people what they want when they want it and how they want it. This really isn’t a new thing in business, after all isn’t that the basis of fast food? The difference is this trend is moving to almost every element of life. The culture in business is changing from a world where we all attend meeting at the same place and time to one where decisions are made with people in different locations and contributions coming at different times of the day. Phone calls have been replaced by emails and text messages. This is all old news.

Business need to continue adapting to these changes. The success of iTunes music store is a prime example. Rather than purchasing an album full of music I don’t want just to get a single song I do, I can buy just the one song. Newspapers are feeling the strain as well. The challenge newspapers face is not the transfer to a digital medium, rather its the fact that people only want to see what they’re interested in. Why flip through 3/4 of the newspaper image searching for the 1/4 of content I want to read. Look now to the video industry. Yes Tivo ushered in the ability to watch what I want when I want, oh and by the way skipping all those money making ads. Look further though and we see that stores like Blockbuster are suffering because it’s easier to go to my mailbox than a store. Its easier image to stream Netflix movies than go to my mailbox. Look at Hulu, where its easier to watch an missed TV episode than try to record a rerun.

How will companies take advantage of selective satisfaction in the future? The magazine industry, led by Time, is looking to roll out a Hulu like online magazine distribution system. Cable companies are offering Video On Demand. Yet how do we deal with the money aspects of all this.

There are a couple of industries that still need to pick up on these new trends. The radio and advertising industries haven’t picked up on all this yet. Why isn’t there a RaDo for an image audio version of TiVo. Advertising, too many times I’ve heard or seen and ad that actually peaked my interest but I had to act now to review more details. Why not allow me to have an option to review later. Let me click a button on a web page that adds the info to a folder I can review later, or hit a button on the radio to tag the ad as interesting so I can check it out when I have time. 

 

The world is spoiled. Rather than force customers to work your way, how are you transforming your business to provide what they want, when they want and how they want.