I’ve worked in quite a few different departments in quite a few different organisations, some were good, some not so.
But I have finally worked out what the fundamental difference between the good and the bad is.
The bad places to work focus on process, and believe if the process is ‘correct’ any ‘resource’ can perform it in an acceptable way to an acceptable standard. As long as Resource1 fills out the requirements template, Resource2, 3 or 4, or 1 can complete the design docs, and any resource can code it. Once its coded another resource can test and release it, job done. All resource can now be reassigned, sacked or outsourced – youpee.
The good places to work value people and recognise that individual skills and experience are the vital ingredients to a projects success or failure. Need to understand what the user Jo needs? ask Harry, he used to work in the biz he will be able to understand and translate it. Need a good design, get Harry to collaborate with Debs, she has architected loads of systems that all worked well. Need it coding? get Jack he knows whatever language Harry and Debs agreed will be best, He can help Harry write the code. Oh and while we are at it, why not get Jo the user involved frequently to make sure it is heading the way she expects?
All people, all social, all rewarding work, for everyone involved. But more importantly the collaboration means you don’t have to follow the ridiculous outdated, completely discredited, waterfall implicit in the faceless soulless bad co approach. So even the user Jo wins with people based development as she gets early access to shape and start using the system, and she learns a bit about trade offs.
Of course one of these represents all that was bad about 1970’s waterfall, and one represents all that is good about Agile approaches. Seeing IT people still doing waterfall is nearly as sad as seeing users retyping from one screen or printout to another. What’s doubly depressing is these two go hand in hand, in the same sad companies.
The other thing is, if you are, like me, trying to charge a premium over less experienced developers, process based places are scary. As they believe process is key, your experience and track record aren’t important or valuable to them. So, you will struggle to get anything over the general rate, and if you get a good rate you can expect an early chop. (After a painful period of being pulled back by ‘the lowest common denominator’).
Why are cos still trying to do waterfall? It looks easer to project manage. Once you have those requirements, someone can make up a guess of how long it will take and it can be programmed into the department workflow. Of course the unknown unknowns will have a bigger impact than the known requirements, so savvy PMs will at least double the guess. But a doubled guess is still a guess. You can still guess using a more agile approach, but maybe it would be better to totally revolutionise the project management and just work a prioritised list to time/cost constraints. But the inexperienced theorists in charge didnt cover that at college.
What do you think is the key difference between good places and bad places to work?