Selasa, 28 Desember 2010

The changing nature of Enterprise Architecture

I wonder if anyone else has noticed, that enterprise architecture is becoming a lot more tactical lately...



In the past, I enjoyed working on projects that brought new capabilities to the business and where innovation was demanded. Nowadays, the most innovative thought I may have is what color to use in my Visio diagrams. With that being said, those who are futurists and thought leaders need to adjust their thinking to be relevant in a world of tactical actions.

The new priorities for 2011 for many Enterprise Architects feel less like Cloud, Social Media or any of the technologies used by the cool kids, but will feel more like:
  • Optimization of current portfolio The ability to harness existing legacy code and improve it cheaply is on the radar with the notion of refactoring moving away from being just something a developer does without EA input to actually becoming an EA strategy. More importantly, if you have legacy languages in your portfolio, this most certainly won't be the year where you will get to rip and replace them.

  • Cost Reduction IT at large are pressured to do more with less. Initiating programs that look at cost reductions will be a major property for architects. You will find more "governance" being placed on things that in the past that wouldn't have been considered.

  • Compliance – Around the world new regulations will emerge to control all aspects of how enterprises run their business. The financial crisis has proven that a large majority of insurance companies, banks, automobile manufacturers and those on Wall Street weren't capable of governing themselves. Compliance projects are a gift to the enterprise architecture community since they tend to be done in a manner that takes less shortcuts and can serve as reference models for how projects should be executed.

  • Customer - The definition of customer is changing again or should I say reverting back to a less mature definition that relies more on internal focus. External customers see technologies such as mobile, web 2.0 and social media but since we have concluded they are not on our radar, our shift goes towards the internal customer demand and will focus on pent up needs around data warehousing and business intelligence and increased reporting needs.


Senin, 27 Desember 2010

Thoughts on Capitalism 2.0

In my dad's generation, capitalism was viewed as a good thing. Corporations created local jobs and acknowledged their fiduciary duty to take care of the community in which they reside. Fast forward to 2010, why is capitalism now a bad word?



My wife and I frequently shop at a Halal meat shop in Windsor as I love the Midimar breakfast meats. Anyway, no matter where I travel, the meat is always the same price. In the religion of Islam, food vendors are prohibited from price gouging and/or charging inflated rates. There is community agreement on what is fair and reasonable in terms of markup and everyone abides by the same rules.

In Islam, they have acknowledged that the basic necessities of food and clothing need to be affordable to all and not just a select few. A person starting a business can be guaranteed of making a reasonable profit and customers can expect to always pay a reasonable price. In this form of capitalism, society as a whole benefits.



What would happen if corporate boards of directors weren't solely focused on profit margins but also how the company gave back to the community? Establishing goodwill does more to create brand than spending millions of dollars. Does your current employer have an employee dedicated to dolling out company charity? Should it?

Consider for a moment the differences between say Starbucks and Accenture. Both have green initiatives but one views it as a goal that can be tampered with at any time while the other views it as an unmovable commitment. Is there anything less green than using hundreds of thousands of gallons of jetplane fuel to fly its consultants all over the globe on a weekly basis?

Accenture has more influence than it thinks and could easily convince its customers to consider telecommuting but it chooses not to push/encourage the issue. Instead, it has a savage mindset that its consultants should only care about the well being of the client and everything else is secondary. Is this is what capitalism is all about?

I remember in college that the definition of capitalism was to make society better. This isn't about profits alone but about better products, lifestyle and innovation. I am a Republican yet I voted for Obama. I believe he is attempting to not bring socialism to America but to return the notion of humanity as an ingredient to capitalism back.

If we continue to make decisions without the human element, society as a whole will suffer. We need new ideas in order to make us better and the infectious corporate greed mindset can only take us so far...

Sabtu, 25 Desember 2010

2011 New Years Resolution

This week, I was contacted by not one but four different IT professionals who shared with me the fact that they read my blog and took actions on my recommendations...



All four people decided to quit their jobs and did so without having something already lined up. They all were burnt out and frustrated with performing tiring meaningless work and felt over time that they somehow lost themselves along the way. We all know that many employers are exploiting the fact that the job market is suboptimal and putting pressure on employees to work longer hours which translates into spending less time with their family.

When I departed The Hartford, I had the opportunity to do something meaningful but somehow ended up in a situation that doesn't capitalize on my strengths nor affords me the opportunity to spend more time with my family.

Everyone draws the line of work/life balance differently where some are OK with seeing their children on the weekends which works fine for them, while for others, think that they are OK as long as they can tuck their children into bed at night. For me, my children are my life and I choose to draw my line not by hour many hours I am at work, but more along the lines of how many hours am I away from them.

Each of these four people have decided they needed to find themselves and interact with their children not only more but more deeply. Somehow they have managed to take my advice and apply it to their own daily life while for me it becomes even more elusive. So, in 2011, I am committing to visit more school plays and after school games and will be savage towards those who threaten this precious time.



It has been four months since starting my new job and I also discovered something I didn't like about myself. I realized that being charitable has somehow left my vocabulary. As an employee of The Hartford, we were granted time to perform charitable community acts. Now as an employee of a consulting firm, everything is about billable time and the opportunity to help people in need during the day has been taken away.

Sure, I can rectify the gift of charity by simply throwing money at the problem, but charity is meant to be more personal, more human. One of the people who quit stated that she would be spending time in Africa helping abused girls learn English. Another would be helping build homes in Central America. They are using their time on this planet not just to make money, but to touch the life's of people less fortunate. I have to figure out how to get back something I have lost.

In the meantime, I am starting my own charity which will help kids who are being bullied to defend themselves. I am working with a few Sensei's in the area to help provide martial arts instructions to kids who otherwise can't afford.



My third and final resolution is to live more green. In living green, this doesn't necessarily translate into having more green products and can simply mean having less products. This week, I decided to eat poor people's food and was able to make an entire week's of grocery for $60.

Did you know that many of the Indian outsourcing firms who send their employees to the United States get a stipend of only $80 to $100 a day? That works out to $36,000 a year! More importantly, people from these firms actually manage to save a lot of money and generally are more happier than their American counterparts.

As an American, I am embarrassed with how much waste and greed is baked into everything we do. I am committed to living with less going forward...


Are you a savage in pursuit of happiness?

As a student and servant of the Hip Hop Nation, many rap songs speak of the phrase being a savage in pursuit of happiness. While I won't go into the origins of this phrase, I will break down its meaning for others to understand as it is just as applicable to the minimalist B-Boy on the corner as it to the CIO who destroys American jobs by outsourcing to India. As Chuck D of Public Enemy once said, They praise the music, it's time to play the lyrics...



Let me first clarify that I do not believe that money in and of itself is evil. To accumulate wealth is not an evil thing. There is no great virtue in pursuing poverty for poverty’s sake. There were many wealthy men in the Bible…Abraham was very rich. Solomon by modern day standards was probably a billionaire. It is our attitude toward money that gets us into trouble. Money is not the root of all evil, it is the LOVE of money that is the root of all evil.

Let's back up this statement by looking a few facts:
  • The average family usually spends about $750.00 on Christmas gifts.The average American family makes payments on 13 credit cards and has $5800 in month to month debt. Approximately 40% of American families spend more than they earn.
  • The average American individual owes over $15,000 in credit card debt.
  • The debt of the American government is about $14 trillion. In order to pay off this debt every individual in America would have to shell out $44,000. It looks like we have money problems at every level.
Did you know that every single holy book also talks about the same concept and has predicted the downfall of the American society. I could include quotes from the Quran and the Veda's in a future update, but for now will stick with the bible. Here are a few verses for you to noodle:

  • James, author of the epistle of the same name, summed up quite well what is wrong with modern society. “You want something but don’t get it. You kill and covet, but you cannot have what you want. You quarrel and fight. You do not have, because you do not ask God” – James 4:2.
The mess we find ourselves in can pretty much be traced to greed and covetousness. Is profit margin the only conversation in your workplace? When was the last time people at work all laughed together? Corporations exist to make money but they too have other goals (at least the ones that will survive long-term do).

During a recent fire drill, I was first out the building. I know that I need to survive in order to take care of financially my two sons. My behavior however was starkly different than my peers. Others wanted to save material things such as laptops, cellphones, etc. Kinda ironic in that I just got a cell phone three weeks ago, already lost it and got another one which would have been the last thing for me to think about saving. We are deceived when we think we need the insignificant things in life.

  • Col. 3:2 “Set your affection on things above, not on things on the earth.”
Money makes the false claim: “I can make you happy.” We all claim that money can’t bring us happiness but if we look at our check stubs, do we really live like that? What would happen if you were to not talk about money at annual review time and instead set the expectation that you wanted to have more time to spend with your kids? Money has been commoditized and if you truly believe you are valuable then ask for something that has more value than money.

There is no correlation between money and happiness. In fact, more money may bring unhappiness. The more money you have the more time you’ve invested. Money comes and goes. Time is something lost forever. You may think, if only I made $150,000/year. But then you would want to make $175,000. If you made $1 million you would want to make $2 million.

Dissatisfaction is a plague that comes with money. We believe the lie of unredeemed money when it tells us that we will be happy if only we keep up with the Joneses. On too many occasions, you will fall into the trap of indexing where you will be encouraged to compare yourself to others. Over time, this will create negative feelings inside you. Don't let yourself be compared. You are an individual, not a human resource which is a commodity.

Happiness based on external things is no happiness at all. Happiness comes from within. For those who are Christians, God’s presence living within causes them to be content in whatever circumstance they find themselves in.

People who look for the abundant life in their money and possessions never find true satisfaction.
Why do we set our affections on the creation rather than the Creator? God alone owns the world. The cattle on a thousand hills are His (Psalm 50:10). He alone can supply our every need (Philippians 4:19). There is no security in any plan which denies God as Lord of our lives and of all that we possess.

Money will make you happy? Don’t believe it. It provides a temporary pleasure like all the other ‘stuff’ in life. True happiness can only be found in a higher, transcendent One.

Kamis, 23 Desember 2010

Ways to eliminate expensive IT workers...

For many employers, man hours per payroll dollar is considered more important than having experienced and dedicated people around...



It seems to be the goal of leadershipmanagement in many industries to turn as many jobs as possible into commodity positions, in which workers can be fired with little recourse, outsourced easily, and for which there is a large labor pool. This is especially true for those corporations foolish enough to craft defined-benefit plans back in the days where outsourcing wasn't an option.

Below are a few approaches used by large enterprises in order to accomplish their goal:

  • Simply fire them. The courts have long ruled that employers may legally make layoff decisions based on salary; even if it causes a disparate impact on a particular age group (such as older workers).
  • To discourage disabled workers, workers with medical conditions, etc, simply make working conditions physically rigorous. Virtually any facility has boxes that need to be moved, and other manual tasks--make that part of everybody's job description.
  • Likewise, older workers should be discouraged--higher healthcare costs, and they are more likely to not buy the company line. Make it clear that age and/or experience doesn't get you a raise--however, raises for older workers can be advantageous because it gives you an excuse to fire them (see above).
  • Have a family-unfriendly workplace. Families are bad things to allow employees to have. For one thing, families tend to object when workers donate countless hours of unpaid overtime to the company
  • Create a Fear Culture and widely publish a termination quota. Make sure employees know that if they seek better working conditions they are sissies; if they don't pull their 70+ hours then they are stealing from the company.
  • Unless looking for potential management material; try to find employees who aren't assertive. The type who got beaten up in high school are great candidates, they'll likely not object when asked to come in on Sundays, too.
  • Craft schedules so every project is always behind. Crisis can be an excellent motivational tool; especially when you can point to the schedule and show the team that it's THEIR fault they are late, and THEIR responsibility to meet the artificial deadline.
  • Have generous (on the surface) vacation packages to lure people in, but have a "use it or lose it" policy. Make sure that employees are so busy they can never use it, and must always lose it. Accrual of vacation is a bad thing--it's debt on your books, and employees might think they can save it up and cash it in at a higher rate of pay than when they earned it.


Selasa, 14 Desember 2010

2010: State of Enterprise IT

As we close out this year, let's take time to reflect on the state of Enterprise IT...



When compared to twenty years ago:
  • Developers no longer buy books in order to improve their craft and instead look for tactical answers via Google.
  • CIOs don't believe that sending developers for training is important and instead prefer for them to learn while writing production enterprise applications.
  • We have learned that there are better ways to develop software, yet somehow we always find ourselves returning to waterfall.
  • We have more PMP-certified project managers than any other point in history yet IT projects still continue to be late, over budget and/or of poor quality
  • We actually encourage the masses of IT employees to not know anything about code or other technical topics. In fact, not knowing IT helps one's career thrive.
  • There are more people in IT simply because it pays well and not because they are personally interested
  • Information systems continue to get breached. Instead of teaching developers of enterprise applications how to write secure code, we prefer to have auditors with accounting backgrounds run around with checklists hoping to improve security
  • Our desks are much cleaner, thanks to auditors who find it more important that we have a clean desk policy and that our number two pencils are sharpened rather than ensuring that people have the right competencies at each stage of the SDLC
  • We can't even get agreement on how applications should work with our infrastructure and constantly haggle with the guys downstairs yet we think that offshoring nine timezones away will result in a better outcome
  • We have a lot more people with the title of Architect but few of them actually know anything about architecture. They all happen to be really good at Powerpoint though.
  • We have a process for almost everything and if we don't, we have a metaprocess for creating future processes.
  • Our data centers are filled with lots of servers. In some shops, there are more servers than employees.
  • IBM used to be top consulting dog but are now being displaced by the likes of Accenture, a firm that is best known for suing its parent.
  • We used to be able to write enterprise applications that needed no more than 64mb of RAM. Nowadays, a developer can't write Hello World with less than 2gb of RAM on his desktop and still begs for more.
  • We can outsource critical business processes around the world, but most IT employees still aren't permitted to work from home.
  • The best amongst us can make a successful career in working with vendor partners and offshore development shops in translating English to English.
  • We have a lot more VP-level positions yet the vast majority can't approve buying lunch for their team without a higher level signature.
  • You used to know a lot about your coworkers. Today, you can barely pronounce their last names.
  • There are hundreds of viable alternatives to expensive commercial software available from the open source community yet we still won't consider. After all, we depend on those vendors for their lovely Powerpoint and coffee mugs.
  • At least ten years ago, we could count on Infoworld being the authoritative source for the practice known as Management by Magazine. Today, at best IT direction is expressed in incoherent tweets by short-form conversationalists.
  • You get paid more, work longer hours but otherwise deliver less.
  • Let's not forget our love of documentation. We have more sharepoint sites than employees. We even have more process around publishing documentation than we do in putting source code into production.
IT continues to prove its incompetence yet the business continues to pay the bill. I wonder if we are more aligned than anyone realizes...

Kamis, 09 Desember 2010

You are an individual only at annual review time...

Ever notice that the only time you are ever thought about as an individual is at annual review time...



Two boxers fight in a ring. One falls to his knees. The other triumphs. Do you care which is which? Well, it's unlikely you'd pay good money to watch just one boxer beat himself unconscious. So it takes two.

We can model a boxer in a computer and make the two fighters absolutely identical. Let the starting conditions of the fight - the tiny irregularities in the mat, the difference in the noises from the crowd, the breeze blowing across one fighter's back - determine the outcome. The proverbial butterfly flapping its wing causing a tsunami becomes a possibility.

In real life, we are all like these boxers. A thought doesn't care whether it is thought by you or by me. As you read this, your understanding is no different from mine as I write it. We are just boxers, one up, one down. The feeling that you or I am somehow unique, different from others is just an illusion.

You are in the matrix, the bigger question is whether you take the red or the blue pill? The Architect said that the question you think is the most important is probably the least relevant. As you spend time figuring out your unique value proposition, others are spending time figuring out how to destroy it and make you conform to their model of normalcy.

Enterprises prefer to have a sense of continuity over a sense of urgency and innovation. They don't necessarily want to handle the illusion of individuality as that is hard work, but rather hope to leave innovation in the hands of butterflies flapping their wings.

At annual review time, remember this truth and you will be at peace with yourself...

Rabu, 08 Desember 2010

Is anything better than a pencil and paper?

At work, I have a hyped Dell computer with dual 23" monitors, yet I still prefer to use pencil and paper...



Is anything better than pencil and paper? Don't you find it ironic that we are attempting to create devices such as Amazon Kindle that attempt to duplicate the simplicity in interaction that a pencil and paper provides?

I have a laptop for work purposes as well as at home, but yet I still prefer paper. I am busy designing a product that will revolutionize enterprise security that I hope to have completed by the end of next year, yet the specification for it is still 100% on paper. I have relational models and UML diagrams on paper, I even have sketched out the XML configuration files on paper.

The only better than paper is my own memory.It works hands-free while driving, works without light late at night and it's waterproof in the shower. I especially like the way it improves everything I put into it.

When I first started in IT, developers knew how to squeeze enterprise applications into 16mb of RAM where today, the masses are struggling with 2gb of RAM. I wonder what would happen if we went back to the basics of design on paper? Is using a computer program to design other computer programs a worst practice?

Being environmentally conscious, I acknowledge that paper is unbelievably cheap, it's so thin that you can literally see through some pieces and it's pretty durable. More importantly it can be recycled a lot easier than those fancy laptops everyone else is using. If you ever want to convert from paper to an electronic form, you can purchase a $30 scanner that will let you easily store, duplicate and transmit the basic information from your paper.

Ever dropped your expensive iPhone or Crackberry on the concrete? Ever dropped a piece of paper on the concrete? See the difference? The next time you happen to engage in a conversation with former Accidenture alumni especially those who are consulting on green technologies, ask them which is more green, a Powerpoint presentation chock-a-block with eye candy but otherwise lacking in substance or a simple piece of paper?

The irony of the Accidenture consultant who burns 2,000 gallons of fuel every Monday in order to reach the client site only to be encouraged to carpool with other Accidenture consultants the last twenty miles by sharing a rental car is most certainly worthy of drawing a cartoon on paper.

Anyway, as the laws for distracted driving increase and include people using electronic devices, I will sit back and laugh as I keep a pencil and paper along with my trusty clipboard on my seat scribbling rants and screeds on how to make IT better.

For all you modern technology gadget weenies, I hope you enjoy the destruction of the mind, the environment and the economy at large with your savage avoidance of paper, as for me I remain fluid with a technology that has proven itself over and over again as valuable, efficient and cost effective. I will stick with pencil and paper...

Selasa, 07 Desember 2010

Is it possible to create too much documentation?

Many people complain about the lack of documentation but never noodle when they have too much...



Nowadays, code is changing hands faster than one has ever planned. Drivers of this behavior range from reorganization to offshoring. Regardless, of the stimulus one needs to stop thinking that the documentation is lacking and start evangelizing the fact that too much documentation exists.

In my years of experience, I have never really suffered because of the lack of project documentation. Most IT folks are smart enough to figure out things without it. What I have suffered from is the lack of clear code regardless of documentation existing or not. Who wouldn't prefer clear/clean code and no documentation to unclear/unclean code and good documentation?

Let's face it, we often suffer not because there isn't documentation but because the existing documentation is horrific. Ask yourself, how many dollars has your organization spent on preparing documentation that was never used for anything important? Does it make sense to spend even more money in this regard?

It is important to note that my perspective on documentation is different than the masses. In the same sense I enjoy writing code, I also love writing (this blog is an example) and drawing pictures. I love talking to people and learning what their projects are all about. I am not advocating minimizing the amount of documentation created as on any given day, I just as soon write words as code. As an Agilist, I do believe in maximizing the amount of work not done.



Have you noticed that people who spend time reading documentation almost never seem to derive satisfaction and/or answers anyway? They take the document, (perhaps) read it, then come back and talk about it anyway. If you know that conversation is the end result, they why not lead with it?

Ask yourself, is the challenge really about having too much documentation or not enough documentation or is it really about having too much process or not enough process? Projects can go awry for a variety of reasons which is usually another call for comprehensive documentation. Can we acknowledge that suboptimal projects do go astray because they are wasting time and resources on the wrong things? If you spend time writing documentation, does that mean that you aren't spending time on writing working software?

Have you ever observed a project comprised of non-technical leadershipmanagement where developers are asked to document things such as coding conventions where they spend weeks debating the intracies of something that could be easily addressed by a format utility in a few seconds?



In the past, if you came in front of the Architecture Steering Commitee (ASC) and didn't have all your documentation completed, we would recommend putting your project on hold. Does it ever make sense to delay delivering business value simply because someone didn't complete all the documentation? How can IT and the business ever be aligned with this type of philosophy?

I remember all of us enterprise architect types commenting on the thickness of the design documents which seemed to have a false but otherwise positive influence on our recommendations. Of course we could never correlate the thickness of documentation with project success but it did make us feel better.

Can we acknowledge that the thickness of a document is about as reliable a guide to the state of a project/application as the number of lines of code? In other words, quantity does not equate or even correlate with quality. Likewise, the ability to write clean code doesn't necessarily correlate well with the ability to write clean documentation.

Please note that my commentary so far has attacked Architects and Developers but others in IT also are equally guilty. Think about the role of the business analyst who is charged with creating over-engineered documentation that is over-precise, over-detailed, over-long and guaranteed obsolete the day it is published. We all know that business requirements change over time. Does it make sense to attempt to keep hundreds of pages in sync or are there better ways of delivering the ultimate goal of producing high quality working software?

For the record, I believe that we should not abandon having developers write documentation. The process of writing things down forces you to make explicit things that have been implicit. You have to look at the words on paper (or on the screen) and ask yourself whether you believe that is really true. Simply asking yourself questions is a valuable exercise. The question at hand is whether others need to consume it.

Have you ever thought about the simple fact that IT is under constant pressure to deliver working software at faster paces than in the past? Everyone wishes they had more time to write clean/clear documentation, but the time to do so is never easy to find. Sooner or later you will run across someone who is unfamiliar with the activity at hand that will start poking around for documentation. They will of course find that the documentation is not up to date. Instead of thinking of this as an opportunity for you to update the documentation, maybe a little inversion is in order. The simplest solution is to state the challenge up front to the newbies and ask them to help maintain the documentation. Their perspectives as a new user is close enough to being clueless to be useful. Asking experienced people to read/review documentation is a fail, but in asking those who are clueless will allow for new insights to emerge...

Selasa, 23 November 2010

Enterprise Architecture: What Color is your Hat?

I am neither a WhiteHat nor BlackHat. I am of the new breed known as a GreenHat who focuses on innovative ideas and off-the-wall creativity...



The GreenHat provides an opportunity to look for new answers to the question under discussion. Questions come up all the time where there seems to be only two or three options. A GreenHat loves to expand the possibilities by looking for other ideas.

A GreenHat believes there is always another option you haven't thought of and that maybe the decision can be deferred or made unnecessary by some other action affording the opportunity to think deeper about it.

The BlackHats are known for exploring negative consequences and the worst things that could possibly happen, while the WhiteHats are the polar opposite and stand for altruism. Of course, we got RedHat which is all about what you think in your heart and goes with gut instinct. This of course drives the notion of being open. We also have BlueHats which are into MetaThinking and tend to be from companies such as IBM that push Process over People...

Senin, 22 November 2010

Enterprise Architecture: Stop Outsourcing, Start Open Sourcing...

In 2003, at the industry's first enterprise architecture conference, I stood on stage proclaiming that enterprises should avoid outsourcing and instead concentrate on open sourcing. Let me share some rationale as to how this benefits the enterprise...



In the United States, there are hundreds of Property and Casualty insurance companies, all who are pursuing outsourcing redundant work to destinations such as India, Sri Lanka and Trinidad. Enterprises using this model, have gotten limited savings by taking advantage of rate arbitrage (difference in salaries of workers) but otherwise haven't unlocked sustainable savings.

Within the insurance ecosystem, every single insurance carrier has at least one policy administration system. These systems cost a lot of money to purchase and maintain, yet provide zero competitive advantage. Since much of the insurance industry is regulated, many carriers are paying hundreds if not thousands of people in an outsourcing context to do the same work across companies in order to comply with regulatory compliance.

The possibility in eliminating waste by figuring out ways that the work could be done one time and shared across the industry still continues to be unexplored. What if carriers made their non-competitive systems open source such that they could retain US jobs and share across company boundaries over outsourcing redundant work?

As the United States unwinds from a fiscal crisis and bailing out the insurance industry, with the largest bailout being AIG, did the federal government explore all possibilities in unlocking value?

There are many challenges that would need to be overcome. I can envision the challenge of enterprises suffering from the lack of having a software vendor spoonfeeding them information and instead requiring them to step up and understand for themselves as the first impediment. We can also count on the fact that many industry analyst firms either are incapable of covering this type of activity and would not align with magic quadrant thinking.

I can also see the challenge of executives not understanding that competitive advantage in this scenario as CIO would need to revisit thinking around championing functionality that favors their business over functionality that benefits the entire ecosystem equally, but does that mean we should leave money on the table...

Jumat, 19 November 2010

Should your CIO champion Telecommuting...

Collaboration is important, but fiscal responsibility is more important...



The vast majority of CIOs are leaving money on the table. They already know how to achieve productive IT workforces in an offsite manner. Isn't it ironic that you can outsource thousands of jobs to another country but won't trust a local coworker to work from home?

As an Agilist, I believe that the best architectures are built via face-to-face conversations, but even I also acknowledge that collaboration isn't something required every single day in a face-to-face manner. Has anyone ever thought about cultures where executives hide behind the excuse of collaboration and calculated the cost of interruption? The ability for anyone to start a conversation randomly with anyone else at any time is both empowering and self-destructive. Does anyone in their right mind not believe that the potential for productivity can increase if you remove interruptions?

Telecommuting isn't happening on a larger scale for one and only one reason. Let's face the reality as it almost always boils down to a lack of trust! No process, methodology, HR policy and so on will address the root cause. This is a leadership challenge that every organization faces regardless of telecommuting or not.

Has anyone ever considered how much real estate costs on a per-employee basis? Consider the scenario of a thousand person IT shop where people have to work a variety of shifts. You aren't just paying for real estate for IT personnel, but also need to account for additional real estate tied up in parking lots, the cost of security guards and even subsidies provided to feed these people in the cafeteria. If you happen to be located in a metro-area such as Boston, New York, Chicago, etc, you may be paying even more for parking and even putting your employees at risk. Think about the potential and the liability for a woman walking from their place of employment at night to a remote parking lot simply because she wanted to do a good job at work late?

Working from home is not for everyone. There are people who prefer to come to the office because they like the face-to-face interaction with their colleagues and find it easier to communicate and work with others personally rather than virtually. Working from home takes a certain amount of discipline, to stay on schedule. Yes, many employees who work from home, may satisfy the urge to do housework, shopping for Black Friday or watch TV but this shouldn't really matter. If I am an onsite employee, my mind may be thinking about shopping anyway and isn't it better to also people to remove this type of distraction vs letting it linger?

Corporations need to rethink the traditional models of hiring employees. An employee assessment and signed agreements might play a role. The 80-20 rule would certainly be a major factor (20% of the people participating would cause problems for the 80% by abusing their privileges). These 20% are the same ones who continue as problem children even without telecommuting.

Selasa, 16 November 2010

Enterprise Architecture: Why your leadership eschews real innovation

If you take a can of yellow paint and throw it at your CIO, followed by a liberal dosing of feathers doesn't result in innovation but does result in CIO feature differentiation...



Let's agree that genuine innovation is risky. I have observed that businesses often don't like "powerful" ideas because they are too risky from a business perspective. If done wrong, they can be very problematic. They also make recruiting more difficult because the ability to use and debug the powerful technique may be beyond what a manager or colleagues can test and interview for. They are sort of like the financial derivatives of software design: you can make a lot of money off them, but when things go wrong with them they really go wrong.

Businesses usually don't like that kind of risk, especially larger ones. Smaller businesses sometimes take such risks because they are willing to take a gamble to get a jump on the competition. But, larger institutions don't have the digestive system for such because managers are more often chewed out for what goes wrong stronger than they are rewarded for what goes well.

I have observed that businesses which avoid "powerful" ideas often lose competitive advantage to those which effectively leverage such ideas to improve productivity, sales, or product quality. Indeed, when things go wrong, they really go wrong, but when they go right, they really go right.

Senin, 15 November 2010

Documentation cannot compile, run or do useful work...

There are documents that aid developers in understanding the problem domain that are created by architects and business analysts and then there is documentation that developers create that are mandated by the lifecycle. Care to guess which one is backtested as having the most value...



Imagine firing up Notepad and writing a few hundred thousand lines of code in it so that managers can argue over your punctuation style and practice the fine art of word tweaking, only to months or years later try to compile and run it. What do you think the outcome will be?

Documentation is a sort of error-ridden prototype whose errors and glories are equally mysterious. Have you ever asked one of those PMP-certified Project Managers why they are passionate about documentation yet when forced to tell the truth would acknowledge that documentation is largely an unscoped effort? There is no clear indication of "done-ness." The result is the effort is largely driven by an end date and the number of bodies thrown at it.

Many people complain about the lack of documentation but never acknowledge that even if documentation existed, it would more than likely not be useful. Can we agree that good documentation requires thinking about people rather than computers, something anathema to most IT developers and architects. The vast majority of developers or IT employees at large are introverts by nature, so what do you think is the outcome of having them write documentation for others to consume?

Sometimes, the process weenies periodically move away from traditional waterfall thinking and embrace being Agile and iterative, but constrain the possibilities to documentation alone. Let's agree that if you make documentation a team sport and you do so upfront, that the majority of the team at design time doesn't understand the problem space well enough to communicate anything, as you are (by definition) still exploring it.

Consider the below scenarios and ask yourself which one would you prefer:

  • A developer writes a great program. He finishes it completely and eliminates all known defects. However, he does not write any user documentation or documentation for other developers that follow him. He did however write self-documenting code.
  • A developer writes a horrific application. She does not finish it and it barely works. She however thoroughly documents her approach, her assumptions and the code she already has, dead-ends and rat holes she's run into and the user requirements as to how they related to the chosen design


I am of the belief that documentation should explain decisions taken and not taken, Why an approach, architecture or algorithm was selected and what else was considered and rejected. Bet the developer in most shops wouldn't have documented this since he/she may not even have visibility into the choices made along the way. So, when you are asking for documentation, what are you really asking for...

Minggu, 14 November 2010

A Developers Perspective on IT Project Management

Have you read the parable of the idiot flowers? Today, let's explore the relationship between IT developers and others IT roles...



Once upon a time, in a land far, far away there was a developer and a business customer where IT and the business were aligned. The developer and the business customer worked hand in hand to develop high quality working software. Iterations were frequent, quality was high and process was minimal.

One day, the developer was asked a strange question in which he didn't know how to answer. He knew he need some help from his peers but they didn't know the answer. The one day, out of the blue a person appeared wearing a cape. He was known as the Architect. The developer asked the architect for insight and the architect provided the answers with ease. The developer became delighted and wanted to work with him going forward.

The developer and architect were happy, they did lunch together but yet something still was missing. The developer wanted to spend more time writing higher quality code and figured it would be good if he could get some assistance in writing documentation, taking meeting minutes and being able to concentrate on things he enjoyed. Then out of the sky appeared a business analyst who came to his rescue and quality improved.

The developer, the architect and the business analyst all became happy friends and had a synergistic relationship. The three of them combined were able to do the work of five developers working solely and the business customer became even more delighted. The team wanted to improve and realized that they were close to perfection, but still wanted to get better.

The developer asked himself, is it a good practice for me to quality assurance my own code and concluded that testing before handing over to the business customer could further increase the delight of his business customer and the quality assurance engineer was born.



IT was at its peak, business aligned, delivering high quality working software in a cost effective manner. The team was whole and satisfied. Then one day, a strange person appeared on the scene carrying a checklist and a clipboard. Then team inquired as to who on the team requested this individual but no one did.

The project manager immediately started to implement requirements on the team that had absolutely nothing to do with delivery of software and instead changed the team's focus to process. Going forward, every time the developer talked with the architect, they were required to document their conversation. Over time, the team stopped talking to each other.

The project manager then introduced a methodology that was supposed to aid the developer in estimating how long something would take but over time, the estimation process started to take longer than the process of writing code and morale took a turn for the worse.

The project manager also required weekly meetings which caused everyone to wait till the meeting to discuss issues instead of talking with the frequency observed in the past. Not to be outdone, the project manager declared themselves emperor of all things IT and made the business customer talk to no one else.

Anyone care to guess why IT suffers from cost overruns, lack of business alignment or stifled innovation?

Senin, 08 November 2010

Alarm Bell Phrases for IT Interviews

Many of my friends are currently exploring opportunities with other employers. Figured I would share a few alarm bell phrases that when heard should cause their spidey senses to tingle...



Be careful of when you post to a position that mentions new technologies but yet the interviewer is keenly interested in your background and spends a lot of time on legacy technologies. While it is important for a company to have legacy skills to transition from current state to future state, sometimes current state is future state.

If you hear phrases such as "we have a flat organizational structure" or "we don't have titles around here" it is probably a predictor of one of two things. The first, is that no one really knows who is responsible for anything or they will expect you to do things that aren't described in the job description. Be on the lookout for tasks that are below your job grade.

Job descriptions almost always seem to have phrases such as "This position requires a highly motivated self-starter who has an excellent track record of accomplishments". You can translate this into "you should have zero expectation of any training now or in the future" or "we need a loner cowboy who cuts corners and who doesn't have the wrong accomplishments on their track record".

Of course the best alarm bell phrase has to be "we have to move fast" which means that you aren't going to spend time sharpening the saw. This reminds me of Abraham Lincoln's famous quote: If I had eight hours to chop down a tree, I'd spend six sharpening my axe.

The absolute best alarm bell phrase has to be: "On this project, failure is not an option". You should say to yourself, it must be a certainty then...

Minggu, 07 November 2010

Why do those with integrity fail in interviewing...

On several occasions, people have pinged me soliciting advice for an interview with "fill in the blank" consulting firm and have gotten overconfident in thinking that actual knowledge/experience/skills is what makes them perfect for the role. In order to emphasis the challenges faced by good people, I have written a skit...



Anyway, IT people are very specialized--it's hard to do another job, especially when you're a geek - so we're a temp work force: millionaires if you have lived between 1996 and 2008, unemployed afterwards! What about having a world strike and stopping all the systems to show who is the master of the world?! [It's a joke!!]

In Connecticut, if you want to find a job, you probably need to deal with recruitment agencies. The cliche about people who work in an agency is that they don't know anything about technology - they just think they do!

Here is an example of communication failure:

* Recruiter: You're not suitable for that role because you don't know X, Y, Z (Database X, Software Y, etc ...)

* Candidate: I have 12 years of exp with IT: 7 years of professional experience and 5 years in University. I have learned many tools in my career and it should not be a problem. I have a strong potential and I am a high motivated individual. I am a quick learner and you think too much short term, give me an interview and your client will judge.

* Recruiter: You are not suitable because you don't know X, Y, Z

* Candidate: I have 5 years with databases, including 6 months with B; I have also used B for 1 year at university. I am a quick learner. I know very well database theory (SQL, stored procedures, all the acronyms the recruiter don't understand). Ask me any technical question instead of telling me I don't know!

* Recruiter: You are not suitable because you don't know X, Y, Z

* Candidate: I have used 5 years with OS Z at university, therefore I should be able to use it. Skills on a CV are not the only things about a person. Two people with the same profile may be very different. Why don't you ask about my personality and my objectives ?

* Recruiter: Ah ah ah ah (laughter). You are not suitable because you don't know X, Y, Z. YOU ARE NOT SUITABLE (with a very nice voice which means : you're a piece of shit)

* Candidate: Screw you!

Many candidates believe that recruiters should focus on your potential and what you can do, not what you don't know! They don't care finding you a job and they don't care finding the best person for clients since even the client themselves may not know exactly what they need. The challenge for candidates is to simply be pleasant.

Sadly, the world of IT causes people who know their shit to act like they know their shit. Recruiters are looking forward to meeting a quota and tend to focus more on the human aspects of technology than anything related to competency. We all know that companies once they make a commitment tend to have a difficult time correcting mistakes they made and will simply stick with it. We also know that even when you make it past the recruiter, other interviewees are probably squeezed for time and have more interesting things to do than to figure out if you are competent or not.

Let's face it, when the status quo is that IT can't align with the business, the vast majority of projects are either over budget and/or late, this proves that competencies aren't that important in the grand scheme of things.

In terms of the skit above, the candidate made the fatal mistake of only focusing on skills and didn't think to mention process. After all, look at how methodologies are sold. Haven't you yet figured out that the vast majority of people still think that process can be a substitute for competence...

Selasa, 02 November 2010

Connecticut Voters Guide 2010

In the Manchester Court House, inscribed in marble as you enter is the phrase: Laws are made for men of ordinary understanding. The funny thing is that the court is filled with lots of ordinary people who don't understand and are being rapedassisted by lawyers guiding them through the process...



The democrats made history this year with the passage of healthcare reform. Some believe that they ignored the values of the constitution, while others believe they did it to provide aid to those who otherwise couldn't afford decent healthcare. Regardless of where you stand on this issue, we can all acknowledge the simple fact that the bill contained thousands of pages in which no currently elected senator or congressman actually read in its entirety nor fully understood.

It is one thing for us ordinary citizens to not understand laws, but it is another for those who make the laws to not understand the laws. While intent of the law may be noble, it is really responsible to have so many laws on the books that no one understands?



With this thought in mind, I am encouraging the residents of Connecticut to consider the following when casting their vote:
  • Do not vote for anyone who is a lawyer. Candidates with business backgrounds are less likely to wrecklessly execute in this manner. Business people are more inclined to keep things simple.
  • Do not vote for anyone who is a career politician. In order to grow the economy, we need fresh ideas and new thinking. Doing more of the same, won't result in a different outcome.
  • Don't vote along party lines. Being a democrat doesn't automatically make you a liberal. Being a Republican doesn't automatically make you a conservative. Vote for people who share your values.
  • If you are Black, don't vote for a candidate solely because they are Black. The same goes for other ethnic groups. Politicians don't really take specific actions targeted at ethnic groups for their benefit as they are there to serve all people.
  • We need candidates that are pro-American. Anyone know of friends, family and coworkers where their jobs were outsourced to another country? Ask which candidate will remedy the world trade imbalance which starts with local policy.
  • Don't vote for candidates that have never had to make payroll. The subject of job creation shouldn't feel academic or conceptual. We need candidates who have real-world experience creating a payroll. We don't need candidates that wouldn't even be successful running a Hot-Dog stand.
  • Vote for candidates who have demonstrated they will uphold constitutional rights. Regardless of whether you are pro-gun rights or anti-gun rights, it is vital that the candidate support the rights as outlined in the constitution, for without it, we will be a nation of lost people with no framework to guide us forward.
Exercise your right to vote and remember to wear your WWE shirt to the polls regardless of what our Secretary of State thinks about it. Malcolm X in his famous speech described the choices that people make: The Ballot or the Bullet. As a member of the NRA, I believe the latter is important, but the former is more important. Today, is the day where we get to vote for an Agile government...

Kamis, 21 Oktober 2010

Parable Of The Idiot Flowers

You need not try so hard. If you trust the inner self, then you grow as a flower grows. The flower grows correctly, and it does not say to itself, "I must grow two inches, so help me, by tomorrow night at twilight!" A flower is, and it allows itself to grow, and it is sure of its Is-ness and of the spirit of All-That-Is within it.

Now, goodness is as natural as a flower that grows. If a flower stopped when the sun was shining down upon it, however, and if it began to consider and said - "Wait! Should I grow to the left, or should I grow to the right? Is it good that the sun shines down on me, or is it too easy for me to grow in the light of the sun, and therefore should I attempt to grow instead in the darkness? Should I grow two inches to the right, or two inches to the left? I must strive to grow! I must develop an ego and an intellect, and I must try to reach that sun that is God and I must work hard to because if I do not strive, I shall not achieve - and I must achieve!"

But, beside our intellectual, conscientious flower is an idiot of a flower! And the idiot of a flower stands and feels the sun upon its face and opens up its leaves and says, "This is the sun, and it is good within me; it is the spirit of growth, and I'll follow it and give it freedom; and I care not whether I grow to the right or to the left, for in perfect trust with the spirit within me, I know I shall grow correctly."

And so it grows, our idiot flower, and it grows from within. And it is perfect and it is straight, but beside it is our intellectual and spiritual flower. And this flower says, "Again! Three o'clock in the afternoon, the shadows are coming and the shadows ore evil, and this sun is fading, and the night is coming, and the night is evil; and I must consider how best I can confound these adversaries ... and it is easy to fail and not use my abilities and not to grow!"

And lo and behold, in the morning the sun rises, and what do we find? Our idiot flower in full bloom in the morning sun and our other flower with one leaf drooped down like this, and one leaf curled up like this, and head down, still considering the nature of good and evil and not trusting the spirit of vitality which is within it; and therefore, not listening to the inner voice ... but questioning at every point and at every hour; "In which way shall I go? Shall I accept the sunlight or the rain? Or are these evil forces?" And telling itself over and over again that to grow is difficult and to die is easy. Telling itself over and over and over - in metaphysical terms - that to be good is difficult and to be evil is easy.

Rabu, 20 Oktober 2010

Does your enterprise promote discordant reward mechanisms...

Let's talk about some of the worst practices witnessed in large enterprises...



Let's have the CIO send kudos to those who are successful in bringing together a team of people to finish a project as the delivery date nears. Let's also avoid acknowledging that the reasons things aren't getting done is because the time has been preoccupied with either useless meetings (under the banner of socialization) or simply slacking off. In the same voice, the CIO needs to forget those who are viewed as the Tortoise that move ahead slowly but surely and always hit their dates. Heroic efforts are the crack that every CIO smokes.

Rewarding people based on the number of problem statements they closed. This is problematic because some people will solve multiple problems with one problem statement, while others will open and solve as many problem statements as they can to inflate the number of problems solved. Or, someone may knowingly leave problems in a piece of work so that he can come back later and "solve" them. Even better, let's just close tickets without actually solving the problem at all. If it is important, someone will open up a new ticket. In the meantime, I get credit for the closed one.

The classic is surely rewarding programmers for lines of code produced. Using better methods of measuring the complexity or difficulty of a project doesn't always help; we don't want more complex or difficult programs.

The HR classic has to be at annual review time where HR pulls out the competitive compensation ratio which employers base salary on the average salary of people doing similar jobs in the same area. They of course forget that, if an employee has a 100% comp ratio, half of the other companies they could work for would pay him better. Shouldn't pay equate less with market surveys and more with how badly you want to keep someone?

Management regard developers who work 16 hours a day as inherently more valuable than those who put in 9 to 5. Working that hard usually is just a sign that you did a terrible job of estimation and planning up front, and that probably there is a great deal of code-rewriting going on. This mindset is especially encouraged by management that worked for a large insultancy where billable hours and facetime were more important than a successful business outcome. Business outcomes can always be addressed via change order.

Isnt it fascinating how HR determines compensation sometimes at the individual level while knowing even less about IT than the person's manager...

Minggu, 17 Oktober 2010

Man Up: Thoughts on Bullying

Newsweek published an article on bullying that seemed to touch an emotional spot in the hearts and minds of many parents. They also asked whether should school bullying be a crime? Of course I have my own opinion on this topic that I couldn't resist sharing...



This weekend, I took my two sons to Chuck E. Cheeses to have some fun. My older son (currently nine years old) who currently studies both traditional Japanese Jujutsu and Uechi-Ryu Karate was pushed by a bigger kid. Most parents would have intervened, but I decided to observe how my kids would react. My older son loves to spar and has been fortunate to not only spar with kids larger than himself (actually he has never sparred anyone his size nor smaller) but also has never lost. So, I really wasn't worried about whether he could handle himself, but something interesting happened. His younger brother (currently six years old) ran up to the bigger kid and put him in his place. This made me think very deeply about what values did I instill in them either intentionally or accidentally that other parents are not doing. There is a sense of serenity as a parent in knowing that my kids will never be bullied.

The funny thing is that this type of attitude isn't just something in the McGovern blood. For example, there was a scenario where a young girl I knew in Trinidad was raped (name intentionally withheld) where her rapist was attempting to elude police and made the mistake of running into the garage of a relative by marriage. The police sat idle while watching my relative beat the piss out this person. Imagine the thought process of a criminal when they victimized someone else go from being elusive to thinking that being in the hands of police is their best alternative.

So, is being a bully a societal problem? I think so, but not quite in the way current media is portraying things. In India, the police carry canes and can carry out justice in ways that American police can only dream off. We can label this practice barbaric through the American eyes, but one has to ask oneself, do other countries have a bullying problem and are these two things correlated?

My older son, is literally the second smallest kid in both height and weight in the entire fourth grade class yet he has also made friends with the kids who are also probably the toughest kids in the class through stereotypical lens (football players). What prevents parents of kids who are being bullied from seeing the benefit of encouraging their children to hang out with a different set of kids?



When I was in high school, I vividly remembered a fool who thought he could threaten me in front of the football team. At the time, I at some level had a little fear of starting something and loosing in front of my classmates and could have succumbed to being a mental loser, but something happened. This kid (Eric) decided he would throw the first blow. At the end of the day, Eric ended up having to have emergency eye surgery and nurse both a cracked jaw and rib. I did get suspended for a week and my parents had to come to school to meet with the principal along with Eric's parents but was this a valuable lesson for the both of us?

Many of the scenarios in the media surrounding bullying are highly correlated to the gender confusion of being gay. Independent of your thoughts on being gay and whether it is OK or just wrong, the challenge isn't to just teach people to become tolerant of another belief system but for people to stand for whatever it is they believe.

As a believer in martial arts, charity, open source and being a good parent, I have decided to create a mashup of these four concepts and am announcing the Man Up Project. Collectively, we all like to believe problems of bullying are for someone else and usually won't take a stand unless it affects us. I want to change the game, not by words on paper, but by taking deliberate action. So, if there is a kid in Bloomfield (where I live) or Windsor (where I work) that has been the victim of a bully and cannot afford to take martial arts training, I will pay for them to learn either traditional Japanese Jujutsu or Uechi-Ryu Karate...

Jumat, 15 Oktober 2010

Enterprise Architecture and Agile Operations

In a recent discussion on Twitter, a few people asked how deeply should enterprise architecture practitioners oversee IT operations. Many people drew the line in saying that EA should manage supply and demand. Of course, I disagree with this line of thinking and wanted to share my thinking as to why...



Have you ever heard of the innovation paradox? It is the phenomena that states that in operations, you want to remove as much deviation as possible. This is what helps bring consistency in service. Many IT operations folks have gravitated towards ITIL as a potential solution. The innovation paradox also says that in order to maintain business competitive advantage, an enterprise needs to do something different other than the status quo (aka current operations). Innovation requires increasing deviation while operations requires deviation to stabilize.

Do enterprise architecture teams ever ask themselves the exact opposite question where they explore what would happen if they periodically allowed operations folks to be well a little less operational in their thinking? Why are we constraining innovation to only a few stovepipes? Many EAs believe in Agile methods for software development and are champions of XP, Scrum and Kanban yet haven't put on their thinking caps as to how to bring innovation to operations. Well, since many EAs are blissfully ignorant towards operations, I figured I would throw out a few innovative ideas that can help enable an agile operations ecosystem.



I remember hallway conversations where I bought into an eye that I now believe was 100% wrong. It is way too easy to get caught in a conversation where IT operations folks desire to slow down the pace of innovation and encouraging releases of software to go slower instead of stepping up and figuring out how they can improve their own practices. In many shops, IT operations is even more sinister than information protection departments.

First and foremost, it seems as if pretty much every developer understands the value proposition of version control, yet the practice of being able to version operational aspects is lost on most shops. Enterprise architecture should mandate that a systems administrator not only version control all patches, but mandate that they have a clue as to how to roll them forward and back before release.

Second, if you ever needed to make a mass change to servers quickly, do you really need an enterprise class patch management tool? What would happen if you could borrow techniques already used on the Internet and do so for free? I am of the belief that the best way to distribute code to thousands of servers simultaneously would be to leverage BitTorrent software, you know the stuff that is blocked by those folks who think they are doing security but are really from the hygiene department?

Third, don't you find it even remotely curious why a large enterprise that has 8,000 servers requires almost 1,000 people in their infrastructure group yet the likes of Facebook can run 50,000 servers with only 60 people? Is it because the operations folks in Facebook are specializing generalists who are part of the same team as software developers?

What do you think happens when you not only co-locate business people with developers but also throw in a few operations folks as well? In this scenario, the operations folks may have a clue as to how an application actually works and may even know the developers who wrote the application personally and therefore have a better shot at faster resolution that the arduous crisis meetings I have witnessed where the blind is leading the blind towards a coordinated resolution.

The interesting thing about facebook is that they also haven't held onto the broken model of quality assurance as advertised by CMMI level 16 shops in India. Ask yourself why can't software developers when surrounded by and co-located with operations folks who have version control simply skip the QA cycle?

Maybe the challenge is that operations folks don't have a clue as to how to incrementally release software. For example, wouldn't it rock if your load balancers could route light traffic for a new applications to a few servers that are monitored by developers vs the big bang release done today?

There are of course a few flaws with the above idea. I think it means that a developer would need to see a release into production and not simply throw it over the wall to operations. Imagine if I couldn't go home at night until the release was completed successfully as tested not by QA but actual real users? Do you think both developers would right better QA and operations folks would have better confidence in the software they are given...

Anyway, some refinement is in order and I am even thinking about making this a blog series to release additional insight into agile operations. In the meantime, if you are a blogger, please write a response in your blog and link back to this entry. For others, please share your thoughts on Twitter regarding agile operations...

Related Posts Plugin for WordPress, Blogger...