– „Martin Fowler sice hezky popisuje, jak si vybírá spolupracovníky, aby nebyli přeborníky jen na vymezenou oblast, ale spíš všestraně užiteční, až bude společnost přecházet na jinou vývojovou platformu. S tím se dá ale s úspěchem polemizovat.“
V tomto clanku bohuzel nic podobneho nevidim. Vidim tam tvrzeni, ze jsou tito lide pro zakaznika/firmu vyhodnejsi.
Doporucuju k prostudovani nejake dalsi clanky na podobne tema od MF:
http://martinfowler.com/bliki/CheaperTalentHypothesis.html – """Its really difficult to drive this point to old school companies who think a army of cheap programmers is a bargain than small teams of really talented people. No wonder why there is so much inefficiency all around."""
http://martinfowler.com/bliki/CannotMeasureProductivity.html
http://martinfowler.com/bliki/TechnicalDebt.html
Pripadne nejake clanky od Joela: http://www.joelonsoftware.com/articles/DevelopmentAbstraction.html
A hlavne neco o metodologii, protoze se mi zda, ze tu propagujete „Monumental“:
http://martinfowler.com/articles/newMethodology.html
„From Nothing, to Monumental, to Agile“, tzn. ze jste rekneme 10 az 20 let pozadu za opravdu uspesnyma firmama jako jsou Microsoft, Apple, Google a dalsi:
""""
Before Google, companies in Silicon Valley already knew it was important to have the best hackers. So they claimed, at least. But Google pushed this idea further than anyone had before. Their hypothesis seems to have been that, in the initial stages at least, all you need is good hackers: if you hire all the smartest people and put them to work on a problem where their success can be measured, you win. All the other stuff—which includes all the stuff that business schools think business consists of—you can figure out along the way. The results won't be perfect, but they'll be optimal. If this was their hypothesis, it's now been verified experimentally.
""""
http://www.paulgraham.com/5founders.html
Vezmu-li v uvahu, ze dobry programator je hlavne dobry optimalizator (coz vychazi z jeho nezbytne lenosti: Why Good Programmers Are Lazy and Dumb – http://blogoscoped.com/archive/2005-08-24-n14.html), tak jestlize ma programator moznost zoptimalizovat procesy, bude z toho Agile a nikoli Monumental. Tzn. Google a ne „Velka Enterprise Nekompetentni Firma“ s programatory v Indii nebo Cine.
– „Proč bych nabíral skvělého „vymýšleče“ do týmu, když ty, co to navrhnou a vymyslím mám a prostě potřebuju člověka, který umí platformu a bude kódovat a navrhovat relevantní úpravy, protože zná výborně danou oblast?“
Protoze http://martinfowler.com/articles/newMethodology.html#PlugCompatibleProgrammingUnits ? :
""""
Plug Compatible Programming Units
One of the aims of traditional methodologies is to develop a process where the people involved are replaceable parts. With such a process you can treat people as resources who are available in various types. You have an analyst, some coders, some testers, a manager. The individuals aren't so important, only the roles are important. That way if you plan a project it doesn't matter which analyst and which testers you get, just that you know how many you have so you know how the number of resources affects your plan.
But this raises a key question: are the people involved in software development replaceable parts? One of the key features of agile methods is that they reject this assumption.
Perhaps the most explicit rejection of people as resources is Alistair Cockburn. In his paper Characterizing People as Non-Linear, First-Order Components in Software Development, he makes the point that predictable processes require components that behave in a predictable way. However people are not predictable components. Furthermore his studies of software projects have led him to conclude the people are the most important factor in software development.
In the title, [of his article] I refer to people as „components“. That is how people are treated in the process / methodology design literature. The mistake in this approach is that „people“ are highly variable and non-linear, with unique success and failure modes. Those factors are first-order, not negligible factors. Failure of process and methodology designers to account for them contributes to the sorts of unplanned project trajectories we so often see.
-- [Cockburn non-linear]
One wonders if not the nature of software development works against us here. When we're programming a computer, we control an inherently predictable device. Since we're in this business because we are good at doing that, we are ideally suited to messing up when faced with human beings.
Although Cockburn is the most explicit in his people-centric view of software development, the notion of people first is a common theme with many thinkers in software. The problem, too often, is that methodology has been opposed to the notion of people as the first-order factor in project success.
This creates a strong positive feedback effect. If you expect all your developers to be plug compatible programming units, you don't try to treat them as individuals. This lowers morale (and productivity). The good people look for a better place to be, and you end up with what you desire: plug compatible programming units.
Deciding that people come first is a big decision, one that requires a lot of determination to push through. The notion of people as resources is deeply ingrained in business thinking, its roots going back to the impact of Frederick Taylor's Scientific Management approach. In running a factory, this Taylorist approach may make sense. But for the highly creative and professional work, which I believe software development to be, this does not hold. (And in fact modern manufacturing is also moving away from the Taylorist model.)
"""