|началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~||english|
how much waste you can afford?
Recent 10+ years there has been a growing number of people joining software industry... just to fill gaps. Most of these jobs are not really about making software, and are actually not required, but have appeared because of very inefficient approach to software as a "machine" itself - (for reasons of "politics" or ignorance), not caring about what the software has to be in order to allow efficiency of its usage, that is, to be effective. Instead of people using machines, it comes as software is eating people.
I've seen a _lot_ of places (software-related or not), where job of one is being done by 2-3, because of absense of tools (workflow and organisation are also tools!), or just because of ignorance about all this, with the lame burocratical extensive growth "it's easier to tweak and control people", adding more and more of the same.
Well, right now all economical organisations should be on the look for how to optimize their man-machine pipelines, removing the deadweights. Downsizing is only one poor way. Shortening decision paths is better. Avoiding roundtrips. Removing redundant parts/hops/loops/dependencies... making something else out of them. All these are pure engineering/software terms... but actually apply 100% to reality - they have come from there.
Here's one common antipattern of how most managers try to make the most out of their people: "Please respect the working time". This in 90% of the cases of creative work results in less work done... guess why. Soon they find that the productive people who has been (usualy) working overtime stopped doing it... One reason is because the above sentence can be understood two-fold. Managers want to say "do not work less than the working time" but other side understands "do not work more than the working time". The two intersection of the interests together is the exact_working_time and no more. Especially if people are already doing overtime and then accused of not giving enough... oh, wtf?.
But this especially applies to good programmers... Once they have a constant or limit - they'll stick to it as a lifesaver; there aren't many invariants you can rely on in the virtual world. Be it function arguments or or object's attributes - not bothering about constraints is freedom, and here freedom means efficiency. Else it will be trimming arguments/attributes sets into allowed ranges, over and over, - do u see the overhead? Good programmers are accustomed to defensive strategy "i do not want problems" hence once they have an invariant they stick to it _exactly_.
And it's the good programmers that you will want to work... no? This comes as another usage of the "less is more" principle. The more u expect people to fit into some brick-shape, the more bricks u get... (compare with my motto about the idiot-usable things). The usual burocratic/ corporational approach to this is to split all into very little bricks so anyone would fit in... super-specialization like interchangeable nuts. Well, great software, as other great things, is not done by nuts ... and the informational overhead to combine those bricks back into a bigger picture is enourmous, if at all possible. Which means, the approach will work until some conceptual change is needed... But now life is being even more dynamic and software is matching life even more closely... so changes come more and more often, no? (see also The end of software engineering and the start of economic-cooperative gaming )
I've been doing optimization of software and processing since i've started, 20+ years ago. And the optimization of - if i may say - manware, man-machine software-producing systems - for quite a while, 10 years maybe. You can do huge projects in less time... but it does matter what u use (people or processes or cultural environment or languages or just "screwdrivers") and _how_ u use them. Of course u need enormous level of trust and commitment, and hero/es to base on - run-of-the-mill ones can not lead... Management does not equal Leadership. One has to be very picky about software and people and the way they interact - and the environment/culture to allow for it.
I think I can help organisations to efficiently make effective software - one which runs efficiently AND presumes efficient usage.
Software as _practical_ art...
A change is needed. A CHANGE in thinking.
Priming The Organization For Change - from the Organisational patterns book by James Coplien, Neil Harrison
|'2008-2016 ~ началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~||az()svilendobrev _ com|