Martin Fowler's Blog, page 21

December 6, 2017

FAQ for Product-Mode Thinking

Sriram has added a FAQ to address the common questions he
runs into from people learning about using products rather than projects
to organize software development efforts.



more…

 •  0 comments  •  flag
Share on Twitter
Published on December 06, 2017 12:25

November 28, 2017

Challenges of Product-mode

Sriram concludes his discussion of product-mode thinking by looking
the challenges faced by this approach, facing concerns over staff
utilization and formation of silos. He also reviews how teams often
organize into business and infrastructure tiers.



more…

 •  0 comments  •  flag
Share on Twitter
Published on November 28, 2017 06:44

November 20, 2017

Benefits of Product-mode

Sriram continues his examination of why products are better than
projects
by looking into the benefits of product-mode thinking. With
products you can quickly change direction and have faster cycles to get
ideas into production - which are the consequences of truly iterative
development. Product teams' more stable team members result in better
knowledge retention and more architectural integrity in the code
base.



more…

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on November 20, 2017 06:45

November 19, 2017

photostream 111





Wakefield, MA

 •  0 comments  •  flag
Share on Twitter
Published on November 19, 2017 12:14

November 16, 2017

Products Over Projects

For a long time, my colleagues and I have been arguing the organizations need to
organize their software efforts as products rather than projects. But we haven't
really come up with a great way to articulate what we see as the difference.
Finally my colleague Sriram Narayam has stepped up
to fill in the gap with a long-form article here. In the first installment, he
covers the difference between project and product thinking. Later installments will
cover the benefits and challenges of product-mode.



more…

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on November 16, 2017 05:19

November 14, 2017

Bliki: MachineJustification

I remember in my teens being told of the wonderful things Artificial Intelligence (AI)
would do in the next few years. Now several decades later, some of these seem to be
happening. The most recent triumph was of computers teaching each other to play Go by
playing against each other, rapidly becoming more proficient than any human, with
strategies human experts could barely comprehend. It's natural to wonder what will
happen over the next few years, will computers soon have greater intelligence than
humanity? (Given some recent election results, that may not be too hard a bar to cross.)



But as I hear of these, I recall Pablo Picasso's comment about computers many decades
ago: "Computers are useless. They can only give you answers". The kind of reasoning that
techniques such as Machine Learning can result in are truly impressive in their results,
and will be useful to us as users and developers of software. But answers, while useful,
aren't always the whole picture. I learned this in my early days of school - just
providing the answer to a math problem would only get me a couple of marks, to get the
full score I had to show how I got it. The reasoning that got to the answer was more
valuable than the result itself. That's one of the limitations of the self-taught Go
AIs. While they can win, they cannot explain their strategies.



Given this world, one of the big challenges I see for AI is that while we may have
figured out Machine Learning in order to teach them to get answers, we haven't got
systems that can do Machine Justification for their answers. As AIs make more judgments for
us, we'll increasingly run into situations where the answer isn't enough. An AI might be
trained in such a way to rule on legal cases, but could we accept a judgment where the
AI cannot explain its reasoning?



Given this it seems likely that we will need a new class of "programmer' in the
future, one whose job is to figure out why AIs get the answer they do, to deduce the
reasoning underlying the AIs skills. We could see many fields where AIs make opaque
judgments that we can see are good, but need another approach for us to really learn
the theory that underlies their decisions.



This problem is particularly acute since we've discovered that it's awfully easy for
these machines to learn undesirable behaviors from their training data, such as
discriminating against racial minorities when judging credit ratings.



Like many, I see much of the opportunity of computers is in collaboration with
humans. Good use of computers is understanding where the computer is strong (rapidly
doing constrained work) and where humans are better, and using a mix. Computers are, at
their most intellectual, a tool for the mind. In programming I'm happy to lean on the
compiler to help me find errors or suggest alternatives, a practice which I was scolded
for as a young programmer. That boundary between where the two are strongest is fluid,
and one of the fascinations of the future is how we can best take advantage of its movement.




Further Reading

MIT Technology Review looks at the broad topic of
explainability for AI.



Some articles in the dangers of machine learning and undesirable bias from The Atlantic, NPR, and Tech Republic





Acknowledgements

Brandon Byars, Chris Ford, Christoph Windheuser, Danilo Sato, Dave Elliman, Ian
Cartwright, Kent Rahman, Saleem Siddiqui, Sallie Walecka, Tito Sarrionandia, and
Vishal Bardoloi

discussed drafts of this post on our internal mailing lists.





Share:

if you found this article useful, please share it. I appreciate the feedback and encouragement
 •  0 comments  •  flag
Share on Twitter
Published on November 14, 2017 06:34

November 11, 2017

Comparing Race for the Galaxy and San Juan



San Juan and Race for the Galaxy are two of my favorite card games. They have a
similar style and heritage, both much influenced by Puerto Rico. I'm happy to own
both as San Juan is easier to teach and generally lighter play experience, but Race
excels when I'm after more depth.



more…

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on November 11, 2017 10:47

November 4, 2017

photostream 110





Évora, Portugal

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on November 04, 2017 06:17

October 31, 2017

Using a command line script to export from Omnigraffle

From time to time I draw a bunch of diagrams in Omnigraffle, and then need to
convert them all to a format I can show in a web page. If I only have one or two,
then doing it each time works ok. But if I have a dozen or more, then I find it
easier to have a script. That way I can safely export them all whenever I need
to.



more…

 •  0 comments  •  flag
Share on Twitter
Published on October 31, 2017 12:12

October 5, 2017

Evolutionary Architecture book published



Over the last year or so, three of my colleagues: Neal Ford, Rebecca Parsons,
and Pat Kua, have been working on the book "Building Evolutionary
Architectures". The book is now done and available. It's does a great job of
capturing what we at ThoughtWorks have learned about this topic over the last
decade or so. I was honored that they asked me to write the foreword.



more…

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on October 05, 2017 09:51

Martin Fowler's Blog

Martin Fowler
Martin Fowler isn't a Goodreads Author (yet), but they do have a blog, so here are some recent posts imported from their feed.
Follow Martin Fowler's blog with rss.