Know more and connect with me on [Linkedin Profile].

Monday, May 21, 2012

IT Strategy Template

IT Strategy Template

  1.        What business outcomes must we support? [Selected  after our analysis]
  2.        What IT services will we offer to support these objectives?
  3.        Who are our internal and external customers? [Strategically selected customers]
  4.        What market spaces do we serve? [Based on our research of market spaces]
  5.        Technology standards
  6.        Architecture
  7.        How do we prioritize and decide on investments? [This is an outcome of portfolio management process]
  8.        IT organization governance
a.       Why: After the widely reported collapse of Enron in 2000 and the alleged problems within Arthur Andersen and WorldCom, the duties and responsibilities of auditors and the boards of directors for public and privately held corporations were questioned. As a response to this, and to attempt to prevent similar problems from happening again, the US Sarbanes-Oxley Act was written to stress the importance of business control and auditing. Although not directly related to IT governance, Sarbanes-Oxley and Basel-II in Europe have influenced the development of information technology governance since the early 2000s.
b.      Why: the need for greater accountability for decision-making around the use of IT in the best interest of all stakeholders
c.       IT governance systematically involves everyone: board members, executive management, staff and customers.
d.       It establishes the framework (see below) used by the organization to establish transparent accountability of individual decisions, and ensures the traceability of decisions to assigned responsibilities.
e.      It states that strategic IT decisions should be owned by the corporate board, rather than by the chief information officer or other IT managers
                  9. What constraints must we manage

You can easily lose what is the point of all the above details; I want to focus on what strategy essentially means to guide us developing it. Strategy basically means:
1.       A high level plan of action to achieve your objectives; so you should first know clearly what is your objectives.
2.       Policy (guiding principles of action) designed to achieve your objectives.

Friday, May 18, 2012

Layering Source Code

Development is started by writing monolithic applications, that all source code is intermixed in one set of code file as the following diagram:

The first improvement was to think of layered code and separate the user interface code from all business logic below.

As applications became much more complex, more layering is abstracted as following:

Agile Manifesto Diagram

All of us know Agile Manifesto, but I like the following diagram that represent the it intuitively.

See the full article at:

Sunday, May 13, 2012

Agile Technical Excellence Workshops

Now we are improving the Agile Technical Excellence workshops, generally we have the following workshops:

  1. Test Driven Development and Unit Test (2 days) with exercises in dotNet and Java. A CPP version is also exist.
  2. Continuous Integration (1 day)
  3. Lean Configuration Management (1 day)
  4. Refactoring (1 day)
After each round of teaching we collect feedback and improve everything. 
We have many ideas and ambition to improve them continuously. For more details, have a look at: