BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Podcasts Fred George on Solving Fuzzy Problems

Fred George on Solving Fuzzy Problems

Bookmarks

In this podcast Shane Hastie, Lead Editor for Culture & Methods, spoke to Fred George about the need to solve “fuzzy problems” and approaches to doing so.

Key Takeaways

  • Fuzzy problems are ones which don’t have precise answers but they are the places where most money is being made in the modern economy
  • Applying the thinking that works for traditional problems to fuzzy problems causes frustration because the underlying assumption that the problem will have a single solution is wrong 
  • The rules for solving fuzzy problems are related to the speed of trying out ideas and learning rather and so competitive advantage accrues to fast delivery
  • Most organisations have a mix of traditional and fuzzy problems – segregate the teams and use the appropriate approach for the problem type
  • If you’re doing agile the same way in all your teams you’re probably not doing agile anymore

Show Notes

  • 00:27 Introductions
  • 00:44 Identifying “fuzzy problems” – ones that don’t have precise answers, which is where much of the value in the modern economy is coming from
  • 01:18 Examples of fuzzy problems
  • 01:40 These are problems which are basically impossible to solve with traditional technology
  • 01:48 We now have the technology to make them feasible to solve
  • 02:04 The requirements for fuzzy problems are unclear and uncertain
  • 03:05 Many traditional problems fit neatly into the Complicated space (in the Cynefin Model) and we have techniques, such as agile development, which enable us to solve these problems well
  • 03:25 Applying the thinking that works for traditional problems to fuzzy problems causes frustration because the underlying assumption that the problem will have a single solution is wrong
  • 04:15 The rules for solving fuzzy problems are related to the speed of trying out ideas and learning rather and so competitive advantage accrues to fast delivery
  • 04:25 This has led to new technologies which enable rapid feedback and fast learning – cloud computing, container services, decoupled architectures and microservices
  • 04:52 This also impacts roles and skills on teams – very specialist roles are a disadvantage when dealing with fuzzy problems
  • 05:02 When speed of learning is the factor you are optimizing for then the most efficient conversation is the one that doesn’t need to happen because the one person has the knowledge needed for full stack development and deployment
  • 05:12 The more someone can do things on their own, the faster they can try their ideas out
  • 05:18 Putting this in practice in a startup, teams on one person deploying new production code every 3 ½ minutes, with teams of one person and “project” duration of 4 hours
  • 05:48 The whole process of development needs to change when working with such rapid learning cycles
  • 06:05 The role of the customer changes radically in this new way of working.  Their role is to educate the programmers in the problem, identify the success metrics and get out of the way
  • 06:48 This is a very different skillset and mindset for the organisation and the people doing the work
  • 07:10 The way such systems are built requires very decoupled architecture and removes many of the roles in traditional teams
  • 07:20 The impact this has on different roles and organisation structures
  • 07:25 This is already happening in pockets – for example in the developers supporting day-traders in large banks
  • 08:32 This is anarchy from a traditional process perspective and disrupts may existing roles out to the extent that they are no longer needed
  • 09:05 This is about empowering the programmers to go and keep trying things
  • 09:08 This also means expecting and accepting failures – many of the experiments will fail and it is important to not try to impose more rigor and control but to accept that the failure is part of the learning
  • 09:41 Competitive advantage accrues to speed, not to perfection
  • 10:48 This “anarchy” is based on the underlying agile values
  • 11:27 Many of the agile practices are no longer appropriate when you work at this pace
  • 12:10 The practices and techniques useful for the complex world are also useful in the chaotic space
  • 12:41 Google Adwords as an example of a complex problem
  • 13:01 Most organisations have a mix of traditional and fuzzy problems – segregate the teams and use the appropriate approach for the problem type
  • 13:20 If you’re doing agile the same way in all your teams you’re probably not doing agile anymore
  • 13:38 By trying to lock practices in using frameworks and decreeing consistency organisations lock themselves out of value
  • 14:23 You don’t need to become an expert in many technologies – you do need to become competent
  • 15:13 The potential impact of machine learning and AI as tools for addressing complex problems
  • 15:43 On average machine learning gives better answers than human experts
  • 16:18 Serverless technology works well for addressing fuzzy problems

More about our podcasts

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and the Google Podcast. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT