Don’t you want to be a data scientist, architect, painter, lead guitarist at a music band all at the same time?

 

As IT professional’s architects it is said that we belong to more left brain types meaning involved in logical, data focused, critical thinkers and as we progress we are supposed to develop our right brain as well. As IT professional’s architects it is said that we belong to more left brain types meaning involved in logical, data focused, critical thinkers and as we progress we are supposed to develop our right brain as well.

Creational side versus (right )  the Operational side (left )

In the initial stages of your career we are mostly left brained but as we progress up we are supposed to use both the sides of the brain well as jobs that need us to look at the holistic big picture expects us to be both right and left brain oriented. As technologists we tend to become caught up with data, numbers, facts and figures and not perhaps creativity, intuition, feeling and over all visualization capabilities. As architects and IT professionals’ people come in various shades of these polarizations. No one is either totally left or totally right brained for that matter. There are always shades of grey when we talk about the gray matter. As IT professionals we need both of them in good measure when we need to don different kinds of roles. When we are deep down with the nuts and bolts architecture we need to exercise the left brain where there is a lot of data and analytical reasoning and logical analysis needed to arrive at solutions. But when we need to go visualizing how the whole solution fits into an enterprise standpoint or from a business standpoint in the ecosystem then the right brain which is good at leadings us into imagination can helps us with those kinds of situations. As it is said as an architect it is good to fail on paper than on practice. So the more you can fail on a blueprint or a prototype you would have saved yourself from failing in actual where the time money and dollars cost is higher.

As senior IT professional we often times need to shift across these patterns where we need to be focused on the things that matter now (nitty gritty) versus the things that really matter in the long run (big picture). You definitely need to focus and defocus at the same time. This needs practice, practice and following up on your skills.

Need a Mix and Match of skills: Need to look at the market fit, big picture, vision, mission and product viability versus need to look at whether we as a team have the skills to match the requirements are we aligned in the right direction are we able to sift through a lot of data and look and find patterns that are hidden in them. Which runtime to pick against the other, which middleware to choose from the other and which ones are cost effective and also future proof at the same time. Complex processing decisions that the brain needs to factor which needs that you need to up your game to be able to see things from that perspective.

Some quick hacks that people have used to shape your two sides of the brain.

1. Talking to random people outside your sphere or area or interest.

2. Meditate ( Clicked but very effective )

3. Try writing with both hands ( looks childish but many vouch for this )

4. Spend time with all age groups more so with people outside of your age group.

5. Listen to music, art, walks alongside nature and pieces of history.

6. Have quite of few of my friends pursuing different areas of interest completely orthogonal to their existing vocation such as makeup artist , drummer on the side , food truck business , rose cultivator etc etc.

7. Go find your bliss to be more effective.

Skills for the Digital Age – Are you ready ?

Quite often get this query from most IT professionals as to what areas should I upgrade my skills to.

The concern is genuine and needs a good well thought out plan to understand where one needs to focus his/her energies in meeting up to the challenge. Here is a list of some industry rattlers which are indicative of how and where one needs to focus their energies on.  Have listed them in no specific order. All of these shall be indicative of what skills IT professionals need to focus on and have them in their kitty.

Target Corporation laid off large numbers of project managers, due to “… transition to an agile operating model

University of California-Berkeley has replaced its “Project Management” course with “Product Management”

Security compliance in the architecture is no longer about following OWASP rules it is about adhering to GRC standards.

SOA giving way to Micro Services although Services Oriented Architecture still relevant where there is a definitive business case of legacy forming a major part of your architecture.

ACID way of transaction management giving rise to BASE models. High scalability and high availability are the nature of systems now and transaction management needs to address this concern quite well in the architectures. Internet is the second home for all of the world which spends most of its time transacting, communicating, and having fun or plain simple being there. It better be fast. Need for high scalability and availability engineers.

Virtualization is giving way to Containers where you are trying to extract memory and processing power to the last grain. All container architects, API architects the new high in the virtualization world.

Projects success measured based on business goals not project or technology outcomes. Customer experience is key to everything now as there are better products out there that understand the customer. Context sensitive

Earlier it was about where the box came from ( meaning which vendor made the hardware ) now with distributed computing and grid computing in place where commodity hardware can be used it is all about the Cloud. Moving from CAPEX to OPEX. Significant need for cloud engineers from who know how to design, deploy, cloud services one vendor from the other.

Knowledge management earlier just meant storing code and documents alone for a companies. Now it is about getting your artifacts pegged in the industry context and also observing and keeping in pace with your IT ecosystem. Now it is about taking care of your ecosystem. It is learning from your ecosystem and continuously improving upon that knowledge base. Companies cannot live in isolation.

Your last mile of delivery would take all the time and now has a silver bullet in the form of DevOps. The quicker you move the easier it is to deliver on teething problems. What is the balance here from things cannot be built that quickly and need a slow calculated approach especially while dealing with legacy.

Where MVP does makes sense and where does Value Chain Analysis have an impact? What is the right mix to balance these opposing concerns of getting fast versus managing the bread and butter.

Business Architecture is taking precedence among other things and technology is being used as a true leverage. IT would earlier mask a business problem and solve the business problem using an IT solution instead of truly solving the business problem.

AI, Predictive Analytics, Machine Learning are going to transform and get context of everything around you will be important. It is not going to be IOT alone it shall be Internet of Everything. Learning from systems is going to be replaced with deep integrated learning where a business process shall be examined at an algorithm level and patterns studied and inferred to allow for ease of business.

Product lead times are a matter of months instead of being a market leader for a few years.

Cost of creating anything is nothing. You have technology at your disposal where everything is available at a fraction of the cost of the old world. Old world you need a business man to start the innovation chain and has the execution engineers at the other end of the value chain. Now everything can start from the engineer who can execute on an idea. In every industry the middleman is getting eliminated block chain, currency exchange, car rentals, hotel booking etal. Is your product or solution along such threat paths if so what are you doing? All industries are being challenged by someone outside of the industry. Every couple of months there is a new normal.

Everything shall be used and consumed like electricity and water are you ready for that. APIs are going to the backbone of every product and solution which needs to be ready for create on demand as needed. Services shall help achieve this. Services all the way is the way forward. On demand pay as you use no upfront payment. So ensure that the product that you create is available on these lines.

Innovation does not happen to be a top down approach it has to be institutionalized. Cisco has an average of 2 patents filed every week. Infosys has a design thinking initiative to spearhead innovative thinking amongst its workforce and this helped the company service its customers better.

Cost savings in plugging a security infrastructure far outweighs the cost incurred by the banks to counter breaches. This one makes knowing security skills of importance in the current economy. Security experts and security as a practice professionals are in demand

Unless you can understand your customer’s context you cannot serve him/her well. Do you know his context enough? Do you have the right tools to capture a customer’s journey or touch points to be able to add value to his experience? The same offering by two vendors will be appreciated by the one with superior experience. The vendor lacking this quality shall be outpaced.

Teams work in silos giving way to cross functional /self-sufficient teams and teams where there are no individual parts it is all part of one machinery. SDET (Engineer / tester rolled into one) is the new norm for teams to be self-sufficient.

Automation is taking up all the jobs are your skills not automatable? Automate things that can be used to spend more time on initiatives that can serve the customer better. The future would be a man machine world where bots listen to men. Exceptions would Facebook bots devised a new language, rise of the machines and so on. Being human is not going out of fashion as well. So be the best human you can be out there.

Entrepreneurship is being encouraged within companies to be entrepreneurs within the ecosystem. Many companies have their units spun off like startups, lean and mean and this trend is on the high in many companies.

All said and done change is all around, are we ready with the skills needed for the new economy? The above pointers are indicative of the disruptive nature of changes around and IT professionals need to skill, reskill and enhance their abilities based on their aptitude and interest levels.

 

Systems Thinking and Togaf how can EA help ?

There are many a times when you went to give your cell phone for a repair and the company just charged you for fixing an issue with the UI but opened up a whole new issue of now the battery drains faster.

We shall look at Systems Thinking and why is it important for Senior IT professionals and architects.

Basic Tenets of Systems Thinking :

Improving the performance of the parts of a system taken separately will not necessarily improve the performance of the whole; in fact, it may harm the whole.
Problems are not disciplinary in nature but are holistic.
The best thing that can be done to a problem is not to solve it but to dissolve it.

We should look at systems as a whole as opposed to solving problems in bits and pieces. It is also about defining the problem as many a times if the problem definition
is not correct then we end up solving the wrong problem. In any enterprise product or solution we need to understand the issue that the system has many perspectives to it
many norms / rules that apply to them and we need to see how the problem manifests in its entirety and not in isolation.

For Example if a man wants to be healthy and loose weight get him to a treadmill is an easy reply. But if you need to see how he wants to really loose weight the healthy
way then we need to checks his DNA for obesity issues, health checks , his food habits , his neighborhood, work life patterns and how all of this in its interplay helps him to loose weight
holistically.This is what gets ignored in traditional symptomatic treatment of issues usually achieved by procedural thinking.

On the same lines when you need to look at the architecture of a product or a solution then we need to look at it as a whole and not in parts.

Architecture has many dimensions enterprise , business , data , application , technology . Viewed from an other perspective it has a logical and physical part to it such as abstract and concrete , logical and physical , generic to specific , expandable to bespoke architects , highly portable to built for a specific platform . The list goes on….

Amidst all of these conflicting stakes what is the best way to look at your architecture as a whole by look at the parts in relation with the whole. Togaf as an EA framework helps you on thinking
these lines on how various architectural concerns make up one big picture.

An EA framework helps you to compartmentalize the concerns while being focussed on the organizational end goal. This way you can look at the whole while tending to the parts.

A logging framework needs to enhance the performance and decides to encrypt the data on the wire but performance can be compromised if the tradeoffs are not looked at.
A product where user experience is made more intutive but not has the issue of maintainence overheads which are highly unfavorable.
A product that works well but does not have enough market traction or rather does not promise customer experience.

The laundry list can go on if you do not think on Systems Thinking as a means to fix this.

What is your experience here on such situations where you had to look at the product or solution as a whole.

PS : “There are no separate systems. The world is a continuum. Where to draw a boundary around a system depends on the purpose of the discussion.” ― Donella H. Meadows

Go Blue Green with your deployments

Wanted to introduce an agile architecture tip here.

People talk of agility all the while but a lot of best practices need to support agile such as all the things that devops brings to the table such as CD/CI and everything continuous. This means that there should be an ability to deploy code into production going through dev / test / pre prod / prod and everything in between that you can plan for releases in a product or solution. Unless an organization pays complete attention to getting the CI / CD practices upto date there can be no real agility as it is known the last mile in development is the place where the code gets pushed into production and there are many challenges right from developers saying the code works fine on our machines to the QA team and system test people having another opinion. Continuous development , continuous integration and continuous deployment makes all of this possible as it is quite possible to push code into production from development environments .

For agile practices like these you could use green blue deployments techniques. A little about the green blue technique

, it involves maintaining two environments one green and the blue environment where the exact production like environment is maintained end to end from the web server / app server , operating system and the database. This quite difficult to achieve end to end . So organizations make do with getting either the web server  / app server replicated and have a common database. In that case using a router in between the traffic is routed to either the blue server or the green server.

ROUTER – —-> (test.sampletrail.com) > Blue Server ( let’s say this is the main server )

ROUTER ——> Establish temporary connectivity with the Green Server ( Standby server in case the main server goes down )

When you need to divert traffic to the green which has the latest code and patches while blue has the old code and server status. The blue can still be considered as the fall back server in case the green server gives up and is not able to handle the traffic and if found unsuitable or not stable. This option gives organizations the confidence to keep the system up and running and as they say is one of the ways in which the lights can be kept on. This is most often used in many RFC and RFPs from clients

There can be many edge cases there such as while the transition is happening to the green and then back to the blue what about the transactions that get posted via the green. If the database is unified then the challenges in this not wrecking the system can be limited based on the code in the application logic. But it is implied that the design level changes are taken care, to rollback or reconcile such transaction postings by means of application logic.

When the transition is happening only read only transactions are possible to ensure there is minimum changes to the consistency of the system. You can have this setup in a virtualized setup on the same physical machine or different machines.

Always keep the option of toggling between the blue green states so that it ensures complete flexibility in trying out quite and application patches with a lot of agility.

What are such practices that you use currently or want to be updated on do let me know ?

References :
https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html
https://aws.amazon.com/blogs/compute/bluegreen-deployments-with-amazon-ecs/
https://martinfowler.com/bliki/BlueGreenDeployment.html

Success today requires the agility and drive to constantly rethink, reinvigorate, react, and reinvent. – Bill Gates

Picture Courtesy : Cloud Foundry blog

The Buzz about Togaf as an essential Transformation Framework tool kit for Architects

 

 

 

 

 

Just saw the above job ad from my linkedin feed and this one talks about the company needing a security with a T skill profile.  Meaning have deep dive skills in one or two areas and broad based skills in other areas. Togaf that way has been mixed and matched with other architect skills like Security , Infra , Business , Data , Domain , Functional , Technology architecture domains. This helps a professional have a broad based skill or outlook when they reach a certain career progression path. So one typically gets into the question of what is needed to be an architect . Here is a link on what would be needed to become a good architect for the ones who may want to make that career progression. Steps to transition into an architect path .

The ancient definition of an architect was that he/she should be a many of letters , arts , science , literature , music , architecture ( building / landscape ) etc. Meaning that you should be a Da Vinci to really have that title. But it is not that bad if you are planning to become a solution , IT or enterprise architect. As we all can’t be Da Vinci’s to fill that slot.

Kiran , so if you are wanting to make that transition happen or be exposed to that body of knowledge to help you with having an architect’s mindset then Togaf comes to the rescue.

Mind you it is not really needed to have a certification to become a good architect. But certifications expose one to a body of knowledge that companies and peers value. You may possess this knowledge by virtue of being in a certain role or vantage point in a company.

Every skill you acquire doubles your odds of success. Scott Adams