How agile development can run in parallel to traditional IT management
It took two-track IT to tango in mobile for two large UK organisations, writes FeedHenry CTO Mícheál Ó Foghlú
Short of time?
Recent buzz around approaches to app development have led to the emergence of the term “bimodal” or “two-track” IT, according to Gartner.
The analyst firm’s research director Richard Marshall said: “The use of a bimodal strategy — one mode addressing stability and the other agility — allows organisations to maximise development efficiency and respect information control policies, yet address the urgency of volatile competitive, seasonal and unplanned needs.”
From our experience working with IT departments of large organisations on their mobile projects, we have seen clients adopt this strategy, whereby “fast” IT emerges to tackle agility but doesn’t displace the need for traditional IT practices that support ongoing stability and reliability.
These are the typical drivers we have seen.
1. Business and end-users are playing a stronger role in determining the functionality and delivery time of the mobile projects in order to make them more successful
IT needs to respond to this and enable, rather than prescribe, mobile innovation. One large construction client, for example, involved front-line workers at each stage of concept design, device choice, and roll out of their apps, ensuring high user acceptance and experience. This collaborative approach between the business and IT was new, yet highly successful and one that we see an increasing number of companies adopt.
2. Requirements are in constant flux compared to the old days of enterprise application development where they were determined in exhaustive detail and subject to few changes
Now requirements are less granular and are determined as part of a rinse and repeat exercise involving continuous deployment and user feedback.
3. Apps are in fast and continuous iterative development cycles
Forrester Research principal analyst Michael Facemire suggests that “time-to-delivery windows are approaching zero”. App development cycles are becoming shorter and even in the enterprise app-release cycles can be frequent, responding to the ongoing user feedback that is necessary for app success.
4. There is an expectation that modern IT departments can respond to these demands in months or even weeks
In some cases, the business needs to respond to an event more urgently and deploy a mobile solution within a day or two. Such was the case with a rail infrastructure client following severe flooding in the UK that damaged many sections of their rail infrastructure. To achieve fast and safe response, an app was built and deployed to workers in the field in less than 24 hours. Image and data capture from the devices allowed for efficient prioritisation and dispatch of repair crews to the areas where it was needed most. With the mission accomplished, this app then had served its one-time, but critical, purpose. Modern software tools, technologies and distribution models have made this responsiveness feasible.
Alongside these radical changes, we still see IT having to continue to manage older enterprise systems and legacy applications. Large investments in systems that still deliver value can not always be replaced. In many cases, mobile solutions have made these systems more valuable in terms of the data that can be unlocked and consumed from mobile apps in new and innovative ways.
How can enterprise IT balance the need for speed, accepting that things won’t be perfect the first time, and the need to be steady and reliable, but getting it right first time? This is the nub of two-track IT – with a “fast track” and a “core track”.
Fast IT has emerged as the catch-all for agile, user-driven, highly iterative and experimental approaches to app development. Meanwhile, traditional or “core” IT provides stability through more requirements-driven, secure and resilient methods that support longer-term development efficiency and adherence to control policies and security.
Apart from the different development methodologies required by fast and core IT, there are fundamental differences in skills, mindsets and goals that need to be taken into consideration. The following depicts some high-level differences between the two, demonstrating how polarised the two can be.
First, there is the traditional focus of core IT that has responsibility for physical hardware, networking and maintenance of existing systems and solutions. A typical core IT project may be an upgrade to an existing on-premise system that potentially requires planning over six months, or even over years before implementation.
Maintenance of these systems often requires knowledge of more traditional, strictly typed languages. Development can require a slower, more sequential approach that centres around detailed requirements gathering.
The objective is project success on delivery with focus on resilience and security. Upgrade release cycles are generally long, infrequent, and governed by heavyweight process-driven standardization (such as ITIL).
On the fast track, projects are developed at speed, sometimes weeks or even days. Iterations and upgrades are continuous and development is managed via agile methods characterised by short sprints, typically two-to-three weeks duration. Experimentation is king and modern toolkits and loosely scripted languages reign.
This new IT professional is dynamic, nimble and focused on delivery at speed –not on fine-grained details. Equipped with the tools that he or she chooses to achieve this goal, the fast IT developer is experimental and open to the next wave of hot technologies. The mindset is user- and business-oriented with the communication skills to respond to business needs and involve them in the feedback process.
Of course, the real aim and challenge is for these two IT tracks to work together in harmony in order to maximise development efficiency and respect information control policies, while still addressing the urgency of volatile competitive, seasonal and unplanned needs.
>See also: Busting the myths of agile development
Mobile has crystalised this challenge in that the business can and often does look elsewhere to have their apps developed if IT cannot meet their needs. To avoid this, we have observed many client organisations embrace this two-track strategy and adopt cloud platform technologies and collaborative approaches that take advantage of the best of both worlds.
These platform technologies promote flexibility that can give fast IT the agility they need while centralising the critical components governed by core IT (e.g. connectivity to back-end data sources) and making them accessible in a secure, collaborative and reusable way.