I started out basically working on management improvement from the start of my career. My makeup (I am never satisfied and figure things should always be better) along with a few traits, experiences and probably even genes made this a natural fit for me. I tend to take the long view and find fire fighting a waste of time. Why fix some symptom, I want to fix the system so that problem doesn’t happen again. My father worked in statistics, engineering and business improvement and as I was growing up I had plenty of experience with process improvement, understanding variation, experimenting, measuring results…
I came into the IT world as I had needs and found the best solution was to write some software to help me accomplish what I wanted to. One thing that better software tools allowed is this type of thing when organizations failed to use technology well, individuals could just do so themselves. Without these tools people had to rely on the organization, but today atrophied IT organizations can often be circumvented. Though the IT organizations often try to avoid this largely by bans (instead of by providing the tools people need), which is not a good sign, in my opinion.
I then spent more and more of my time working with technology but I always retained my focus on improving the management of the organization, with technology playing a supporting role in that effort. That is true even as where I sat changed. And I have become more convinced organizations would be served well by using the information technology staff as business process experts.
At one point I sat in the Office of Secretary of Defense, Quality Management Office where I was able to focus on management improvement and using technology to aid that effort. Then I went to the White House Military Office, Customer Support and Organizational Development office and focused largely on how to using technology to meet the mission. Then I was moved into the White House Military Office, Office of Information Technology Management.
And now I work for the American Society for Engineering Education in the Information Technology department. My role started as partially program management and partially software development and as we have grown and hired more software developers I am now nearly completely a program manager.
I believe technology is a central component of understanding business processes today. But the truth is, many business people don’t have as complete an understanding as I feel they should. Now I believe, most anyone interested in planning their management career needs to develop a facility with technology and specifically how to use software applications to improve performance. You don’t need to be an expert programmer but you need to understand the strengths, weakness, limits of technical solutions. You need to understand how technology can be used (and the risks of options).
At the same time I just don’t think it is likely management everywhere will get a decent understanding of application software development. I also believe that in many cases organizations should do software development in house. This is a issue that certainly can be argued (but I won’t do it here). Basically I don’t think organizations should cram their processes into designs required by off the shelf software. Instead I believe they should design processes optimal for their organization and using off the shelf software often does the opposite (forces the process decisions around what software someone decided to buy). There is plenty of use for off the shelf software that doesn’t force you to make your processes fit into them (and sometimes even if it does that is the business decision that has to be made – I just think far too often organizations look at short term costs and not the overall best solutions for the system).
A very good way to deal with this is to increase the business process understanding of software development staff. As I moved into software application development I found them to be the most attuned to process thinking of any group I have experience with (much better than managers overall). So while we can hope that managers become expert business process thinkers (they really should be) I really think most organizations would be served well by formally making the software development staff responsible for helping the organization understand and improve business processes.
For this to work well the software developers need to understand their role is to help managers (business process owners…) improve the organization. Agile software development methodologies do this well. Though I am suggesting a bit of a change to the generally accepted practices by adding more business process analysis and judgement to the software development organization.
This requires some careful communication and teamwork to make sure managers don’t feel their authority for their business processes are being taken away. I don’t see it like that but it certainly could be an issue. And it does provide a challenge for the software development organization to provide value, negotiate this potentially contentious terrain and take more responsibility for helping the organization take a systemic view of itself. This does require software development staff with these skills. But a huge benefit of doing this is the best software development staff have these skills and want to use it.
I think that one of the big strengths with agile software development is that it creates a system where these people can take pride in what they do and step up to really improve the organization. And I believe formally deciding to acknowledge these staff should be participating in deciding what business process strategies are best you will create an environment that great people want to work in. And keeping great people is important.
Frankly in the short term it is easier to let those outside of the IT department set priorities and make decisions. But, in the long run the success of the organization can be improved in many cases by taking advantage of the opportunity to bring together business process decision making and software development. The key to success is building a good system to provide results and for there to be cooperation and communication between everyone involved.
Related: Interruptions Can Severely Damage Performance – Highlights from the Curious Cat Management Improvement Blog – A Programmer’s View of the Universe – Toyota IT Overview – YouTube Uses Multivariate Experiment To Improve Sign-ups 15%