Skip to main content

Towards automated deployment

Currently, whenever we deploy a new application on the university's IT infrastructure, we follow a detailed quality assurance process.  This involves several different teams.  The actual deployment is performed by the database/system adminstration team.  If we developed the application ourselves, or if it needed significant integration with other university systems, then the software development or software configuration teams will be involved.  The corresponding support teams will check that they have the documentation and knowledge that they need to start supporting the application once it is "live".  The project mangers co-ordinate everything.  And this is just the teams in Applications Division; our colleagues for whom we are implementing the system will be doing their own checks and making their own arrangements.  So deployment takes quite a bit of effort and time.

What we would like to do is to make this process easier, quicker and more reliable.  To this end, we have run software development project in which we tried using a continuous integration tool.  Rather than having one big deployment with everyone involved, we wrote scripts to automate the process and had deployed the application (to a test server) every time the software changed during development.  Automated tests ensured that we didn't introduce any bugs as we wrote new code.  The result was a much smoother deployment process, and the assurance from much greater testing (the equivalent of 60 days of a human tester).

We're now looking to make this a standard approach for our software development projects.  At least on of our developers is wondering why management (that's me) doesn't just make this happen immediately. Well, as is often the case, the technical solution is simple, but we need to change the "people" part of the process to make it possible.  All the teams need to understand how the new process works and what it means for them.  We need to understand what value the different teams currently bring to the process and make sure that we don't lose these contributions.  We also have to adapt the other parts of the process, such as writing support documentation, to work with the new deployment process.  All this takes time, and has to be done while we're under pressure to deliver a large number of systems during the year.

Although it will take some work to make this happen, I'm quite excited by this development.  It promises to make our deployments much easier for everyone and to provide a consistently reliable service to our colleagues. I'll post news of progress here as it happens.


Popular posts from this blog

Presentation: Putting IT all together

This is a presentation I gave to an audience of University staff: 

In this seminar, I invite you to consider what the University’s online services would be like, if we worked together to design them from the perspective of the student or member of staff who will use them, instead of designing them around the organisational units that provide them. I’ll start with how the services might appear to that student or member of staff, then work back from there to show what this implies for how we work, how we manage our data, and how we integrate our IT systems. It might even lead to changes in our organisational structure.

Our online services make a vital and valued contribution to the work of our students and staff. I argue that with better integration, more consistent user interfaces, and shared data, this contribution could be significantly enhanced.

This practice is called “Enterprise Architecture”. I’ll describe how it consults multiple organisational units and defines a framework …

Service Excellence, Digital Transformation and Enterprise Architecture

Our University Secretary has sponsored a major review of the University’s administrative processes, coining the banner “Service Excellence”.  The aim is to look at the services we provide to staff and students with a fresh eye, making them more effective, more efficient, and focussed on the user rather than administrative convenience.

Our CIO is sponsoring a similar programme called “Digital Transformation”. This will replace old paper-based processes, starting with the question of what would processes look like if we designed them afresh for the modern connected world.  The aim is to make processes that are more focussed on the user and hence more effective and efficient.

Both of these ambitious programmes will need an effective enterprise architecture, if they are to succeed.  Digital Transformation is intrinsically about using opportunities provided by new technology to improve services and, as such, it requires effective technology services to make data available when needed, to pro…

Not so simple...

A common approach to explaining the benefits of Enterprise Architecture is to draw two diagrams: one that shows a complicated mess of interconnections, and one that shows a nicely layered set of blocks. Something like this one, which came from some consultants:

I've never felt entirely happy with this approach.  Yes, we do want to remove as much of the needless complexity and ad-hoc design that litters the existing architecture.  Yes, we do want to simplify the architecture and make it more consistent and intelligible.  But the simplicity of the block diagram shown here is unobtainable in the vast majority of real enterprises.  We have a mixture of in-house development and different third-party systems, some hosted in-house, some on cloud infrastructure and some accessed as software-as-a-service.  For all the talk of standards, vendors use different authentication systems, different integration systems, and different user interfaces.

So the simple block diagram is, basically, a l…