Live data from Hacker News

Agile is a Sham

williamedwardscoder.tumblr.com

51–60 of 189 posts

Re: Agile is a Sham

#51

[Obligatory plug and disclaimer: Agile professional who wrote an earlier rant "Agile Ruined my Life" http://www.whattofix.com/blog/archives/2010/09/agile-ruined-... Also I am writing some practical how-to Agile e-books trying to undo some of the damage: http://tiny-giant-books.com/scrummaster.htm ] Just differentiate between what Agile is and how people are pushing Agile on you. Different things entirely. Agile is be…

> [Obligatory plug and disclaimer: Agile professional You sell process for a living. You claim, "After all, it's not like you can have no process at all. Whatever you're doing already is a process." When you said that, you accidentally got something right. Programming is a process. It's the only one that fucking matters if you're a shop that sells software. All the other process comes from snake oil salesmen as yours…

Spoken like a true cowboy programmer who can't collaborate his way out of a wet paper bag and blames process when a team he's part of fails because of that...

Re: Agile is a Sham

#52

The problem with these "only good programmers will create good products so stop with the Scrum already" rants is that in real life we have more than enough mediocre engineers and we just have to come up with best possible products with those. I work as a quality assurance consultant. Usually companies buy my services when everything is messed up. Now if I try to solve their problems by saying "hire better engineers",…

The other problem is that the people who write those rants are probably not half as good as they think they are.

Re: Agile is a Sham

#53
This blog post offends me a little bit. The post screams hey, I am a cowboy programmer, and it almost implies that if you employ processes then you are stupid.

In this day and age, I would have thought finding the right tool for the right job is common sense. Apparently not.

Agile, among many other things, is not a silver bullet - it never was and it never will be. The key thing is to experiment and find what works for you, your team and your company. Most software projects are done in a team environment - putting a bunch of talented developers and designers together actually isn’t as simple as many seem to think. One example is right out of that original blog post:

> Given that I am not a fan of prescribed process as the solution to our problems, you can infer my opinion of the general quality and effectiveness of those programmers who teach these courses.

From that attitude, I can already see that he is an interesting developer to manage.

A team needs to function efficiently as a team. Having one or two ace developers aren’t going to help a lot if they can’t get along with the others.

Not to mention that people have spent time and effort proving that techniques such as TDD work for certain projects [1].

As many things in life, there are always people who try to take advantage of others. No doubt there are questionable ‘agile consultants’ who try to make a fortune out of uninformed clients. Just because some people aren’t using agile effectively or even correctly, doesn’t mean agile itself is a sham. Developers constantly make mistakes and write shitty code - should we say all the programming languages out there are a sham?

Keep an open mind is important, and a lot of times even necessary. To dismiss agile all together is in my opinion childish, and offensive to others who try to improve things and create more value.

[1] http://research.microsoft.com/en-us/news/features/nagappan-1...

Originally posted at http://fredwu.me/post/20058808238/agile-is-not-a-sham

Re: Agile is a Sham

#54
post #25

No. Process is important; it's necessary. There are at least two prongs to this problem: one is you can't manage what you don't measure, and process gives you a way of tracking functionality implemented, defects, defects resolved, etc. There's nothing inherent to programming that gives your manager or your team any sort of knowledge about how far along you are, or just as importantly, when you will be done. You can h…

No, it's even worse. You can't manage what you can't measure. And so far no one has found a metric to measure creative output like painting, writing poetry or writing software. Whatever metric you choose to measure and evaluate your team, and esp. what ever metric you reward is going to lead your team optimizing their performance for that metric. You want to measure LOC, programmers WILL write more lines. Want to mea…

> And so far no one has found a metric to measure ... writing software

How about ...

* Number of new features delivered per week (and size of said features)

* Number of new users per week

* Number of page views per day

They're fuzzy metrics at best, but saying "writing software can't be measured" is just defeatism. It's not fine art, it's not a Jackson Pollock painting, it's a craft. It has utility. We can get a grasp on that. Even the pretty bits are ultimately there to make it more useful to people.

Re: Agile is a Sham

#55

I personally think Agile is mostly a scam built around some very small nuggets of common sense wisdom, which has then been propagandized by legions of clueless methodology consultants to mediocre teams and management, and spun into mediocre books and conferenceware. Just my personal opinion, ymmv etc. That said, this is a badly written article which doesn't convey much useful information or convincing argument. I am…

True, the article is basically a rant, but I tend to agree. I've felt like the agile train left my station long ago and it wasn't for trying. After being invited to attend a free 'workshop' from one of the holiest purveyors of agile out there, I left with the feeling that it definitely was all for those who did not know how to actually 'do the work'.

The trends I've been seeing and trying to do are as follows:

* full stack responsibility. You own the task front (js/html) to back (db), including testing.

* no f-ing standups. Communicate normally with your colleagues, no prescribed check in with them.

* no iterations. Release whenever; it may sound crazy but kanban style release whenever you're ready to push features out, in my mind, is the way to go.

* engineers, again, run the company. This in my mind is the biggest thing - having those 'with power' also be engineers and the product being the most important product.

All the above are the opposite of what I've seen with the agile movement. Keep teams small, keep them close and your product will reflect that.

Another huge, HUGE thing is to get the fucking mba management types out of the office. Can't stress this enough: if you can't code, you don't belong. You're making a tech company but you don't understand the basics of how the product is made.. So, you own a furniture making company and you don't understand what glue, oak, and lathes are..? Fail.

That's my real life experience and opinions regarding agile. I've tossed away all the agile stuff for a new project I'm doing and like the poster says, it's all based on common sense. You can run your company or project any way you want. I have friends that have millions in revenue every year with their small shops and they don't do any agile stuff. Yet they're one of the leaders in their space and when my friend, the engineer ceo, told me "we have no iterations or deadlines except when it has to be done by", that was a big wakeup. I was thinking "THAT'S how I want to do things".

So, it can be done. Good luck. :)

Re: Agile is a Sham

#56
post #25

No. Process is important; it's necessary. There are at least two prongs to this problem: one is you can't manage what you don't measure, and process gives you a way of tracking functionality implemented, defects, defects resolved, etc. There's nothing inherent to programming that gives your manager or your team any sort of knowledge about how far along you are, or just as importantly, when you will be done. You can h…

No, it's even worse. You can't manage what you can't measure. And so far no one has found a metric to measure creative output like painting, writing poetry or writing software. Whatever metric you choose to measure and evaluate your team, and esp. what ever metric you reward is going to lead your team optimizing their performance for that metric. You want to measure LOC, programmers WILL write more lines. Want to mea…

Measuring something in order to manage it does not automatically mean that the management consists of incentives or punishment - and if you don't do those things, people have no reason to game your measurements.

There most definitely are useful software metrics that can provide important information to management, mostly in the form of identifying problems and risks, which can then be adressed before they become urgent.

Re: Agile is a Sham

#57

Earlier quoted context omitted.

No, it's even worse. You can't manage what you can't measure. And so far no one has found a metric to measure creative output like painting, writing poetry or writing software. Whatever metric you choose to measure and evaluate your team, and esp. what ever metric you reward is going to lead your team optimizing their performance for that metric. You want to measure LOC, programmers WILL write more lines. Want to mea…

> And so far no one has found a metric to measure ... writing software How about ... * Number of new features delivered per week (and size of said features) * Number of new users per week * Number of page views per day They're fuzzy metrics at best, but saying "writing software can't be measured" is just defeatism. It's not fine art, it's not a Jackson Pollock painting, it's a craft. It has utility. We can get a gras…

That's even more nebulous. Yes, those things are perfectly measurable, but how do you translate x number of new users per week into code?

Isn't that what software development is all about. It's about collapsing this cloud of uncertainty into concrete deterministic expression a.k.a code, which only solves the problem as you understand it.

If software development were that measurable, software developers would be as well paid as CEOs or sales people. But we are not. Because there is no way to demonstrate almost any relationship between what we do on daily basis (stare at screen and type on the keyboard as management often sees it) and sales and revenue. Some places go as far as to think of their development organization as overhead, a cost center.

Re: Agile is a Sham

#58

I like to say to people: "Software Engineering is an attempt of turning an art into science". Let's be honest. Software development is an art form. Just like people form groups from quartets to orchestras to make music, so do people form groups of differing skillsets to develop software. That doesn't mean an art is shooting from the hip. There is still tons of practice to be done, and the various skill levels of each…

Let's be honest. Software development is not an art form. That's pretentious bullshit. It may have some creative aspects, but far fewer than it has aspects of craft and, yes, engineering.

Re: Agile is a Sham

#59
post #25

No. Process is important; it's necessary. There are at least two prongs to this problem: one is you can't manage what you don't measure, and process gives you a way of tracking functionality implemented, defects, defects resolved, etc. There's nothing inherent to programming that gives your manager or your team any sort of knowledge about how far along you are, or just as importantly, when you will be done. You can h…

No, it's even worse. You can't manage what you can't measure. And so far no one has found a metric to measure creative output like painting, writing poetry or writing software. Whatever metric you choose to measure and evaluate your team, and esp. what ever metric you reward is going to lead your team optimizing their performance for that metric. You want to measure LOC, programmers WILL write more lines. Want to mea…

> how do you translate x number of new users per week into code

You talked about turning code into metrics, now you want to turn metrics into code?

It's the other way around. Scrum translates delivered code into metrics. You track history. You would say "last week we delivered 4 new features and signed up x new users. That's above our average." It's not entirely nebulous.

Re: Agile is a Sham

#60

Well, agile and TDD (not necessarily together) are good for two kinds of projects. (1) If you're building simple web apps for small town clients in a framework like RoR, you can break things into little tasks and estimate with laser-like accuracy. This fits in great with an agile methodology (2) If you're writing security-sensitive string parsing code or any algorithms with tricky components, TDD is a big win. When I…

You're wrong on both accounts: (1) Being able to estimate with laser-like accuracy is not part of what's agile. Estimation is not part of the agile manifesto at all - Kanban for example can be done without a single estimate. It just limits the number of tasks that you have in parallel. Scrum on the other hand does deal with estimates, but it mainly postulates that you can't estimate large chunks of work at all and sm…

My own "agile" process for certain kinds of development involves breaking down all tasks to less than an hour and estimating time to 10 minute granularity and planning on weekly releases.

For boring web apps built on the right framework I find this keeps everybody very happy. Devs aren't chasing their tails, you can make and keep promises to the client, etc.

Of course you've got to be building the kind of app where there aren't surprises, but those exist.

As for the other project, the whole thing is a machine where you put a 600 million fact knowledge base in one end and it manufactures 'potempkin villages' (little knowledge bubbles about particular domains w.r.t a point of view) on the other end. Once it's done, I could use it to generate micro test cases for the rest of the system, but in the short term that doesn't bring in revenue or delight customers.

Post reply on HN