Anton's profileProject Management and C...BlogLists Tools Help

Blog


    What Gartner Is Telling Your Boss

    I have recently come across an article analyzing the Gartner Application Development Summit entitled What Gartner Is Telling Your Boss.  There are several reasons to pay attention to Gartner predictions.

    Firstly, Gartner has built up a reputation as a reliable market analysis firm in our industry. No matter how we may feel about individual reports, it is an undeniable fact that the Gartner brand carries a lot of weight with executives in our industry. It is wise to keep on top of the latest opinions from the top major research firms when dealing with sophisticated customers such as ours.

    Secondly, a client may ask us for an opinion about the matter when they learn of it. The worst possible mistake in the consulting industry is not knowing the latest frameworks, methodologies, and predictions before our customer. When our customers feel that we do not have our hand on the pulse of the market, they begin to question our usefulness to their organization. As IT Consultants we are responsible to our customers to appropriately recommend ideas from methodologies such as ITIL (Information Technology Infrastructure Library), ILM (Information Lifecycle Management) and others.

    Thirdly, we must always analyze the communication approaches taken by others to reflect on our own presentation techniques. For example, this specific article mentions “agility.” However, Gartner has redefined the industry term “agility” by stating “the keys to unlocking the agility paradox are architecture; a focus on software process and engineering; and reuse — of everything.” This is of course in contrast to the “agile methodologies” which stress less process and up-front engineering than traditional development approaches. As an industry, we must be able to communicate our ideas to our customers consistently and reliably.

    My analysis:

    According to the article, Gartner is proposing that software developers should change their focus from creating applications to reusing code and creating middleware (or mash-ups). In my opinion, there is certainly a case to be made for code reuse. However, in my experience, code reuse has been a hard thing to actually achieve. Often times, business goals can be achieved better, faster, and cheaper by re-writing or re-engineering an entire application rather then investing in existing systems. It is often the case that business applications outlast the platforms (hardware and operating system) that they were originally developed for. In such cases, it is hard to add value to an existing product because the cost of integrating existing code into new products can be very high. Conversely, there is a greater trend of companies like Microsoft to create integration points into their own server software. These integration points may provide new applications with vital functionality at a fraction of the cost of developing the same code in-house. Unfortunately, I believe that Gartner has confused the message to a developer by providing them with the “how” but not the “why.” The message should not focus on code reuse or process improvement but on the end goals. Both developers and consultants are only here to do one thing. Enable our business clients to meet their goals while managing the costs associated with our activities.  Whether that means code reuse, improved processes, agile methodologies, or any other technique, our goal is always the same.

    My advice:

    • Always analyze your specific situation and apply the appropriate tools to improve it
    • Never fix what is not broken
    • Always approach a business problem by looking at people, process, and technology points of view. A business problem is rarely solvable without affecting all three.
    • Managers must provide proper guidance (process and governance) to their employees without overburdening them
    • Radical change (in terms of application development approaches and IT in general) rarely leads to positive results

    What kind of IT Department do you work with?

    As IT consultants, we often find ourselves helping companies bridge the gap between the business and the IT department. Often times we are called in as a last resort to mend relationships between these parties and get projects (and costs) moving in the right direction. While reading an article on Computerworld today, I was reminded of my own experiences in working with IT departments.  The article goes into little detail, but generally conveys the fact that there are different types of businesses and IT shops out there. In my experience, this is very true.  The types of IT departments pointed out in the article are (definitions are mine): 

    • Utility – IT department focuses on operations tasks. It has little insight or relevance to business goals and is introverted. From a business perspective, this type of shop is like your local telecom company. You pay a monthly fee to have a device on your desk and supporting infrastructure to make it work, but you have little insight into where the money goes internally.
    • Supplier – IT department focuses on providing services that are aligned to general business goals. It has some oversight and a general relevance to the business. From a business perspective, this type of shop is similar to a real-world supplier. It provides essential services to your business and generally finds the best way to meet business goals proactively.
    • Partner – IT department is tightly integrated into every aspect of the business. It enables all other business areas and participates in strategic and budget planning at the highest levels.  Typically, this type of shop has a high transparency and mature processes that are not only business-aware but also fully integrated.

    We, consultants, could and should leverage this type of information on every job. Each of these categories comes with a set of advantages and complications. How would you classify your IT department and what advantages/challenges do you face as a result of this type of operation?