In the past 2 months, DWP have delivered an Open Source, Drupal-based collaboration platform from scratch.
With so many technology teams across the country it’s useful to have a place to share ideas, feedback and best practice. It’s all part of our agile working and vital for developing the next generation of DWP’s services.
It all started with an invitation to a video call with Mayank Prakash, our Technology Director General. On that call, Mayank set me and the rest of the Intranet & New Technologies team the task of building a new collaborative working tool for DWP, with three rules to guide us:
• think outside the box
• think open source
• deliver a proof of concept in 2 weeks
Could it really be that simple? Could we really achieve build a working product in such short time? My team was eager to accept the challenge and start flexing our creative and technical muscles.
Our method of attack
We’d done some research to uncover the main functions that DWP users had told us they wanted from a collaboration platform. There were some simple asks, like being able to:
- write, like and reply to posts
- upload photos
- share documents and other information securely with colleagues
There were also some more complicated things like personalising content feeds, or subscribing to groups or content channels.
With these user needs in mind, we researched existing products that could fill the brief. Normally, this is a process that takes weeks, involves many internal meetings, and then a round of external meetings with potential suppliers to gauge cost and delivery timescales.
This time, we took a different approach.
We pulled together a band of creative and technical people from across DWP. With the aid of a white board, a pen and regular phone calls, we analysed the pros and cons on each of the known tools on the market that we’d shortlisted: Jive, Alfresco, Confluence, Joomla, Igloo and Drupal.
At the same time, we set up some virtual machines in the cloud, with a version of each tool for us to test and experiment with. We settled on Drupal and Alfresco as front runners for our proof of concept. This initial whittling down of the options took up a week, leaving us with seven days to build a proof of concept for Mayank.
How we approached the build
We assigned a technical lead for each of the two ‘finalists’, and began exploring in detail what was possible with each of the tools. I admit we had a few doubts about what we could achieve in just a few days.
We were all concerned about whether we could we build a working proof of concept in the time, and whether it would be good enough to help Mayank make a decision. But we got stuck into it nonetheless!
We picked a couple of functions that would really show off what the tools could do, and that we thought we could build in the time.
Early on we decided that Alfesco probably wasn't going to do what we wanted, so we narrowed our focus to Drupal. We figured we could go back to Alfresco for more advanced collaborative features later, if we needed to.
To our collective delight, our trust in our colleagues' abilities was well founded. We set up a demo before the week was out, got the wider team to test it, and built the test feedback into the demo in time for the presentation to Mayank.
The demo presentation - the moment of truth
For me, the demo couldn't have gone any better. Mayank was impressed with our progress and gave us the go-ahead to proceed to Alpha stage. This was a surprise to us, as we'd expected to be asked to review other products before proceeding.
Mayank’s view was: "Try, try fail, try, try succeed.
We’d invested our time, but we'd not tied ourselves into any lengthy contracts, or bought an off the shelf product that we couldn’t bespoke or mould to the department’s needs.
We'd just delivered a concept based on what our users wanted - to work collaboratively – and we could now move forward with turning that concept into a fully-fledged service.
What happens next
Energised by Mayank’s seal of approval, we moved forward into Alpha stage, and within 2 weeks into Beta.
We now have over 7000 people registered from across DWP. We've held talkback events with senior DWP leaders.
Over the next year or two, we'll grow the functionality and the service to include a lot more of the functions that users requested, and add in new things they're asking for - we’re gathering new user needs through the Collaboration Platform itself.
We’ve split these new bits of functionality into small, manageable chunks of work which makes it easier for us to manage delivery and keeps users happy – small regular improvements seem to work better than long periods of development where users don’t see any change to their service.
Lessons we learned
Everyone on the team picked up new skills while working on this project, and we learned some valuable lessons:
- have daily calls or meetings with everyone involved - it keeps everyone on the same page and prevents any surprises. It also keeps you on your toes and ensures everyone is delivering
- good leadership - a good leader will help overcome problems and blockages, and empower you to do the same – no one gave up because something was in the way. We just focused on moving that blockage first
- get a good mix of skill sets – the more diverse the skills and experience on your team, the better equipped you are to deal with any problems
- use the right tools for the job - tools like GitHub and Jira helped us track delivery and code releases effectively across a team that were working from a number of different geographic locations
To find out more about working in DWP Technology sign up for email alerts.