“Internet-era ways of working” is an excellent collection of points (somewhere between the design principles and TODO list items) on how to organize the work / business / project in the modern age. Some of these are obvious and well-known, others are a bit less so. Read the whole article for more details, but here are the main items:
Design for user needs, not organisational convenience
Test your riskiest assumptions with actual users
The unit of delivery is the empowered, multidisciplinary team
Do the hard work to make things simple
Staying secure means building for resilience
Recognise the duty of care you have to users, and to the data you hold about them
Start small and optimise for iteration. Iterate, increment and repeat
Make things open; it makes things better
Fund product teams, not projects
Display a bias towards small pieces of technology, loosely joined
Treat data as infrastructure
Digital is not just the online channel
I’ve been thinking a lot about this subject over the last few years. Some of the items above I practice almost religiously (7, 8, 9, 10). Some I think I do, but I’m not sure (2, 3, 4, 6, 11, 12). Some I’m still figuring out (1, 5, 11, 12). But overall, I think the article is insightful as much of this, even the most obvious parts, are quite difficult to put in words.
Yup. This is exactly why you shouldn’t interrupt a programmer. It takes him at least a few minutes to get back to where he was, irrelevant how brief and unimportant the interruption was. And that’s why we invented managers (interrupt them all you want!), asynchronous communication (emails, ticketing systems, etc), and other tools and processes.
Martin Fowler has an excellent article on the “Products Over Projects” subject. It depicts the differences of both, with advantages and disadvantages, especially in areas like funding, team management, and iterations.
It’s a great read for anybody involved in software development, product and project management.