Tuesday, February 16, 2010

--Role of an Architect--

As explained in the earlier blogs, Architect's main role is involve inthe earlier stages of the project.

RFP Stage-
During the RFP stage, architect needs to works closely with the proposal making team. He needs to develop the proposed architecture of the system.
This proposed architecture is not the detailed architecture but it is more of strategy that acts just as guidance which is accompanied with the estimations and cost of the project.

It helps in selling to the client how will system be made. On what principles will architecture be based. It also
enables client to see how architect and team understand his problem and domain and how they want to resolve it.

It tries to sell to the customer what he is getting for depicted cost.
It shows how is some crtical scenario be met and how is NFRs be met to give comfort to the customer that
"Yes, system we make will be bale to handle 50000 concurrent users".
"Yes, system will be extendable becuause we propose to build it using best practices like SOA, Layered architecture"
"Yes, system will be be built on framework like struts etc."

To support this "yeses" there is some convicing arcguements like capacity planning which arrives at proposed deployment configuration which will meet 50000 users.


In absence of an architecture, customer only nows that his functional requirments will be some how fulfiled but how he does not know how?...

After Project is started---

SDLC

All the activities of a SDLC has been designed to remove more and more risks in the earlier stages of the project. More the risk of discovering any thing in the later stages of the project mre will the problem of it being getting resolved.
Hence, Architect needs to be invloved in the ealirer stages of the project.

Requirment Phase-

While functional team is gathering functional requirments. Architect start gathering the non-functional, non-implicit requirments and system constraint under which the system be built.He starts with most complex of use cases and tries to build a system which will satisfy that use case. In process he also lists the architecture principle on which his system will be based upon. This principles could be SOA principle, layered architecture.

He also gives arguement how each selected principle will effect the architecture and provide the necessary value-add.He also develop end-to-end components flow which will solve the chosen use-case.
Once, the system components are fixed and explained how are they solving a use-case. He explains how simlar other use cases will be satisfied by the proposed architecture.

This entire process is supported by "4+1" view Architecture modeling technique.

4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views", already explained more in previous blog.

These view are for different stakeholders of the system. Architecture by using these views explains and convinces each stakeholder that his proposed architecture meets the all aspect of the system.

So, architecture using all these views and other aspects of system convinces all the stakeholders(Developer, Project Manager, Customer and Designer) that his architecture is meeting their reqirment and how. Once, all these stakeholders are convinced they may have one-2-one with the architect for detailed discussion.

Architecture may explain to designer how to go-on with his job of expanding each module/component and design it.
He will explain to developer the how to use best-practices and framework for development.
Customers are convinced how the system is meeting their requirments
System administrator understands how the architecture(deployment) of the software is done and how do these system talk to each other.

Non functional requirements are also incorporated in the system and explained how are they being met. Exmaple using load balancer, clustering, design techniques like distributed desing.

Security is also incorporated by means of hardware and software components.

After the architecture is accepted by all stakeholders and KT is done. Architect work is more of monitroing and auditing.



2 comments:

  1. Thank you for the auspicious writeup. It in fact was a amusement
    account it. Look advanced to more added agreeable from you!
    However, how can we communicate?

    my web site - reception

    ReplyDelete
  2. I was recommended this blog by means of my cousin. I am now not sure whether or not
    this publish is written through him as nobody else realize such exact approximately my difficulty.
    You are incredible! Thanks!

    my webpage :: buffet

    ReplyDelete