Tag: Software Architecture

Rapid Solution Delivery Framework

In this tough economical situation, leading a multi-million, multi-year project to a failure is not an option for any corporation.  Leaders or managers who lead project for years without successful implementation must be watched closely by the executive management for their performance during this economical situation. I totally understand an organization can learn from their mistakes, but successful organization learns from others mistakes but not on their own cost.

The project managers and leaders are seeking the best possible ways to ensure successful implementation in spite of any unforeseen hindrance in the execution. Even for the multi-million dollar projects utilizing the cost effectively solution are demanded. The project managers and leaders are seeking the best enterprise or system architect to provide solution to exceed customer expectation, meet requirements and at the same time provide most innovative and cost effective solution.  Enterprise architects or system architects are required to have a set of tools in their arsenal to provide a rapid cost effective solution with highest possible success rate.

Rapid Solution Delivery Framework is an abstract concept used to rapidly define a cost effective and innovative solution. The key components of the framework are:

1. Cloud computing
2. Open source
3. Social network tools

Cloud computing: It addresses the rapid infrastructure setup or applicaton setup or business rules for any solution delivery. The cloud platform may come from external public cloud provider like Amazon or internal cloud provider or external private cloud provider (like secure24, rackspace for infrastructure) . It is rapid way of setting up the infrastructure for the solution delivery. There may be cases where cloud platform may also provide business solutions.

Open Source: There are lots of commercial software product companies leveraging the open source or supporting or sponsoring the open source to improve their commercial product quality tremendously. For instance, IBM supports Apache product development and leverages the Apache web server and bundles it as a IBM HTTP Server (I H S). The open source concepts are not pertained to system software. The open source concept proliferated to various segments and even in the chemical bonding structural analysis there are lots of open source tools available where the researchers and students easily learn and collaborate. Open source has become an integral of any IT solution delivery model.  Open source provides wide range of solutions from operating system, system software (webserver, database server, application server), application development frameworks (spring, hibernate, struts), security (OpenSSO, Crowd, OpenLDAP) , application development IDEs (like eclipse, Galileo ) and etc. These open source products not only provide quality solutions but also provide cost effective solutions.

Social network tools: Social networking concepts and its implementation matured over the years and it is extensively being used beyond for personal use. There are major corporations like Cisco, Deloitte, IBM uses the social network tools for better collaboration among the employees to provide effective solutions to their clients. The tools landscape in the social network media is vast and deserves a separate blog. To name a few major categories like Video, Video Aggregation, documents, events, Wiki, LiveCasting, Pictures, social bookmarks, Crowdsourced content, blog and etc. There are at least 3-4 popular tools in each of those categories. The social networking technology landscape plays a vital role in leveraging existing solutions, collaborate better among various stakeholder of the projects.

Vivek Kundra implemented few projects in DC state government as a CTO are few practical examples how social networking platform provides a foundation for a rapid cost effective solution.

Along with these key components, depends on the business requirements, there may be other commerical products like SAP, or Flex (for UI) will be part of the over all IT solution.

Software system architecture definition model

Consistency and repeatability in the architecture definition process is a must have requirement in an organization. It is like parents teaching some moral lessons to the kids. Kids will watch the parents if parents do practice what they teach them. If parents does not practice what they teach the kids, the kids are not going to buy-in to the parent’s teaching. Same situation with the architects. Architects emphasis and promote consistency, repeatability, efficiency and etc to the project team and if they do not practice those imperatives in their process and work product, it is going to be a hard sell for them.

Picture speaks more than thousand words. The above diagram illustrates a model, software system architects would follow to define the architecture blue print. The architect’s tool box are the knowledge gained through the internal process, individual experience, continuous improvement. The reference model and pattern catalog provides a framework for repeatability in the architecture definition process and in return implements those imperatives in the end product of the process. ie. software system architecture blueprint.

Software System Architecture definition process

Software System Architecture definition process defines solution blue print for a system requirement. The architecture blue print consists of various view points  of a solution. Architecture is not detail design. The blue print is a guidelines for the detail design.  It ensures all the constraints and the requirements are met before any signficant work (like detail design) is done. It is an iterative process. The blue print consists of view points like information, technology,development,deployment, functional, concurrency and etc. The different types of view point of the blue print depends on the type of systems. For instance, embedded system architecture blue print generally emphasis on concurrency,functional, deployment,technology view points and where as a financial system does not emphasis on concurrency view point.  The system architect shall decide the required view points for the system requirements.

 The blue print will be analyzed and validated from a different perspective like security, compliance and it is part of the architecture blue print validation process.