Skip to main content

Software Architect vs Project Manager

Most of the organizations expect the technical role needs to play / assist team by project manager.

The project manger has to be good in technical concepts to design the application and helping the team on problem solving.

Based on my experience, in this article I have presented the important points to be focused during designing the application by project manager who is expected to play a role of an architect or work with architect:

1) Understanding end to end development life cycle:

Refer the below end to end development life cycle, the architecture stared during the requirement and matured during development.

During the requirement gathering phase the architect need to concentrate on feasibility of implementing the functional and non functional requirement. 

Need to on board few resources in to project to perform the POC for evaluating the initial design.

Create the design of the application during elaboration phase; the main point here is to create right size architecture base on project cost, schedule and scope.

2) Understand what architect does:

The architect role is limited and need to play a role within the provided constraints. The constraints are Available Software, Hardware, Infrastructure and organization process.

3) Architects manage risks and changes:

The architect needs to develop the design that has layers of components and loosely coupled (for example use the microservices).

Identify the risks expected in the project and provide the flexibility to change the design during the development phase.

The changes might be coming from business that requires changes in the architecture; the architecture should be flexible to accommodate the changes.

4) Architects communicate with stakeholders

Architect needs to communicate with stakeholders on the approach, assumptions made and support from client and organization for getting the resource and infrastructure.

Architect prepares the Software architecture document, share with the stakeholders and get the sign off from client.

5) Architects build the reusable components:

The reusability provides fewer problems, greater productivity and easier maintenance.  Architect needs to build to reusable components by refine existing components that have been used in other systems.

6) Architects influence the requirement:

Architects working in constrains like functional and non functional requirements, Resource, Schedule, Cost and Real time qualities. He needs to influence to requirement to get Maintainability, Scalability of the application in the real environment.

7) Derive the solution from business needs:

The architecture needs to support the boundary between the system and the system outside which interacts such as end user and external system. The system need to support business workflows, rules and satisfy the functional requirements.

8) Architect refines the solution based on the Technology:

The architect need to refine the solution based on the technology, for example if you are working for automobile or finance organization and they have working on Oracle SOA suit for enterprise solutions, need to make the solution based on the technology available in the client place.

Need to develop the solution using web services to make smart integration with other systems.

The conclusion is design the simple architecture which has multiple layers instead of complex architecture. 

The architecture needs be flexible to accommodate the changes and supports painless to integrate with external systems.

Comments

Popular posts from this blog

Delivering a project within budget

 Here are some tips for delivering a project within budget: Set a realistic budget Define the project's scope and necessary resources, and create a budget that's realistic. Cost estimate Segment the project into smaller tasks and milestones to plan how to use resources and provide clarity. Divide the project plan Break down the project into tasks to avoid late deliverables and over-budget projects. Monitor progress Regularly track the project's progress to identify and prevent cost overruns. Use progress reports to compare actual costs to the budget. Anticipate and revise changes Communicate with stakeholders to identify and assess risks, and assign owners to each risk. Consider different scenarios Estimation can be difficult for complex projects with many potential outcomes. Tracking: Tracking time spent on tasks, Tracking expenses per project, and Using project management software. Use Historical Data Your project is likely not the first to try and accomplish a specific o...

Certified Enterprise Architect Professional (CEAP) - Module 5 - Architecture Frameworks

Architecture Frameworks: An Architecture Framework is a theoretical structure that has the purpose of developing, executing, and maintaining an Enterprise Architecture. Advantages of EA framework: Simplify Breaks down areas of the business process Organise business components and create and identify relationships between business Determine the scope Customization in the existing framework Disadvantages of EA framework: Need to follow process Provides only direction and not information It's based on goal and objective Need creativity and proactive thinking Zachman Framework: The Zachman Framework is a widely used model in Enterprise Architecture (EA) that provides a structured way to classify and organize an organization's information infrastructure by defining different perspectives from various stakeholders, allowing for a holistic view of the enterprise and facilitating alignment between business needs and technology solutions; essentially acting as a template to organize arc...

Bucket System project estimation

 The Bucket System is an Agile estimation technique that uses predefined buckets to group tasks or user stories by size, complexity, or effort.  Each bucket represents an estimate range, such as small, medium, or large.  The Bucket System is a group activity that helps align the team's understanding of work effort and complexity.  It's a good technique for quickly estimating a large number of items with a medium to large group of people. The effort of small, medium, or large bucket size arrived by team based on T-shirt sizing, PERT estimation or Planning Poker. Each bucket represents a level or an estimate range (e.g., small, medium, large). The team compares user stories to one another and places them into the appropriate buckets. This process is a group activity, promoting discussions and aligning the team's understanding of work complexity and effort. To use the Bucket System: Set up a row of cards, or buckets, with values in the Fibonacci sequence or other metho...