Discipline in IT World
What is discipline? Sounds like a real bad word isn’t it? It
is has a strong negative connotation and only a teacher or military person uses
this word often enough. So one must think how I dare use that word in IT
context. The best employer is rated based on how well they treat their
employees. Folks working in IT are a pampered lot, work times are very
flexible, more benefits compared to any other industry, don’t like to be
micro-managed, it goes on and on. It is so perceived that all IT folks are very
intellectual so has to be treated special. I am a beneficiary of all of this so
why am I complaining.
Picture above
is downloaded from internet…
So before I present my explanation, let’s talk about what
our industry is extremely passionate about –Standards, Processes, companies get
certified on the processes they have (CMM Levels), and have periodic seminars /
sessions about process improvements, etc.
But any process is only as good as the followers or
executors of that process are. At grass-root level the main executors of the
process don’t have discipline and keep violating the rules of the process,
Process falls apart. Doesn’t it? If a QA person (just one person in the group)
does not have discipline to mark appropriate statuses to defects then how
effective would be the decisions made based on those reports generated of those
defects? If developers don’t follow the rule of providing a clear status on
tasks then how can a front-line manager provide any accurate estimates for
various projects and do a resource planning for coming quarters. If a manager
does not have a discipline to provide clear directions to the team and keep
pulling resources in different directions then how can developers provide clear
updates on multiple tasks they might be working on?
Everybody is dependent on everybody; it is an extremely
inter-twined environment. The only solution to this is to have a process that
everybody accepts and is committed to and has discipline to stick to those
commitments. If a particular process doesn’t make sense and if it appears to
cause more work for some folks, then don’t accept it, challenge it back, take
it back to the table and have the process modified to get everybody’s buy-in.
Typically a process looks good on paper, drawing board and in power point
presentations but when it comes to execution, we can come up with all the
excuses in the world to violate one or more small rules of the game that we
have committed to in the beginning.
Let me give some specific examples:
- Test Driven Development – a new ground breaking methodology that will produce a quality code only if developers follow the rule – “developing test cases before start coding the actual components”.
- Agile Methodology – not all of us understand this fully yet. And we all have our own interpretations of what this means and we have customized to our way of doing things. We violate one rule (just for now.. because of other overwhelming things… skipping a retrospective or planning session) we break the process. We are complacent enough that we were able to deliver our deliverables on time. But what if the time estimation itself is wrong because wrong estimates and improper planning. What-if if we follow rules by the book (of course book has to be clear and available to everybody) we might not have to over-exert ourselves on small issues, might be able to take up more stories or have more fun at ping-pong table than attending meetings providing explanations.
- OSGi – a new modular building, packaging and deploying methodology. Failed because we couldn’t manage or govern the proliferation of number of versions of various bundles getting developed and deployed in an environment.
I think discipline is the essence of the life and it is no
less significant in IT world either. I
think I understand what that bald guy from above picture is trying to say. Processes
are designed based on the assumption that everybody involved in it will stick
to their commitments. Most of the times we do, slowly we start making
amendments (start violating rules) and change the overall process itself. And
this new process might not be a well thought out or agreed upon process and a
particular group might be getting victimized all the time. So because of lack
of discipline and proper governance of rules this new process might have become
a counter-productive process. I probably am both a victim and a culprit in
different contexts. (phew.. how many times have I used the word “process”.
Either I must really hate it or love it like I love my life.... no that doesn’t
sound right either)
And of course you can get to this kind of conclusion just by
doing meditation and yoga.
Madhav Deverkonda –
What I Do - Technical Manager - (an oxymoron designation
– I think.. what am I? a technologist or a manager. A question many have asked
and I was never able to give a proper answer.. there you go.. lack of
discipline again.)
Where I work – shhhh….. Don’t want to embarrass my
employer for hiring me.