Tim’s Weblog Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, managing software development and Digital Asset Management, since 2002.

Adam Ard: Why Scrum is the Wrong Way to Build Software

Adam Ard – Why Scrum is the Wrong Way to Build Software:

“1. Because all product decision authority rests with the “Product Owner”, Scrum disallows engineers from making any product decisions and reduces them to grovelling to product management for any level of inclusion in product direction.

2. Scrum, in accounting for all the engineer’s time in a tightly managed fashion, discourages innovation . […]

9. Scrum discourages bug fixing, reduction of technical debt, and risk taking, all because of its narrow, exclusive focus on only doing items that Product Owners would interpret as valuable.

10. Scrum is hypocritical

Do managers or Product Owners track and estimate every task they engage in with little or no say in what they work on? […]

11. Scrum makes many faulty assumptions

[…] It assumes that engineers are not to be trusted with directing their own work. It assumes that engineers cannot aligned themselves with the best interest of the organization, without tight supervision.”

I’m not sure a hypothetical “perfect Scrum” has these faults, but these are certainly issues we’re facing in our bastardized pseudo-Scrum implementation.

Update: See also Jurriaan Kamer’s excellent You will not become agile by implementing scrum. Quote: “To enable agility, decision making power and responsibility should be implemented at the lowest possible level in an organization, ie. in a scrum team.”

Wed, 24 Feb 2016 13:19:00 +0000

A dropdown for large lists in a Symfony 3 form with choice_loader and Select2

I’m currently learning the PHP framework Symfony 3. The Symfony documentation is excellent for a quick start, but the first serious HTML form I wanted to build touched some ill-documented parts, made me file a bogus bug report (sorry guys) and took me about 20 hours to implement. So here’s how I did it. I hope that helps if you want to do something similar.

The problem was that I needed a dropdown that scales well to huge numbers of options – i.e. the dropdown shouldn’t require listing all available options (there might be thousands), but let the user search instead. And let her enter new values as well.

The UI side of the problem is already solved by the highly recommended Select2, “the jQuery replacement for select boxes”. My finished example form looks like this, it just lets you pick and add tags and dumps all form data when the form is submitted:

To build this, first install Select2 by adding these lines to your Symfony app’s composer.json file…

Read the full article…

Tue, 23 Feb 2016 23:07:00 +0000

Gerry McGovern: If the customer really was king

Gerry McGovern – If the customer really was king:

“Are the most powerful people in your organization those who interact most with your current customers? Are these people the most respected and highest paid?

[…] The customer isn’t just king in a digital economy; the customer is dictator. Those organizations that deliver an excellent experience to current customers will thrive. Those that don’t will wither.

[…] The old model ethos is that the organization is there to support management. The top of the hierarchy is not the customer; it is senior management. […] Their focus is on pleasing their managers, not pleasing their customers.”

Mon, 08 Feb 2016 22:01:00 +0000

Getting started with product management

In addition to my software development and architecture tasks, I’m growing into the “product manager” role – though it’s not yet clear what that means: bookkeeping of customer complaints and feature requests, coordinating product decisions and making sure everyone in the company has a say, or pushing my own ideas? Probably a bit of everything…

One thing we’re currently learning, and that’s bound to be a huge part of our future product management efforts, is that we need to move product development closer to the customer.

Read the full article…

Mon, 01 Feb 2016 23:25:00 +0000