by Steve Kuo
One of our internal customers had been having a lot of problems scaling how they work.
We work very closely with this team and heard about their pain in our regular meetings, so the development team took the initiative and reached out to see how we could help them improve their workflow to deliver not only more services to existing customers but have the ability to scale to new customers without having to hire more people.
The problem involved a semi-complex workflow: creating new projects (6 data details matrixed to topics), updating multiple existing projects (adding new topics to the data matrix) and finally getting the all that matrixed data into our system.
- The first part involves creating a new Excel spreadsheet, manually matrixing data into complex strings, highlighting the new rows (added or modified) in yellow, adding it to version control, and then submitting it for a manual upload data entry process.
- The second process involves checking out an existing spreadsheet, adding new data matrix rows, de-highlighting previous “new/updated” rows, highlighting in yellow the new rows, and then submitting them for the same manual upload data entry process. We were called in for two reasons. First, because of inconsistent data being uploaded and the need to double and triple-check data in/out of our system for being correct. Secondly, the process is very labor-intensive and requires high attention to detail resulting in making scaling up problematic.
We started by sitting down and observing how the users did work in the system and asking questions. They were quite clear that they knew the problem was in the upload and data entry process. Lots of errors were occurring when hundreds of data rows were being manually entered into the system. They were quite adamant that they wanted to keep their spreadsheets and for us to not take them away. More than a couple times in the past “programmers had tried to take away our spreadsheets” and given us workflows that didn’t work.
We accepted that, made it clear that we were not trying to take away their spreadsheets, and just wanted to help. We asked them, “What’s the simplest possible thing that we could deliver to them quickly that would help you do your job?” To which they answered, “Could you help with our new spreadsheet data matrix creation?” Absolutely!
We delivered to them a web page that allowed them to add in their 6 data fields and many topics. They would hit “Generate” and out would come (to download) a spreadsheet with the 12 columns of generated complex data fields using the 6 data fields for each topic. Each topic resulting in one row of 12 columns of complex data. The customer was engaged, but not super impressed. Their first suggestion was to allow them to name the file (essentially give the project a name), which we added. This pleased them, but they came back with, “We really don’t create new ones that frequently, we generally use existing and just append rows to it with the new tactics”.
Fantastic, we accept that challenge.
We dove into that fairly quickly, and we saw that the “new” rows were denoted by yellow cell highlighting in each spreadsheet. When new topics were to be added, they’d open up the existing spreadsheet, de-highlight the previous rows, create the new complex data fields (by hand), highlight them in yellow, and submit them for upload. It was pretty straight-forward, the user would still enter the 6 data fields and the topics they wanted to add. The user would pick from the already uploaded projects and hit “Generate” and again we’d generate and download a spreadsheet with the selected project name, sort all the previous rows by date, add the new rows and highlight the new rows.
The user was a little bit more engaged and could see the value in this. They came back and said that doing this one at a time really wasn’t what took up all their days, though. Most of the time they have to add 3–8 topics to 100 spreadsheets at the same time … that’s what really takes up their time. “You want to free up weeks of my life, you give me a tool that will allow me to do the same multiple topics on multiple spreadsheets at the same time.” (E.g. add the same 5–10 topics to 100 spreadsheets at once.) Challenge accepted!
We could already update one spreadsheet at a time, now all we had to do was implement a multiple project select, adjust multiple topic selection slightly, generate multiple spreadsheets, and finally figure out how to decompose the 6 data fields from the complex data fields (we didn’t store the raw data fields anywhere). The first three were easy, the last one took a bit of domain research, but we figured it out.
We demoed the final product that allowed the user to select multiple/all projects. They could then add multiple topics and hit “Generate” and out would pop a .ZIP file with multiple spreadsheets. The user was excited, some would even dare to say delighted. They were on the edge of their seat. “This is amazing. This will save me tons of work! So now all I have to do is submit all 103 of these spreadsheets for upload? Why do I have to do this manually? Can’t you automate that process? That could get rid of the spreadsheets completely!”
All delivered over a 6-month time frame and we continue to expand and deliver today. The team works on a range of other things as well, so not 100% dedicated to this effort. Deliver small incremental value, get feedback, gain trust and iterate. One place that we struggled was coming up with a way to get data on how much value or how to measure the value that we are delivering to the customer. We went with the simplest possible. When a user clicks “generate”, we log the event with some other useful data. We have a basic counter on how much it’s used. From here, we continue to iterate.
Our incremental delivery approach of evolving simple solutions worked very well for us. At the basic level we delivered features that users leverage every day that improve their ability to do their job. However, we also gave them a different way to work. We showed them that change can be a good thing. We demonstrated that we can deliver on small ideas that can then be iterated on, resulting in big improvements. We helped them learn that change can be easy and intuitive, not awkward and feared. Less fear, more understanding. As a result, users are now much more engaged with us. They trust us and we trust them. It’s a great beginning for a newly reformed relationship. We were able to heal a small part of the business/development divide by listening to users and delivering small incremental work.
This is an Agile Alliance community blog post. Opinions represented are personal and belong solely to the author. They do not represent opinion or policy of Agile Alliance.
Originally published at https://www.agilealliance.org on December 23, 2019.