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.

Comments

Popular posts from this blog

Changing Principles

In EA, architecture principles set a framework for making architectural decisions.  They help to establish a common understanding across different groups of stakeholders, and provide guidance for portfolios and projects.  Michael Durso of the LSE gave a good introduction to the idea in a webinar last week for the UCISA EA community.

Many organisations take the TOGAF architecture principles as a starting point.  These are based on the four architectural domains of TOGAF: business, information/data, applications, technology/infrastructure.  These principles tend to describe what should be done, e.g. re-use applications, buy in software rather than build it, keep data secure.  See for example the principles adopted at Plymouth University and the University of Birmingham.

Recently though, I encountered a different way of looking at principles.  The user experience design community tend to focus more on how we should do things.  E.g. we should start with user needs, use iterative developm…

Why the UCISA Capability Model is useful

What do Universities do?

This may seem a strange question to ask and the answer may seem obvious.  Universities educate students and undertake research.  And perhaps they work with industrial partners and create spin-off companies of their worn.  And they may work with local communities, and affiliation bodies for certain degress, and they definitely report on their activities to government bodies such as HEFCE.  They provide student services and support.  The longeryou think about it, the more things you can think of that a University does.

In business, the things that an organisation does are called "capabilities", which is a slightly strange term.  I think it is linked to the HR idea of a combination of the CAPacity and ABILITY to do a task.  Whatever the name, it is a useful concept.  A capability is more basic than a process: a University may change the way it educates students but as long as it remains a University it will educate them one way or another.

A capability …

A new EA Repository

One of my goals since starting this job two years ago has always been to create a repository for architecture documents.  The idea is to have a central store where people can find information about the University's applications, data sources, business processes, and other architectural information.  This store will make it easier for us to explain our plans, to show the current state of the University's information systems, and to explain what Enterprise Architecture is all about.

It's taken a long time to reach this goal, mainly because we're often had more pressing and immediate work to be done.  The creation of a repository is one of those tasks that is very important but never quite urgent.  So I'm now very happy to say that we are in the process of deploying a repository and modelling tool.


This is the culmination of a careful process to select the most appropriate tool for our needs.  We began by organising several workshops to gather requirements from a rang…