The Secret Sauce of Highly Productive Software Development
Bottleneck?
by
Jim Standley
And this view will show us interesting things about the cost of change and the value of Big * Up Front?
Synchronicity
by
Kevin Rutherford
Re: Bottleneck?
by
Amr Elssamadisy
But, I cannot think of one single thing that can make any team get such a gain. As awkward as that may feel and sound, it points to the fact that it *is* the bottleneck.
I have shared my thoughts here to test that bold assertion with the community.
Re: Synchronicity
by
Amr Elssamadisy
Very interesting article
by
Alexandre Poitras
By the way, I really enjoy the quality of the articles on InfoQ. Continue the good work, it's really appreciated to see a site dedicated to quality content rather than publishing the latest "Framework XYZ has been released".
Learning is hidden and underrated.
by
cleve gibbon
I found that great teams are full of people who want to learn and on learning new thingthrive s. Agile is a great way to build this into everyday project life.
On the article I found that teams that skip retrospectives suffer badly. I think it is one the most important parts of the learning process. Also, migrating the "whole" team thinking over to TDD is challenging but very important from the feedback cycle perspective. These two have stood out key contributors to addressing the learning bottleneck.
I'm interested to know if you have any similar experiences with the practices you mention in your article?
Re: Learning is hidden and underrated.
by
Amr Elssamadisy
Check out the book on Patterns of Agile Practice Adoption: The Technical Cluster (www.infoq.com/minibooks/agile-patterns) - it is focused on adoption, which necessarily includes learning.
To be an agile development org or not to be...
by
Remember Objective
The end result of not learning is fragmented, transient non-organization of temporary specialist workers, who never talk to one another about actual business-related problems or technical creation because they have nothing relevant to say to one another.
That's pretending you don't have a development organization.
Nobody has "enough time". They only have time to keep going in their specialist microcosm. "Learning"? What are you talking about--don't you have enough to do? A new language? What for? I am not in pain even though I'm still compiling and "building" web apps...
Ruby? Ruby on Rails? I've never heard of them before this conversation. He was serious.
Learning is always "playing" and only in spare time, which there is none of. Why would a person have spare time if they were essential to the organization? To the non-organization...?
What customer in their right mind is going to pay for me learning something, unless I'm a certified learner of some kind with a demonstrated track record of getting an ROI from learning? Why not just hire someone who already knows? How does the customer know that the developer is willing to jump in? Easier said than done...
I have 600 fields to display in a form. I do it the hard way and charge the customer for that, and they think they're getting a hard worker. I pass this pile of code on to the next developer, who declares it a unmaintainable pile of rubbish, but it sure must've been a lot of work, yeah.
The next developer invests some learning time, finds a way to do it much easier with less effort. It's a total rewrite. What do we tell the customer?
But then, that developer has moved on to AJAX and wants to rewrite it again...because they have since learned that it could be done much simpler. Server-side is just boring now...no matter what the language.
Re: To be an agile development org or not to be...
by
Deborah Hartmann
Re: To be an agile development org or not to be...
by
Alexandre Poitras
that is the question.
The end result of not learning is fragmented, transient non-organization of temporary specialist workers, who never talk to one another about actual business-related problems or technical creation because they have nothing relevant to say to one another.
That's pretending you don't have a development organization.
Nobody has "enough time". They only have time to keep going in their specialist microcosm. "Learning"? What are you talking about--don't you have enough to do? A new language? What for? I am not in pain even though I'm still compiling and "building" web apps...
Ruby? Ruby on Rails? I've never heard of them before this conversation. He was serious.
Learning is always "playing" and only in spare time, which there is none of. Why would a person have spare time if they were essential to the organization? To the non-organization...?
What customer in their right mind is going to pay for me learning something, unless I'm a certified learner of some kind with a demonstrated track record of getting an ROI from learning? Why not just hire someone who already knows? How does the customer know that the developer is willing to jump in? Easier said than done...
I have 600 fields to display in a form. I do it the hard way and charge the customer for that, and they think they're getting a hard worker. I pass this pile of code on to the next developer, who declares it a unmaintainable pile of rubbish, but it sure must've been a lot of work, yeah.
The next developer invests some learning time, finds a way to do it much easier with less effort. It's a total rewrite. What do we tell the customer?
But then, that developer has moved on to AJAX and wants to rewrite it again...because they have since learned that it could be done much simpler. Server-side is just boring now...no matter what the language.
Totally agree and yet you are only discussing technical learning. Domain learning (distillation as Erik Evans called it in his book) is at *least* as important as technical learning.
Re: To be an agile development org or not to be...
by
Greg Helton
Feedback from Agile 07 Lightning Talk
by
Amr Elssamadisy
For the very first time in all the groups I have asked, several people seriously said that the second time around will take significantly more time to build. People don't really speed up until the 3rd time around. There were some that had (almost) built the same thing twice also (conferences are great!)
Hmm.... What does this mean? Does this mean that the hypothesis of learning being the bottleneck is wrong? Or that we, as human beings, need several times 'around the block' to learn correctly?
I'll try to encourage some of the attendees of that session to comment on this thread.
Amr
Implication is not bidirectional
by
Cliff McCollum
It means that any efforts we spend on anything other than learning will provide only limited productivity gains. Conversely, it means that anything that does improve our productivity has somehow improved our rate of learning.
If learning accounts for 25%-80% of a projects time, I agree that spending time on things other than learning may have decreased value.
However, this does NOT imply the converse, as your quote seems to indicate. There can still be numerous things that will increase productivity that have nothing to do with learning. Nothing in this article, or its evidence, supports the idea that all productivity increases come from learning.
Re: Implication is not bidirectional
by
Amr Elssamadisy
While I agree with most everything in the article, and enjoyed the ideas it presents, it contains some very poor logic.
<\blockquote>
If and only if (iff) learning is the bottleneck, then all productivity gains must come through improving that bottleneck. (The article is a hypothesis and not a proof or evidence of an experiment.)
The assertion made in TOC is that any improvement in throughput can only be through improving the bottleneck.
So, let's make this easy, all it takes to disprove a hypothesis is one counter-example - could you oblige me with one?
Re: Feedback from Agile 07 Lightning Talk
by
David Chia
The classic example is giving birth. It's not going to be much faster than 9 months, that's just the nature of it. The mother that has given birth already cannot use her knowledge to have a second child in, say, 4 months. In fact, the second pregnancy might prove even more difficult because of any number of external factors. Even though the mother gained knowledge from the first pregnancy, it wasn't applicable the second time around.
Is learning the bottleneck? Great question. Maybe it's only half the problem. As the GI Joe cartoons of my youth used to point out, "Knowing is half the battle." Perhaps the other half is doing, being able to use the knowledge you've gained. If you can't use it, was it that useful?
Also, what do we decide to learn? Are we learning the correct things? Let's use a driving example. Let's say I've got a manual transmission car and I'm learning how to go from A to B. I've determined that being able to shift optimally can shorten the time by 10%. That's great, but not when compared to a shortcut through an alley that could've saved me 80% of the time.
Educational Content
Large-Scale Continuous Testing in the Cloud
John Penix May 24, 2013
Managing Build Jobs for Continuous Delivery
Martin Peston May 24, 2013
Clojure in the Field
Stuart Halloway May 23, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think