Success of a masterpiece depends up on how it is architected. Any artifact and event need to be architected to take care of its fundamental and advanced need. Information Technology is more familiar with the word product architecture that project architecture. In some cases project architecture is used in case of product architecture considering that both is same.
We all know that Software product needs an architect but can we architect a Software project? Architecting a software product involves designing the product to be scalable, reliable and maintainable product. Who is responsible for cost effectively executing the project? Who will control the changes coming in the project? Who is responsible for overall execution?. Who will ensure that the client got the right product? How will we give value added idea to run the business of the client? Who will control the scope of the project?
This article defines a role for architecting a project that is the answer for all the above concerns.
Role of a project architect
One of the major reasons for the failure of a million dollar project is the lack of execution maturity. There are lots of maturity models/patterns available in the industry. CMM, CMMI, PCMM, RUP and Six Sigma are some of the industrially accepted standards. All of this standards defines the processes followed in the project, but does not hold with the dynamics of the projects, means the strategy of execution. Execution is different in different projects but it involves a common doctrine.
Every project except software project has defined a role called project architect. In software it is categorized separately as technical architect and that person will be only responsible for giving technical direction. Project manager will be overwhelmed by other responsibilities like Scheduling, Man management, Status Reporting and that role may not have bandwidth to think about execution.
Appropriate execution defines a need for defining a new role in the project called project architect. Project architect is the architect of project execution Project architect over sees the project in a detailed manner and understands nitty-gritty of the project and decided the course of action of the project. Project architect keeps a different perspective of project activities than a project manager. When project manager works on giving a workable environment for the team and track the schedule to identify any slippage, project architect work on taking the right decision or action in the project by closely analyzing the cost incurred in the project.
Project Architect should help project manager to understand what type of resources for what functionality is required. What is the grey area in the project? Which all areas we need commitment from customer. What is the root cause for an issue? Usually these areas are always handled by project manager along with other responsibilities and in turn giving a very secondary importance to the critical aspects of the project. By introducing project architect for this role, we are isolating and handling the most important and critical aspect of a project called project execution.
Responsibilities of a Project Architect
Project architect is responsible for the execution of the project. Project Architect should know each and every detail in the project. Below are the defined responsibilities of a project architect
Project manager can track cost and report the management when te cost is going above the expected limits. If a person has to architect the project in a cost effective manner for, he or she should know each and ever details of the project. If the project manager is spending time on that then the project will get executed in an uncontrolled manner. Considering project manager on this role is devastating.
Responsibilities of other roles in the Project
Account Manager is responsible for stabilizing the account through effective client interaction Account Manager spends more time on the critical project with the project manager. He or She works above the hierarchy reporting the issues to the senior management.
Project Manager is the owner of the project. Project Manager works with the support group for giving the environment for people to work and motivating the people. Project Manager is responsible for schedule tracking, procurement management, quality management, risk management, resource management etc.
Responsible for making sure the project follows the right model. Responsible for deliverables of the project. Project Leader leads the team down the hierarchy working more with the team. Focus more on the critical path of the project. Project Leader is responsible for maintaining the quality of the product.
Technical Leader/Technical Architect:
Responsible for the design of the individual modules and owns the code devolved in the project. Technical Architect is responsible for taking the technical decision, creating a development habit among team members like good coding habits, enforcing the use of appropriate technology etc.
Architecting a Software Project.
Project Architect should know the requirements in detail, technical challenges, and dependencies with other departments before identifying the path of execution. With the mentioned details, project architect should be capable of judging the scope creep, critical path, most profitable path and resource utilization with in the project.
Project Architect need to be very diligent in watching the scope creep in the project. Scope Creep usually comes in the form of requirement changes. Change can come in any of the following ways.
1) Request not captured properly which creates a dilemma on whether it is change request or not.
2) Identifying the gaps in the project and removing it in the course of time. This is the toughest part of the project. Project architect can proactively take steps to reduce the gaps but removing it completely may not be possible.
3) Introducing new requirement to the project with out following proper Change Control Mechanism. Change requests are one of the profitable sources in a project. It need to be managed properly
Issue tracking through execution
We can only control the bugs/issues by proper execution but we cannot stop it completely. The important thing is to have a tracking mechanism. When an issue occur, the project manager increases the number of resources thinking that there is no efficient way to solve the problem other than increasing the hours. At that time there is no right person to identify the root cause of the problem. Project architect should own these issues in the project. Execution is not giving pat in the back of the people. Execution is not building a process and blindly following that. Execution is identifying the right process by properly analyzing the project and following it in a proper manner.
Reactive and Proactive approach for the project.
Project architect is a doer not a talker. Project architect is not only a problem solver but a person who avoids problem. By defining a role as project architect, we are introducing a person to be responsible for all the proactive and reactive aspects of the project. Project architect will own the executive decision of the project and identify way to tackle in the right way. Usually we define project leader as person to do things right and project manager to do right things. In a bigger perspective person who can do things right can only do right things. So defining a role called project architect, we are introducing a role just to do things right and right things in a project.
Over 7 years of IT development and management experience. Managed many mission critical projects successfully. Working as an architect/manager in one of the leading outsourcing company in Southern California.