Is the craft of requirements definition inherently mechanical and not conducive to artistic or any higher form of expression? Are those of us who pursue this vocation doomed forever to be trapped in a world of serial aggregation and disaggregation? Is it a lifetime of purgatory surrounded by Use Cases, Process Flows, Business Data Diagrams and other arcana that few can do well, fewer comprehend and fewer still care about? In the quest for standardization and repeatability, is there any room for individual brilliance and creativity to shine through?
I ask these questions not out of frustration but out of genuine concern for our profession. If we want the best and brightest minds to work in our field, creating great requirements that lead to great software, there is not much chance of that happening if we cannot convince them that our chosen profession offers them a chance to create, express, explore, change and fundamentally make a difference in the world we live in.
Rather than attempting to answer the question in a general form, I am going to answer it personally. How do I find meaning, art, creativity and greater expression in what I do?
First, I do not think of myself as defining requirements but rather as a person who designs AND delivers great software. It may sound strange to you that I think of myself as “delivering” great software when I do not write one line of code. But, if I do not deliver the correct set of features, descriptions of the features and the proper functionality associated with them in my requirements, the greatest programmers in the world will fail. Garbage in, you know the rest…
Second, I think of myself as an artist akin to a musician or composer. A composer has only 8 notes to play with, a finite set of rhythms, beats, cadences and instruments. It is the combination of these fundamental building blocks that makes up an infinite variety of music. I treat the different models, rules, elicitation techniques, and facilitation as my 8 fundamental notes, instruments, beats, rules and rhythms and try to combine them in ways such that the whole is greater than the sum of its parts. A great composer makes great music; bad ones, you know the rest…
Third, I think of the benefits that accrue from the software I am delivering in broader terms than purely dollars and cents. I do not know about you, but after a while these things are just numbers on a spreadsheet, especially if the benefits do not directly accrue in your own bank account. Put differently, a payback of 1 million, 100 million or 1 billion is quite meaningless if they just remain numbers. I think of them in terms of the benefit to myself, my team, my company, my community, my customers and the world around me. For example, if our project saves 10 million dollars annually, then I might get a raise, my team might grow in size and create 5 new jobs, the price of the company’s stock will go up, we can lower the price of our main product by 20% and make it accessible to more people than ever before, you know the rest…
Fourth, I treat all requirements projects with the same respect and care. I approach a small document for a relatively straight forward feature the same way as I do a major global feature with a price tag of several million dollars attached to it. I believe I will be judged the same way in both and give it my all. It sounds corny, but that is what I try to do. As they say, there are no small acting parts, you know the rest…
Lastly, I tweak and personalize the models that I use and the documents that I create. You may call them my personal touches and eccentricities. But, these seemingly trivial things make them uniquely mine. They are my signature, if you may. For example, I truly believe that the Font Arial is the spawn of the devil. So none of my documents will ever have Arial in them. I extend models like Business Data Diagrams with little touches that are unique to me. I color code Decision Tree Diagrams in specific ways. And so on and so forth. I do not do this to be gratuitous but rather because I truly believe that they make the documents more readable, easier to consume and understandable. Consistency is the virtue of…you know the rest…
This is my story. You have your own unique story that brings meaning, art and expression to our craft. Share it with us so we may all be better for it. You know the rest…