There was some Mixergy interview where the guy at IMVU or somewhere was saying that it was trendy to measure progress the Agile way, by lines of code written, whereas it was more accurate a metric to measure progress by learning.
I used to work at a company where they did Scrum. We never measured progress by lines of code. The way they measured progress was:
1. Start with "User Stories", or things you want the software to do for your users.
2. Assign each story a difficulty ("Story Points").
3. Work in iterations ("Sprints") of two weeks or so.
4. Your total accomplishment is the Story Points of the User Stories you complete, and your productivity ("Velocity") is story points completed per sprint.
I didn't think this was a good system, as difficulty varies with experience and tools, and so if you're more productive new stories will be assigned smaller story point values. So you're really only measuring how hard you work, rather than the value you create.
Maybe they use lines of code in other forms of agile.
Personally, when I start going round in circles that's a hint to start coding. Also, if I start speculating about performance, I like to get some actual measurements, which means writing code.
This is why I love Haskell. Dealing with the type system and purely functional style forces you to think about the problem at hand before you do anything.
Haskell's type system is both expressive and flexible enough to allow most of the benefits of polymorphism, via type classes, while being rigid enough to both catch coarse-grained logic errors and enable efficient compilation. And the syntax is gorgeous! I only sketch type signatures out in Haskell syntax.
11 comments
[ 3.9 ms ] story [ 33.1 ms ] threadhttp://news.ycombinator.com/item?id=1334915
1. Start with "User Stories", or things you want the software to do for your users.
2. Assign each story a difficulty ("Story Points").
3. Work in iterations ("Sprints") of two weeks or so.
4. Your total accomplishment is the Story Points of the User Stories you complete, and your productivity ("Velocity") is story points completed per sprint.
I didn't think this was a good system, as difficulty varies with experience and tools, and so if you're more productive new stories will be assigned smaller story point values. So you're really only measuring how hard you work, rather than the value you create.
Maybe they use lines of code in other forms of agile.