Twelve-factor app, introduced by Heroku, became a popular reference as principles in building cloud-native or software-as-a-service (SaaS) applications. As a software architect, awareness is an important aspect so that you can effectively apply new patterns or methodologies to make successful applications. Use these 3 Tricks / Steps when you are designing or refactoring the applications. 1. Get to the basics The first step is to ensure that you understand all…
Read MoreIntroduction to Software Architecture
If you are starting your journey as a software architect, getting to know the fundamentals of software architecture as per industry standard (IEEE 42010) is the first step. This slide deck is an effort to unpack the IEEE definition of Software Architecture & provide the guidance and recommendation to make your journey easier. Refer to post on Logical Architecture & Physical Architecture for further details on creating effective architectural artifacts.…
Read MoreTop 10 Tools You Should Know For Software Architecture and Design Diagrams
As a software architect, the future or current state of architecture and design need to be well-documented to align key stakeholders (developers, architects, security team, business team, product team, etc.). Architecture modeling and related tools provide the efficiency to create different views of architecture based on stakeholders needs and choosing the right tool is an essential ingredient for this purpose. This article outlines the standards and top 10 tools you…
Read MoreStandards and Guidelines for Software Architecture
As a software architect, it is important to understand available industry standards to increase your breadth of knowledge and apply the best practices available. Software architecture standards and guidelines have been represented as four different areas: #1 – Software Architecture Definition IEEE 42010 Systems and software engineering IEEE is a professional organization that develops global standards across industries including Information Technology. They have defined a standard for defining software architecture…
Read MoreUnderstanding Digital Business Transformation is key for an informed Architect
Digital business transformation. A buzz word heavily used now a days, however it means different things for different organizations. Many organizations are either in the middle of a digital transformation, are planning a digital transformation or are struggling with a digital transformation. Digital Transformation can be defined as: “Digital transformation marks a radical rethinking of how an organization uses technology, people and processes to fundamentally change business performance” says George…
Read More5 Steps for AWS Solutions Architect Associate Certification
AWS has launched new version of AWS Certified Solutions Architect – Associate SAA-C02) in March 2020 and based on my journey of getting certified, would like to share my experience to make you successful. Here are 5 steps for AWS Certified Solutions Architect certification you can follow to make sure your journey also results in success: Step 1 – Complete an online course to cover broader AWS services Below mentioned…
Read More5 Tips On Creating Effective Physical/Deployment Architecture For Cloud
In continuation with our series on empowering seasoned developers to be successful & informed software architects, this blog’s focus is on creating an effective physical architecture diagram. Read the previous blog on creating an effective logical architecture by clicking here. As simple definition of physical architecture (also known as deployment architecture) is: Physical Architecture defines the layout of components & system elements (as deployable units) in the context of system…
Read More5 Tips for Creating Effective Logical Architecture
A logical architecture helps to visualize and communicate the application’s logical & functional components and depicts future state of the architecture meeting business requirements. A software architect often comes up with a logical architecture as an artifact during the architecture definition phase, which gets documented as part of software architecture document. At a later stage, logical architecture becomes an input to create physical architecture and also serves the following purpose:…
Read MoreCreate Class Diagram in 6 Simple Steps
A class diagram is an important UML artifact in object-oriented programming & describes the structure of system under design along with relationships among other classes. Step 1 – Download UML Modeling Tool There are various open-source or free UML modeling tools available. We have used ArguUML, which supports UML version 1.4 (don’t worry about UML Version – Class diagrams have been supported for a very long time). Link to download: http://argouml.tigris.org/ Step…
Read MoreJourney from a software developer to a software architect
As a developer, there are many challenges and you solve them by applying many techniques such as refactoring, multi-threading, optimization for performance, transaction management, coding rules compliance, etc. As a developer, if you aspire to become a software architect, you need to carve out the journey and create a milestones-based plan towards developing the broader skill sets. We define AJP (Architect Journey Path) for a developer so that you don’t get…
Read More