The Freedom to Be Creative
Stein Inge Morisbak
Manager at BEKK Consulting AS
Ever since I started in software development, I have worked with skilled and highly educated colleagues. They have been product owners, project managers, architects, testers, systems administrators, and programmers. Having all these roles on a project, you would think that every aspect of a software project would be covered and that we would succeed every time. Yet our projects failed, as unfortunately most software projects do.
At some point, I was asked to be tech lead on a smaller project. The project sponsor wanted to follow the project closely, so we formed a close-knit team around her. I chose seven other people for the project and asked for servers to host the software we were going to build. The project was amazingly successful. We delivered a valuable product and with fewer errors than anything I had been involved with before. Adding new features was easy, and the project sponsor was extremely satisfied when she saw her ideas running in production soon after they were born. We were practicing continuous delivery.
The reason we were able to deliver high-quality software with great value continuously was not that we were superhuman developers. I realized that the main reason for our success was that we only had three roles: the sponsor, the users, and the “techies.” I found out that any roles involved in a project that do not directly contribute toward the goal of putting valuable software in the hands of users as quickly as possible should be carefully considered. We were not being continually measured by project managers or pushed beyond our limits. Architects were not telling us what kind of products or patterns to use. Testers did not obstruct our changes from getting into production. Systems administrators were not trying to prevent changes that could destabilize their servers. We had to take responsibility for the testing ourselves, and we worried about the infrastructure because we were the only ones who could be blamed. We delivered software incrementally to fail as early as possible so that we could correct errors before they got out of hand and get a feel for what the users really wanted.
Technically skilled people are used to solving challenges. The more freedom and responsibility they have, the more creative they will be—as long as their goal is known: to satisfy the sponsors through early and continuous delivery of software valuable to users.