Make Your Newsroom Agile
Post originally published on Superdesk.org
By Holman Romero, Chief Technology Officer at Sourcefabric
One of the factors that sets Superdesk, Sourcefabric’s newsroom software, apart from other solutions is our Agile development process. Agile is a widely used methodology for rapid development and prototyping of new software. We add some specific points of our own to the process, starting with our meetings with partners to gather information and scope the project. Here’s an overview of how a typical Agile open-source development partnership with Sourcefabric works.
Getting to know the newsroom
Superdesk is a great news editorial system. We believe in the strength of the ideas behind it and are proud of what it has become. However, at Sourcefabric we also believe that neither Superdesk nor any other newsroom software can solve, out-of-the-box, the problems a news organisation is facing. Technology is there to help but how technology is integrated and applied to a unique case is even more important.
Thus, while great software is developed at Sourcefabric, what we actually do is work closely with news organisations, supporting and advising them on how to make best use of our technology to solve problems, optimise operations and boost their businesses. In this process, it is fundamental for us to deeply understand the different challenges a news organisation is going through: its plans, goals and vision.
In the case of NTB, the largest news agency in Norway, members of their editorial and IT teams came to us looking for better newsroom software. We discussed the problems they were having with their current system and identified the major working items to be developed in a new implementation of Superdesk.
To get a handle on the details, we went to Oslo to see how their newsroom worked and have conversations with reporters in the newsroom as well as with IT staff. We took pictures and also made videos of people at work. This was an exercise where we focused on the problems they were having and their experience with the current system. We asked questions like, what do you/don’t you like about the newsroom CMS you have now? How could it be improved? What would you like to be able to do differently?
This yielded a lot of information. We then went back to the original list of working items and adjusted it based on our findings. The last step of this part of the process, which is the scoping exercise, was to bring all the documentation from the site visit back to our office in Prague and prepare a scoping document that is equivalent to an initial project plan.
In general, this plan contains a detailed description of working items and a backlog of the Superdesk-based product to be built, based on user stories. This is the first component of a standard Agile process. Once we share that with the customer and get feedback, we agree on a backlog and start the project.
Develop, iterate, refine, repeat
The Agile process is done in biweekly sprints. Iterations of two weeks are typical. Every iteration starts with a planning meeting that sets out goals for the next two weeks of work. In this meeting, the project leads estimate the work, developers ask questions and then we kick off the sprint.
Each day of the sprint, we have a short meeting to catch up on progress and promptly deal with potential blockers. Meanwhile, the project manager is in touch with the customer. What’s most important for us in the Agile development process is the feedback loop; how quickly the customer gets to see new features, review them and share their impressions with us. We need to know if things should be removed or changed. Many times it has happened that we start working on a concept for a new feature, but once people see it in action, they realise it’s not going to work. The sooner we get that kind of feedback, the better. Once we have something ready to show, we have a video conference or give the customer access to a new environment where they can try things out by themselves. Then we make changes.
All of that happens during a single two-week sprint. At the end of that iteration, we have another meeting to evaluate the results. We show new features and functions that have been created and all the work that got done is shared so that members of the team can see it, ask questions and make suggestions. We repeat the same thing for the next iteration, and keep doing this until the end of the project.
Meanwhile, the roadmap can change. One of the principles of Agile is adaptive planning. If we conduct user testing and find that something needs to be adjusted or dropped, we can tweak the initial idea or try to solve the problem in new way.
How and when Agile works best
There are a couple of conditions for the Agile development process to work effectively. Communication is the most important thing. It can be a blocker if it’s not handled well. There are certain roles that are also key. On the customer side, the product owner for Superdesk needs to be very involved in the project and committed to its success. On our side, there’s the project manager who interfaces directly with the customer in general and the product owner in particular. We also have a scrum master, who is the person in charge of making sure all Agile practices are being followed by the team. The scrum master is the one who ensures that the meetings happen, that developers get their questions answered. This is the person who clarifies the customer’s business requirements and communicates them internally.
Agile development is advantageous because you know you are delivering what the customer expects. It’s also more efficient because you split an entire project into smaller chunks of work and focus on iterations. Once something is done properly, you can move on. That creates more motivation for the team too, because they deliver something new every two weeks with immediate feedback from the customer.
This kind of flexibility in the Agile process is one of the main advantages for customers. If there are changes in their business requirements or other issues, they can let us know and we can shift priority right away. In general, it’s very interactive. It’s not a situation where they commission a new system, we go away for months or years and then come back with newsroom software they don’t like. The customer is always aware of the project’s status.
That was also the case with NTB, where we rolled out their new Superdesk-based system in a little less than a year from our initial scoping meetings.
Find out more about how we partner with customers to create open-source media management solutions.
Found this post useful? Kindly tap the ❤ button below! :)