Month: August 2008

When and how to use BPMS?

Business Process Management Suite (BPMS) is a set of tools truly enables the following key strategic objectives

  • Business – IT alignment
  • Time to market (Agile software development)
  • Adaptability
  • Process Efficiency – Foundation for Six Sigma
  • and lot more

If BPMS is in the technology road map and the organization is following the road map to move towards the vision, BPMS must be articulated to the executive management teams both in IT and business. The executive management teams may ask high level questions to understand how the BPMS fit in the organization landscape and how it will assist the organization to move towards the vision. When you deal with executive management team before you make them understand some concepts, ensure you erase the misconception they might already have. What BPMS can not do?

BPMS is going to replace all ERP like SAP, PeopleSoft?

BPMS will not replace the existing ERPs, portfolio systems. BPMS will stay top of it and orchestrate any new system development involving all key enterprise systems like ERP, portfolio

BPMS can be used for technology migration projects? Example, From database version 1 to version 2?

BPMS purpose is not to use technology migration project. First of all, BPMS can not add any value in the technology migration projects.

Few frequently asked question by the executive management team related to BPMS direction are listed below.

When to use it?

Use for a new system development if – the business processes changes frequently and they are core business processes, services provided by the new system can be used across different products, the requirements of the systems are relatively vague and would change frequently, involves multiple teams to complete the life cycle of the system function.

How to use it?

From get go, approach the BPMS will be used by both business and IT teams. Get the business teams involved from the beginning, engage them in the initial market research, selection & evaluation and financial commitments in procuring, establishing the foundation like infrastructure, competency centers. Bottom line, it should not be perceived as IT tool. It is a tool used by both business and IT team. How to use it? Capture all the business process flow, analyze the business processes, implement and manage it. All done in the same tool.

How the teams from IT and business work together? (particularly how the IT architects and business process designer work together)

The tool, methodology and approach brings both the IT and business teams (IT – Business alignment, partnership) together by design. The business team will be using the tool to document the business processes (for any project requirement), business analyst/consultants from both IT & business will analyze the business requirements using the tool (like simulation, identification of bottle necks etc), IT architects will build the connectors (to the ERP, Portfolio, enterprise database ware house), IT architects/consultants will auto build (code generation) the application using the tool, business analyst will using the same tool to perform business activity monitoring (let us say, the requirement is to build the credit decision engine and BAM will used to monitor the approval rate by state, product, type of loans etc)

What are the core competencies the IT organization must have to move in this direction?

Business consulting to business, innovation, business process management, business process modeling, business architecture, enterprise architecture, strategy, IT finance management, SLA management, vendor management, etc

How the development partners (like out sourcing partners) play a role in this setup?

Like any software system, the quality of the software systems are not guaranteed until verified/tested. Out sourcing partners can a play major role in verification (testing) of the newly build software system. They can play a role in building the connectors in BPMS. They can play a major role in maintaining the enterprise systems like SAP, PeopleSoft, CRM, etc They can play a role in assisting in capturing the business processes in the tool (the percentage should be very low in this category)

General mentoring advise..

I was asked by many mantes that how they can get a promotion in the organization. Well, it is a difficult question to answer. For anyone in an organization with any responsibility to move to the next level is contextual. In most of the organization, the organization structure is hierarchical, that is a pyramid, and higher you climb the pyramid, the lesser the growth opportunity. The top most of the pyramid is a point which is a person like CEO, CIO based on the organization you are in.

How to go to next level?

In an organization, generally, no body is going to tap your shoulder and ask you to move on in your career step. There are lots of opportunity exist in an organization and it is up to an individual to learn and grow in an organization. It is generally true. Luck is also a factor and persistent hard work creates luck.

Key principle to keep in mind before anyone consider to go to next level.

  • Be great in what you are currently doing (master the subject and be evangelist in that subject)
  • Let everyone know that you are really great in what you are doing. Do it shamelessly.

If you follow the above two principle and you consistently do it over a period of time (time depends on your position and organization) AND you need to ask this question to yourself. Are you ready for the next level? You need to honestly answer this question to yourself. Do NOT answer yes because of power, money, prestige etc. Honestly and truthfully answer to yourself. If the answer is yes because you think you are qualified to the next level then start build the network through mentoring. Perform mental shadowing. Observe the members in the organization who is in your to be level and analyze how they are performing their daily operation, how they deal their situation in a daily manner and position yourself in their shoes. How they did certain things, how they answered few questions asked in the town hall, deparment meeting, staff meeting etc and position yourself how you would have done it if you were in their position. Perform a variance analysis. The key is to select the top successful person in your next to be level. A role model.

If you keep doing this, I’m confident you will get where you want to be.

How different architects work together to define software system architecture?

The involvement of various architects in the system architecture definition process is given in the responsibility assignment matrix (RAM) in the table 1. All the architects work together to define the software system architect.

Table 1. RAM for architects.

Architect IV FV CV Dev.V DV OV
SA C C C AC C C
AA I A I I I I
DA A I I P P P
IA I I I P P P
INA I I A P I I
SECA P P A P P P
PA NA NA NA I I I
NA P P P P A A
SEA P P P P A A
WRA P P P P A A

Table 2

Code Description Comments
A Accountable Responsible for success/failure of this activity
P Participant Actively participates in the activity
NA Not applicable This person is not applicable for this task.
I Input Provider Project Team needs input from this person in this activity
S Sign-off Required Must sign-off the appropriate document
C Co-ordination Co-ordinates and Leads the effort.

Table 3

SA System Architect
AA Application Architect
DA Data Architect
IA Information Architect
INA Integration Architect
SECA Security Architect
PA Process Architect
NA Network Architect
SEA Server Architect
WRA Web Runtime Architect

Table 4

IV Information Viewpoint
FV Functional Viewpoint
CV Concurrency Viewpoint
Dev.V Development Viewpoint
DV Deployment Viewpoint
OV Operational Viewpoint

What is software system architecture?

Software system architecture is collection of viewpoints. The types of viewpoints depends on the type of systems. Software system architecture for a typical web application contains information and functional views primarily focuses on the structural (or static) representation of the system and the deployment, concurrency and operational views are the behavioral (or run-time/dynamic) representation of the system and the development view is guidelines. Views are instance of viewpoints. Viewpoint is a set of standards, guidelines, templates, patterns for constructing a view.

Functional viewpoint:
The functional viewpoint represents the business processes and function elements of the system. It is mandatory for all web development projects since all web projects are executed to meet a set of functional requirement.
Information viewpoint:
It represents the data and flow of the data within the system. The data or information is integral of the web system.
Deployment viewpoint:
The typical web environment contains minimum a web server with internal disk, domain name server, web browser, inter network or intra network. The environment could be complex for a transaction application. It contains quite few infrastructure components like web server, router, switches, firewall, application server, domain name server, intrusion detection devices, messaging services, storage management systems, load balancer, ssl accelerator, external cache devices etc. It is essential to understand the deployment view of the system upfront during the architecture definition phase of the software development life cycle.
Development viewpoint
In an enterprise environment, there are set of standards, policies, patterns, anti-patterns, reference models, lessons learned, domain knowledge, reference architecture and etc. The development team is expected to reuse the existing references. These artifacts are provided to the application developed team by the centralized architecture team. With recent success of the outsourcing development model, the development viewpoint is required to be part of the architecture.
Concurrency viewpoint:
The functional elements of the system are to be served simultaneously for concurrent users in the web environment. It is required to study the behavior of the concurrency structure of functional elements. It enables to create the necessary environment setup like thread configuration for the operational viewpoint.
Operation viewpoint
The gap between the application development process and the infrastructure management process is quite significant in the industry in spite of the well known IT infrastructure management frameworks like ITIL being in place and adapted widely. The longevity, sustainability, maintainability of the system are determined how the operation views are analyzed and designed during the architecture phase of the project. It may be optional if the web application is developed for a limited time.

Different types of architects

Architect defines the architecture. Broadly the architects are divided into the technical and business architects. The business architect are focused on the economical change of the market and devise  a set of  business process  for enterprise or systems adaption and to attain enterprise or system’s mission and vision.  The technical architects are  focused on implementation of the business architecture defined to meet enterprise’s or system’s mission and vision.

The technical architects are broadly divided into

    System/Product architect
    Domain Architect
    Solution Architect
    Applied Architect
    Enterprise architect

Based on the architect characteristics, the types of technical architects shall be divided into the generalist and specialist. The specialist focus on one specific area and the knowledge acquired and possessed by the architect is deep. Where as the generalist, knowledge acquired and possessed in a set of areas is broad.
System/product Architect

System/Product architect are the generalist, responsible for the cohesive architecture solution of the system or product. They have equal strength in the both technical and business area. Plays a vital role to bring all the stake holders together and ensure all the stake holders concern’s are captured methodologically, formally documented and validated. Assist the project manager to make the management decision and makes key technical decision for the project/system/product. Brings all the technical architects, development teams, system analyst, and support teams together to ensure the cohesive architecture is defined to meet the stake holders concern and ensures the defined architecture is implemented. The system architecture validation is done by using the user case scenarios. +1 view of the architecture. The architecture verification is done through reviews.

Domain Architect

Domain architects are the specialist, responsible for the architecture solution for that domain. The domain architect is an abstract definition and there are various domain architects. The domain architects specific to the web development projects are

  • Application architect
  • Data architect
  • Information architect
  • Integration architect
  • Security architect
  • IT Process architect
  • Infrastructure architect
    • Network architect
    • Server architect
    • Web run time architect

Solution Architect

Solution architecture team is the set of specialist working together to research and seek solutions for a specific problem.

Applied Architect

Applied architects are match makers. The applied architects have the known set of problems, solution and context. The architectural patterns are applied to the system or product. The architectural patterns includes to the process solution or methodology for the implementation and its style.

Enterprise Architect

Enterprise architect are responsible for defining the holistic architecture solution for the entire enterprise.

How to become an enterprise architect ?

For past few years, quite a few employees, contractors, consultants, right sourcing consultants in the organization asked me this question, what they should do to work for me? In other words, how they could become an enterprise architect. Generally, when someone has this question in the organization, I asked them to schedule a mentoring meeting and try to understand what they want to do and how their aspiration and ambition fits into an enterprise architect’s requirement and coach them accordingly. When this questions became a frequently asked question to me, I decided to document the state transition diagram for an enterprise architect and started providing it to whom ever wants to become an enterprise architect.

I believe this has a value to anyone who wants to become an enterprise architect. This state transition is an ideal road map to become an enterprise architect. When I attended a Gartner conference recently, I informally bounced this idea with fellow enterprise architecture managers, chief architects, chief strategist and most of them agreed that this is the ideal road map for developing enterprise architect talent in an organization.

Good attitude is required to learn and grow in any organization.

If you have a good attitude, you will never have a bad day and if you have a bad attitude, you will never have a good day. Good and bad days depends on you and your attitude. Generally speaking, there is abundant opportunities available in any organization in any market condition and it is all up to the individual how effectively use it and thrive in the organization.

No matter what, there are whiners in any organization. No matter who their bosses are, no matter how their organization perform, no matter how their external environments are, they whine, they are stress full people and whining is their stress releasing technique. Generally, there is a small percentage of whiners in any organization. Please STAY AWAY from them. As stated in the matrix movie, if you stay close to any system, you will become part of the system. You do not want to be whiners and stay away from them.

The moment you think the organization style & growth does not meet your pace, style, acceleration, aspiration, that is the time you need to seriously think to prepare your resume. No matter what the market condition is, there is always high demand for highly talented individual in any field. If you do not make your self available in the market then you will become part of the existing system. You will lose acceleration, aspiration, ambition, pace, motivation and interest and will become part of the system and start doing what is required to fit into the system.

Abundant opportunities exists in any organization and it is up to an individual to use it and thrive in the organization. Behavior and attitude matters every day to thrive in the organization. If you have a good positive attitude you will never have a bad day and if you have a bad attitude you will never have a good day.

Attitude is what required to learn and grow in any organization.