Scrum - in a way - is fantastic. Theoretically it allows non-tech people like the economics guy round the corner to lead an engineering team as PO (product owner). The buzz word is user stories and vertical cutting of features.
User stories: I as user of a webpage want the ability to add friends to my friends list. Everybody can formulate that. No tech speech involved. Ideally the tech team develops a solution and implements it.
Vertical cutting of features: User stories have to be implemented by teams that can do everything. In case of the user story above they would implement the design, the frontend technology, the backend technology and take care of software quality.
So user stories and vertical cutting of feature makes a lot of sense. In an ideal world. But often that just goes wrong. Economics guys typically know a lot about business-value. That’s what they are paid for. But in my opinion there are a lot of questions that cannot be decided by pure economics POs guys. Even if you got perfect user stories and a perfect team setup.
Some examples:
- Is it better to implement a detailed rights management or can the whole application be restructured in a way that a simple rights management makes the product shippable on time.
- Is it better to use an AJAX frontend or should one use a traditional Html layout with AJAX parts.
- Does a REST backend make sense or is it useless?
- Does it make sense to write a lot of unit test, do code reviews and implement security rules early on?
If your PO has a pure economics background he has no idea and cannot answer those questions. If your team has no experience what it means to bring something to market and earn money it will not work out. Your team will implement strange things, and the product will ship late.
Only a really good team or a really gifted leader (aka PO aka Steve Jobs) can drive the team towards solutions that are both good for the engineers and the business. Fred Wilson calls this also: Program or be programmed [2]. If you don't know what's going on - you don't know what's going on.
Bottom line:
Vertical cutting of features is great, but sometimes it just does not work out in the real world.
I (and others [1]) strongly favor the model where teams and companies in IT are driven by engineers. Those engineers have some idea about business-value and know what’s important. In my experience it’s way harder the other way round - economics guys knowing how to drive IT teams- it’s really hard to make that working.
By the way: User stories are not only stories from the enduser of a webpage, but might also come from somebody consuming an API.
[1] http://www.youtube.com/watch?v=skD1fjxSRog
[2] http://www.avc.com/a_vc/2011/10/program-or-be-programmed.html