<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Specification on Hillel Wayne</title>
    <link>https://www.hillelwayne.com/tags/specification/</link>
    <description>Recent content in Specification on Hillel Wayne</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 21 Jan 2019 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.hillelwayne.com/tags/specification/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Why Don&#39;t People Use Formal Methods?</title>
      <link>https://www.hillelwayne.com/post/why-dont-people-use-formal-methods/</link>
      <pubDate>Mon, 21 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.hillelwayne.com/post/why-dont-people-use-formal-methods/</guid>
      <description>I saw this question on the Software Engineering Stack Exchange: What are the barriers that prevent widespread adoption of formal methods? The question was closed as opinion-based, and most of the answers were things like &amp;ldquo;its too expensive!!!&amp;rdquo; or &amp;ldquo;website isn&amp;rsquo;t airplane!!!&amp;rdquo; These are sorta kinda true but don&amp;rsquo;t explain very much. I wrote this to provide a larger historical picture of formal methods, why they&amp;rsquo;re actually so unused, and what we&amp;rsquo;re doing to make them used.</description>
    </item>
    
    <item>
      <title>Augmenting Agile with Formal Methods</title>
      <link>https://www.hillelwayne.com/post/augmenting-agile/</link>
      <pubDate>Mon, 30 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.hillelwayne.com/post/augmenting-agile/</guid>
      <description>I really like the c2 wiki as a historical artifact: a lot of big names in Agile and Extreme Programming argued with each other there.1 One thing they did was the Extreme Programming Challenge, where people tried to test the limits of these approaches. They&amp;rsquo;d find edge problems (designing databases, remote teams, etc) and see if Agile/XP still worked in that context. In almost every case they quickly decided that yes, it works just fine.</description>
    </item>
    
    <item>
      <title>Decision Tables</title>
      <link>https://www.hillelwayne.com/post/decision-tables/</link>
      <pubDate>Mon, 09 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.hillelwayne.com/post/decision-tables/</guid>
      <description>I really like decision tables but they&amp;rsquo;ve fallen out of common knowledge. Let&amp;rsquo;s fix that.
A decision table is a means of concisely representing branching and conditional computations. In the most basic form, you have some columns that represent the &amp;ldquo;inputs&amp;rdquo; as booleans and some columns that represent outputs and effects. It looks like this:
   A B C f(A, B, C)     T T T 1   T T F 3   T F T 7   T F F &amp;ldquo;cucumber&amp;rdquo;   F - - NullError    - means that it doesn&amp;rsquo;t matter what the value is.</description>
    </item>
    
    <item>
      <title>Raw Materials</title>
      <link>https://www.hillelwayne.com/post/raw-materials/</link>
      <pubDate>Sun, 27 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.hillelwayne.com/post/raw-materials/</guid>
      <description>This is an excerpt from Michael Jackson (not the singer)&amp;rsquo;s book Software Requirements and Specifications, in his discussion of &amp;ldquo;Raw Materials&amp;rdquo;. It&amp;rsquo;s worth letting stand on its own.
 First, make a list of all the languages you use in all your development activities. Be honest: don&amp;rsquo;t list all of the languages you have ever heard of; include only languages you have used for real work at least once&amp;hellip;
Now, ask yourself which of the languages on your list you would choose to say these things, and how easily you could say them:</description>
    </item>
    
  </channel>
</rss>