Learn to say No and You become an Yes Man

Firstly say No to SQL

These days with the popularity of No SQL / No UML and everything No which was previously Yes we are now entering the No era of things. There was a time when traditional databases moved from plain old databases to RDBMS and it was the biggest paradigm shift of that time. Now it is get away with the overhead of everything that comes with RDBMS and move towards No SQL. 

Apparently the fact remains that SQL still remains a most sought after job skill to have based on indeed.com search listings. This movement reminds one of the era when certain medicines were considered good for health are found to have lost their relevance and things moved eventually to better things. Everything big is now embracing the No SQL movement , big data, big users (massive concurrent number of users) and cloud computing.  The data that all of us collectively keep churning out simply puts RDBMS out of the picture being capable of handling that level of scale. Once you open up your web delivery mechanisms to the app world(blackberry,strawberries, apples and all the fruits out there !! ) .You could potentially hit several hundred million hits in a short span of time. Much of the data is semi-structured and unstructured which does not conform to a normal schema and much less conforming to any data model.

Why No SQL Maps fits the Cloud Model

The traditional model of scalability is put a load balancer in between commodity servers and as soon as the users reach a set limit say 10000 users route them to a new server with a routing logic at the load balancer. This works fine at the web tier but eventually when the data comes over to the database tier , being centralized and share everything would create issues and help only scale up and not scale out would be possible. This meant dynamic scalability was not possible and easy.No SQL databases were designed to be distributed and help scale out as the distributed computing needs increases.

Why JSON is becoming the standard sought after ?

When dealing with dynamic data we often encounter data which can be outside strictly of the rdbms schema model . All of us have stories of how changing a parameter within a control structure of a three tier application or rather n-tier application is rather difficult . This over a period of time was met by linked lists and key/value pairing kind of solutions which would bunch newer data in this format and send it all the way to the database. At the database layer we would then need to disassemble them into respective DAO objects and push them into the respective tables. All this is fine if the table structure itself is not changing. If the table structure has to change then it would mean that changes in the following :-

1. DAO layer                                                                                                                                      2. Schema / XML / Meta model layer.                                                                                                3. Java generated boiler plate code for the db layer.

This is developer and release nightmare if needs to be done any which way agile or non agile in the shortest time to value cycle. In such cases developer would prefer to stack up all the information across db tables in objects and prefer storing objects as they were instead of in tables the traditional way. No SQL would mean now the entire JSON objects would get stored into the database as it is and can accommodate any free format. This would ensure that you aren’t fiddling around with the current application state in a disruptive way. Not knowing if poking something here would pop up something on the other side or at times the systems fails to come up.

Secondly say No to UML

Have heard the thing that UML is a big overhead. Most often we see people sure need to know how to document using UML but prefer the white boarding technique to charting diagrams. Post running through this in their head or code it first with back of the napkin kind of approaches then finally document the hard to understand must be read before cracking the code figures being put up via UML. Some prefer calling this as AML or Arbitrary UML but there are a lot of standards that are cumming up at least at an enterprise level that indicate a less techie and more friendly to the end users / business folks kind of language. ArchieMate is a step in that direction. But again you still need UML at all costs and needs to be given its due where required. But will not be the be all and end all of artifacts documentation and most people would agree it never was in the first place. There are tools which help to get the diagram and the code in synch but again haven’t seen or heard of this practice as been followed as the done thing.

Given the No to SQL and UML I am sure there will be many more along the lines of lean code, lean organisation and lean startup and many things lean on the NO movement. Say Yes to NO where applicable and you suddenly are a most sought after person indeed the YES guy….

Enterprise Architect is a Business Man / Trader of wares

EA-businessman

Enterprise Architect is a business man meaning should understand the cost implications involved in running software enterprises end to end. He should be able to wear a BA’s hat when required translating requirements and clearing road blocks which are found at the business/IT intersections. He should be well versed with all forms of business analysis and be able to separate the grain from the husk. So an EA can be someone who progressed from a BA to an EA or became an EA via other routes. At the core of an EA’s skill set is someone who knows the business of running an application / product or an Enterprise using IT.  If you look at how EA has evolved over the years from being a core technical person to someone who bridges the gap between business and IT. 

Most EA are accountable for couple of million in the Project/Product’s outcome. So although good techies can take a product/project to a level it needs business focus to be able to focus on the results of the business outcomes. You can develop a great product using technology but the point of inflection where it meets end user needs and the market can be well understood if the business needs are well understood.

An interesting technology creation is twitter which enabled to let people talk publicly about their cats and dogs. Initially it was thought to be an useless creation having no immediate business value but it has as its core of connecting people at a scale unimaginable in history. The 140 chars is the new low and high as well.

EA should know the business side well …among other things

 

 

Open Source and EA

Open Source and EA meet and merge. The first one is obviously less cost and EA projects are spread across many man months with associated costs. Open source inherently conveys less cost or no cost. We have open source SOA tools for implementing SOA.

On Similar lines found some useful links from a linkedIn discussion group that recommends some commonly used EA tools to set up an EA practice. Archie Mate is familiar the others aren’t .

Open Source Tools for Enterprise Architecture

http://www.enterprise-architecture.org                                                 http://www.modelsphere.org/index.html                                                                   http://archimatetool.com/                                                                                               http://www.adoit-community.com

 

Every time you follow someone on LinkedIn,Twitter or FaceBook

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.

This Zen like statement sums up the people following men on the social sites of your liking. Success can be emulated be like Steve , dress like Steve , eat like Steve and finally be Steve….Can be Steve Jobs or the Steve you are following…

Nice thoughts to have….

 

Best Practices are often not obvious at first sight…

bestpracticesarenotobviousatfirstsight

 

Most often best practices are hard to follow and often questioned on the rationale behind the same. Recently I had my car serviced at the car vendor’s service outlet. Always there was a question that lingered in my mind on a card board box that gets placed at the top of the car indicating the ticket/token number indicating the car service ticket number . This is opposed to the bike service experience of mine , at the bike service station the guy attending the customer always does this by means of scribbling the number by means of a wet chalk. Used to wonder why the car guys do not follow the same thing and why do they resort to the card board box on top of the car with a number on the box. Used to think that this was something only my car vendor service team followed. More recently went to another car service station from an another car vendor. Continue reading