Tuesday, December 28, 2010
The changing nature of Enterprise Architecture
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.
Monday, December 27, 2010
Thoughts on Capitalism 2.0
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...
Saturday, December 25, 2010
2011 New Years Resolution
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?
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.
- 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.
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.”
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.
Thursday, December 23, 2010
Ways to eliminate expensive IT workers...
It seems to be the goal of
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.
Tuesday, December 14, 2010
2010: 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.
Thursday, December 09, 2010
You are an individual only 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...
Wednesday, December 08, 2010
Is anything better than a 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...
Tuesday, December 07, 2010
Is it possible to create too much documentation?
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
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...