Agile and Scrum are based on trust, which allows us to make decisions together. I trust my team to make the right technical decisions. As a project-team I expect us to be trusted to deliver technical excellence.
This also influences my behaviour during the project. And my emails (which are sometimes a necessary evil) are utilized to be clear and succinct.
When we started the project in September we started with a Sprint 0 which had a whopping length of one whole week. In this week we were supposed to set up our environment and to get familiarized with the backlog. Enough so we could estimate its size and select the first sprint backlog from it.
This project was requested by a government organisation that has come into existence after the centralisation of ICT projects and activities. As such they represent the government and use the company I work for as workforce to solve their problems and work their projects.
The actual client (ministries) ask them to solve their problems and they start projects to deliver solutions.
Centralisation is something that seems to come in waves in IT. Any organisation seems to centralise at one point and then de-centralise in a future period. I personally have no problem with this besides the fact that in large organisations like the government, centralisation leads to enormous molochs that move sluggish and can only be governed using rigidly prescribed procedures. By lack of something better, like Lean.
At the start of this project we discussed with them what we would be using as development tools. They had chosen Apex, and because we wanted to limit scripting we advised them to use Apex 4. This was a discussion for them as they were unfamiliar with Apex 4, but they found other precedents in using it in their organisation and went along with it.
Another one of our questions was on how we were going to handle the printouts. Oracle is not a word processor, and the existing application was written in Access and plugged into Word using the office connections in the suite. They told us that using Oracle BI Publisher would be preferred.
As they pointed out this was a standard we accepted this and I ordered a development environment with Apex 4 and BI publisher.
The application has many interfaces, most of them new to the situation as the existing application only has one (to Microsoft Office). They had expressed the wish to make this new application link in to existing government systems. Like the database that contains the “customer” information. There is also a link to the OCR tooling that helps them with paper forms, it had to be linked in. The document archive obviously had to be linked as well. Our ministry team had added another interface to the financial department, which we solved by outputting information to an Excel document as the financial department didn’t provide a link into their financial system.
The functionality in Apex was not so much of a problem. The team is experienced in writing wonderful application using Oracle and Oracle Apex and with the close collaboration of the business we were able to build the functionality that they wanted.
Errors were caught early and fixed quickly, meaning we only had little irregularities in the software when they went into the user acceptance test.
One difficult issue was the incorporation of the highly secret algorithm that would provide a unique code to put on the certifications that would ensure customs around the world to ensure the certificates that the application printed were genuine. Due to the confidentiality in this matter the ministry requested that they write the last part of that. Hence we only supplied a stub.
The main returning issue in this project were the interfaces. All of them. As it turned out, the interfaces were badly documented. The scripts needed to link them were far to be found and as the ICT organisation did not allow us access to their systems we had to rely on them to provide us this information. During the sprints they slowly emerged, yet were deemed of high priority. In Agile we want to tick off the most important issues first, yet we were unable to.
As the project neared its end in December we had already found that is would be impossible to get all the links in.
The BI Publisher tool was another issue. As the output of documents was an important main element of the application this was very high priority. Yet as it turned out, the use of BI Publisher in the ICT organisation was very limited. It was used to output ad-hoc reports to pdf and not actual documents to printers. As we had assumed that a standard would mean they had experience with the tool, this brought on a difficult situation.
Building the required functionality went on unhindered except of the productivity of those in the team working on figuring out how BI Publisher worked and deciphering the interface information we got from the ICT organisation. As we were not allowed to work on the ICT environment they were mostly programming the interfaces blindly, hoping it would work on the ICT environment when they would be able to install the application there in an intermediary release. Most interfaces did pretty well, though setting up a test environment is not a quick process, so as we developed the interfaces they were also being slowly made available on the testing environment.
With difficulty we managed to get two extra sprints. I feared we would need more, but with the hope that interfaces would become available and BI Publisher becoming something we knew how to handle I had high hopes that given that we might still be able to pull it off.
As it seems, the interfaces were almost all available near the start of the last sprint. The sprint which I had hoped would be the “consolidation” sprint. And solutions to the BI Publisher problem were not near.
We had been looking for expertise for a while, but even Oracle could not provide us with a person knowledgable on their product.
It also turned out that the versioning between our testing environment and the ICT environment was incompatible.
Near the end of the last sprint I had finally gotten a working access to the ICT environment for the purpose of developing BI Publisher. We were unable to install the right version on our own environment due to resource issues. I think the ICT organisation was not really happy with that.
Yesterday, as the team was trying to get all the work they had done on BI Publisher related user stories into the ICT organisations repository and trying to test it there, it turned out there was an issue. As the team member who worked on it was unable to find an immediate answer he asked for help on it from the ICT organisation.
They felt we should solve this ourselves as we are the contracted party to build this application, and I got a mail telling me that they were disappointed in us because we had recommended using BI Publisher as a tool for output.
I replied that we had only recommended it after we discussed it with them and had started using it with the confidence that since it was a standard, they would be able to help us understand it. I also added that I thought we should try to figure the problems out together so we could deliver the application in time.
Higher echelons started to intervene, as they were in the CC list. They threw one of my mails at me in which I recommended the business project leader to get an environment ready with Apex 4 and BI Publisher, as it was the standard of the ICT organisation. This was a mail I had sent at the start of the project, because we were in a hurry to get sprint 0 items done. A mail that was now being pulled out of context and used to beat me around the head with, as I had used the words “we recommend”.
You live, you learn…and I guess I have a lot to learn about covering my ass and politics. With this I have learned that there is no trust to be had in government ICT. People apparently rather control things by making sure they are not to be blamed for errors made.
I do admit I should have done some things better. This is a project that is not perfect, yet it is not totally without merit and I have learned a few things.
Next time I have a government project, I will have to find that balance between how open I am toward the ICT organisation. Yet I must admit that the transparency I provided to the ministry has turned out to be a positive point of this project. I enjoyed working with the product owner team and with the ministry project leader. The politics and back-covering is only a small shadow that falls over my experience in this.