Hacker News new | comments | show | ask | jobs | submit login

Re: productive people. We have this notion of the 10x producer, but the real problem is high variability within the same person's work.

I know productivity superstars, but if you catch them on the wrong day or at the wrong time, they look like lazy bums. Over a year, they're extremely productive. On any given day, they may look like they're wasting time.

This property of conceptual work is at the core of a lot of culture clash with people who have more predictable work-comes-in, work-product-goes-out flows.




I know productivity superstars, but if you catch them on the wrong day or at the wrong time, they look like lazy bums.

I've encountered a particularly nasty variation of this since Agile became a Thing, where anyone who isn't writing code or running tests or showing up in the commit logs every few minutes obviously isn't working. The idea that it might be better to step back for an hour, or a day, or even a month, to think things through properly and maybe do some throwaway prototyping before you start pushing code to production, doesn't even seem to be accepted as credible any more in some quarters.


Agile / Scrum is the return of the K-LOC:

http://en.wikipedia.org/wiki/Source_lines_of_code

People don't recognize it as such because the LOC -- lines of code -- has an added time dimension now and a different name. In Agile / Scrum it's K-(issue/day) where issues take the place of raw lines and the metric is applied per unit of sprint duration.

But same idea, and same fallacy. It results in gobs of ugly Rube Goldberg machine code that's slow for fundamental O(crap) reasons and bug-ridden.


"'Agile.' You keep using that word..."

An org that calls what it does "agile" or "scrum" and then proceeds to accumulate technical debt like the Titanic taking on water is lying to itself about what it's doing. Piling up technical debt is a textbook Agile(flavor) failure, full stop.

What sounds like happened in the case(s) you describe is that someone with dev management preconceptions wore "Agile" like a wolf in sheep's clothing and proceeded to dole out the same old ad-hoc nonsense. Nonsense as in being "efficient" (high KLOCs/metrics, butts in seats, long hours, etc.) and not caring about being "effective" (working on the right problem vs a problem, necessary understanding of the company and customer needs, working smarter vs. simply harder, etc.).

I've seen this attitude a number of times, e.g. in program managers with history in big, established s/w companies. They learned a certain way of working, but then talk "Agile" as the trendy hire-word. Unfortunately, some of these folks never gained understanding of the tools that Agile brings to the table, and when/how to apply (or not apply) them to a situation.


I had a manager who believed that such metrics were the only true measure of performance. This same manager also believed that CUDA on a VM (which is itself on a server hosting numerous other VMs, and the bare-bones minimum graphics card--so no support for virtualized usage of CUDA) was a good suggestion for improving performance, that running a debugger on a specially compiled Apache webserver in the production environment would be a great way to troubleshoot performance issues, and that having an 8-12 week sprint/"rolling release cycle" was "Agile" as long as we called it that.

So, yeah, some people just don't get it. At all. And in my experience management is definitely a place where one is more likely to find such people.


1,000x yes! My productivity comes in intense bursts of effort, with quiescent periods of research and reflection between them (or what looks like goofing off to rigidly process-oriented sorts). Combine that variability with mandatory daily scrum meetings and it makes me want to figuratively slit my wrists.


I'll even go a step further. I have a reputation as one of those people who has an ability to get things done at an incredible pace, but there's definitely days where I'm flat-out procrastinating and being lazy.

For me, personally, and I suspect other people like me, it comes down to an ability to perform remarkably well under pressure, along with a lack of ability to perform well when the pressure is off. If there's no urgency to what I need to do, I find it very hard to commit myself to doing something.


It can also be an anxiety thing, if one has generalized anxiety disorder. The anxiety of doing something hard or with higher uncertainty (a challenging software problem) is high, and it takes the even greater anxiety of the high pressure environment to overrule it.

Worth investigating, because it seems like ADD, but it is not. ADHD drugs in this case can be counter-productive as they tend to increase anxiety.

There are techniques to cope with this that can be quite effective.


It's funny, I made a comment on reddit a couple of weeks ago describing myself in almost the exact same way in a discussion about dealing with ADHD as an adult:

http://www.reddit.com/r/science/comments/1j0ml8/psychopaths_...


I am the exact same way, and was recently diagnosed ADHD.


Over the years I've come to realize that what once felt like procrastination is actually my brain working out the solution to a problem, and it quite literally prevents me from reducing the solution to code until it's damned well ready for me to do. So I just go with it now. The only thing that seems to speed this process up is intense cardiovascular exercise, which is probably a good idea on its own anyway (but I imagine it seems awfully odd from the outside).

As for ADHD, I probably have a little of that going on with a sprinkling of Aspberger symptoms, but not seemingly in a sufficient way to have any significant effect on my life and/or overall productivity (except that is when it comes to %$!^ing daily scrum updates which drive me bonkers - once a week would be fine, once a day is ridiculous).


Today I spent 5 hours staring at, stepping through some callback-heavy code, reading HN, browsing the web and about an hour to write, test and deploy about 20 lines of code fixing a really nasty race condition. And I'm still not completely sure things are really fixed. I might have spent even longer had it not become apparent that we have just the two options:

1. band-aid around the problem

2. complete rewrite of a large portion of the website


I'm glad that I am not the only one. I had this impression that I'm a bad developer because I'm not consistent.

During my internship, I did quite a lot of work but in similar manner. Implement an interesting feature, then a week of laziness. Another feature and laziness.

However the other replies to your comment also make me afraid about some psychological problem. I think I need to visit a doctor! :)


The difference between lazy people and people with a disorder is that lazy people don't feel bad about not getting work done.


I'll go even further and state that the problem is using MBAs to formulate how to manage creative sorts cough agile cough cargo-cult coding cough. if the area under your productivity curve is greater than everyone else around you, I don't give a you-know-what about the shape of the curve, you're doing just fine.

To be fair to agile though, I can see situations where it can work. The problem is that many of its adherents seem to see agile as a hammer and all software engineering as various forms of nails.


> The problem is that many of its adherents seem to see agile as a hammer and all software engineering as various forms of nails.

Agile isn't a methodology, but a metamethodology -- or, in terms of the metaphor, it isn't a hammer, it is a set of guidelines to use in selecting tools.

Scrum is a hammer, but Scrum ≠ Agile. Often rigorous adherence to particular methodologies (usually Scrum) get misidentified as being "Agile", but rigorous adherence to a particular methodology is not only not the same as Agile, but is directly contrary to Agile principles (particularly, its a direct violation of the first value from the Agile Manifesto, "Individuals and interactions over processes and tools".)


Except that every incarnation of Agile that I've encountered is a rigid implementation of scrum plus sprint planning plus Jira. And this quickly becomes Waterfall with scrum. And it really sucks.

While I agree that this is against the agile manifesto, that's no excuse. This is how it ends up getting implemented in large corporate environments, a lot in fact, so methinks the agile fans ought to take some ownership of this recurring problem and either find a solution or stop shoving agile down everyone's throats.

Finally, I'd take a 30% pay cut to escape agile to do exactly the same work I'm doing right now minus scrum. I'd get more work done and I'd feel better about it because I would no longer feel like I have the engineering equivalent of an ankle monitor attached to me. That's more than worth the loss of compensation to me.


> Except that every incarnation of Agile that I've encountered is a rigid implementation of scrum plus sprint planning plus Jira.

This is not a problem with Agile; anything that works anywhere will lead to imitations that steal the name and attempt to extract some simple recipe from the "lessons" of that thing that worked.

> While I agree that this is against the agile manifesto, that's no excuse. This is how it ends up getting implemented in large corporate environments

No, its how something that is nothing like Agile gets implemented in large corporate environments and called Agile.

Fundamentally, this is a symptom of a broader leadership culture issue environments in the authority structure and culture has people that neither know nor care to know about the domain have authority for decision making within that domain, and its certainly beyond the power of people external to the affected organizations with an interest in particular approaches to problems in any given domain (software development or otherwise) to do much about. It is, however, a pervasive problem in large bureaucracies (not only corporate ones.)


If the Agile Manifesto were just that and little more, I'd agree with you...

But instead it has become an enormous metastasizing moneymaker for minting Certified Scrum Masters, Certified Scrum Product Owners, Agile Certified Practitioners, and all sorts of other Agile titles for $1000+ a pop. So I guess we're going to have to disagree because I think this means a little ownership of the issues that arise in the practice resulting from that training is appropriate here. Because what I'm hearing from you now sounds a lot like the usual "You're doing it wrong!" refrain which accomplishes precisely nothing.


> But instead it has become an enormous metastasizing moneymaker for minting Certified Scrum Masters, Certified Scrum Product Owners, Agile Certified Practitioners, and all sorts of other Agile titles for $1000+ a pop.

As long as there are people looking for packaged solutions and willing to pay top dollar for them, there will be people willing to sell them to you under any name that you ask.

But if the name on the tin is refers to something diametrically opposed to that kind of packaged-solution approach, well, its probably not going to be an accurate label.


Me too. My productivity curve looks very rocky, with very tall spikes -- huge amounts of very hard stuff done in hours -- and days where nothing happens. There seems to be a longer-duration cycle too. I have super-productive weeks and ho-hum weeks. Overall the average is decently high.


I will tell you the secret to exhibiting consistent productivity, taught to me long ago by a master who shall remain nameless.

Hold back some of the extra work on your killer productivity days and keep it in reserve. On those off days, reach into the "bank" and push some of those changes.

And now you are consistent.


I know what you mean - my productivity definitely goes in cycles. I might create a great deal in 2 weeks, and then spend the next 2 weeks being unable to get much done.

But I learned long ago not to worry about it. The down cycles inevitably pass and then I'm producing again.

(no, I'm not bipolar)




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: