<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Benjamin Follis</title>
    <description>The latest articles on Forem by Benjamin Follis (@bfuculsion).</description>
    <link>https://forem.com/bfuculsion</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F439419%2F60ae9190-7f77-4e51-b9d5-1d7042196d5f.png</url>
      <title>Forem: Benjamin Follis</title>
      <link>https://forem.com/bfuculsion</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bfuculsion"/>
    <language>en</language>
    <item>
      <title>Traditional Kanban boards aren’t the best for stories.</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Tue, 06 Oct 2020 22:34:56 +0000</pubDate>
      <link>https://forem.com/uclusionhq/traditional-kanban-boards-aren-t-the-best-for-stories-3fe5</link>
      <guid>https://forem.com/uclusionhq/traditional-kanban-boards-aren-t-the-best-for-stories-3fe5</guid>
      <description>&lt;p&gt;Kanban was developed for factory floors and operates best with tasks that don’t require additional discussion, are well defined, exist in discrete stages, and proceed in a continuous flow.&lt;/p&gt;

&lt;p&gt;Bugs, and very small feature requests fit this model well, which is why Kanban is a popular methodology today with Trello and Github providing popular boards.&lt;/p&gt;

&lt;p&gt;Unfortunately, every other kind of story doesn’t work so well. Stories that are part of larger work require frequent collaboration as the overall requirements evolve. Conceptually, such stories exist in discrete stages, but in reality stories influence each other: comments and suggestions abound, and traditional  Kanban boards don’t have a way to display the true status.&lt;/p&gt;

&lt;p&gt;What’s needed is a new type of Kanban board that integrates stories and communication. Suggestions during implementation should result in resolution during review, and failure to do so should be immediately apparent. Status needs to evolve from a simple column into a real-time view of what people are saying about the story.&lt;/p&gt;

&lt;p&gt;Without such improvements, Kanban boards are not able to serve the needs of complex development, and will always be a source of frustration.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>agile</category>
    </item>
    <item>
      <title>Development Collaboration is Complete Bullshit</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Mon, 05 Oct 2020 22:11:58 +0000</pubDate>
      <link>https://forem.com/uclusionhq/development-collaboration-is-complete-bullshit-1g60</link>
      <guid>https://forem.com/uclusionhq/development-collaboration-is-complete-bullshit-1g60</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Developers are not ok with spending hours talking about out what to do next week&lt;/li&gt;
&lt;li&gt;Daily standups are rarely actually useful&lt;/li&gt;
&lt;li&gt;Backlogs are where things go to do die&lt;/li&gt;
&lt;li&gt;Notifications and "responsiveness" are the modern equivalent to a dog leash&lt;/li&gt;
&lt;li&gt;Video meetings with children running around are comically painful&lt;/li&gt;
&lt;li&gt;Three people can agree on a meeting time, if two of them are dead&lt;/li&gt;
&lt;li&gt;We're still dealing with "core hours" when nobody's life is that simple&lt;/li&gt;
&lt;li&gt;Only estimating ahead of time doesn't even work for bathroom remodeling&lt;/li&gt;
&lt;li&gt;Project management tools give managers what they want but not what they need&lt;/li&gt;
&lt;li&gt;Engineers are judged on adherence to process instead of outcomes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s needed is a collaboration style that gives developers a seat at the table, without gluing them to their chair.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>Backlogs don't make sense anymore</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Sat, 19 Sep 2020 00:13:17 +0000</pubDate>
      <link>https://forem.com/uclusionhq/backlogs-don-t-make-sense-anymore-4lmh</link>
      <guid>https://forem.com/uclusionhq/backlogs-don-t-make-sense-anymore-4lmh</guid>
      <description>&lt;p&gt;Backlogs are the ordered list of items the team may take on in future sprints.&lt;/p&gt;

&lt;p&gt;Modern customers expect short delivery cycles, and aren’t willing to wait for deliverables. In that environment, something that’s not getting done in the next sprint is the first candidate to drop when interruptions “blow up the sprint”.&lt;/p&gt;

&lt;p&gt;Unfortunately this means that backlogs are where things go to die.&lt;/p&gt;

&lt;p&gt;Maintaining the backlog requires the team to meet every sprint for at least an hour for “refinement”. This only pays off if the backlog items are worked on, which as stated above, is increasingly less likely. This is one of the reasons engineers tend to hate refinement meetings. They are tedious, and the return on time invested is horrible.&lt;/p&gt;

&lt;p&gt;There is a better way.&lt;/p&gt;

&lt;p&gt;Instead of a backlog of things that won’t get done, only keep track of stories that you’re going to do right now.  When a story is created, assign it to a developer, and have the entire team weigh in on whether it should be done. Developers in turn, only start stories that their team considers worthy, and discard ones that don’t make the cut. In other words, continuously refine and plan, instead of waiting for the story to lose relevance.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>agile</category>
    </item>
    <item>
      <title>Planning meetings are an exercise in futility.</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Thu, 17 Sep 2020 22:33:40 +0000</pubDate>
      <link>https://forem.com/uclusionhq/planning-meetings-are-an-exercise-in-futility-i1h</link>
      <guid>https://forem.com/uclusionhq/planning-meetings-are-an-exercise-in-futility-i1h</guid>
      <description>&lt;p&gt;When sprint planning was first proposed software development cycles were measured in quarters or years. In that environment getting together to plan once every few weeks made a lot of sense, as the environment the software lived in wouldn’t be likely to change in that time.&lt;/p&gt;

&lt;p&gt;That’s just not the case anymore, especially for online platforms. Software is deployed in weeks, or in some shops hours. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a development plan for a fast release cycle costs too much.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sprint planning is a significant investment of time and energy. The meeting requires everyone to get together for at least an hour, usually more. In order to make that investment pay off you have to speed up delivered software development by at least as many man hours. The shorter the sprint, the worse this ratio gets, and your process overhead goes through the roof.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plans are unlikely to survive, even if sprints are short.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traditional agile process has been a victim of its own success. Software delivery speed has gone up, and customers are no longer willing to wait months for a fix or for critical features to be developed. This means that whatever plans you make are increasingly likely to be interrupted by business needs. “Blowing up a sprint” isn’t a big deal if it happens once every few months, but it’s now happening all the time. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A better way is needed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of trying to decide what’s getting done all at once, planning needs to happen all the time. Instead of building a backlog, when a story is created it is directly assigned to a developer, and the entire team weighs in on whether it should be done. Developers in turn, only start stories that their team considers worthy. When a story is blocked, before work starts again it must be considered alongside the new tasks that have arrived.&lt;br&gt;
In other words, there’s no such thing as ‘blowing up the plan” only a succession of stories that are worth working on right now.&lt;/p&gt;

&lt;p&gt;Enabling such a process is one of the goals of Uclusion, and we hope you’ll give it a try.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>Standups used to make sense, they don’t anymore.</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Thu, 17 Sep 2020 01:22:19 +0000</pubDate>
      <link>https://forem.com/uclusionhq/standups-used-to-make-sense-they-don-t-anymore-1kbc</link>
      <guid>https://forem.com/uclusionhq/standups-used-to-make-sense-they-don-t-anymore-1kbc</guid>
      <description>&lt;p&gt;Back when daily standups were conceived they were a good solution to waterfall development problems. Instead of working on their specification in isolation, everyone would get in a room and any issues would be surfaced before they got out of hand.&lt;/p&gt;

&lt;p&gt;Unfortunately, they don’t really work well in the world we now find ourselves in. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The assumption that everyone is in the same room doesn’t translate well into online experiences.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Somebody, somewhere, is going to have a technical glitch, or forget to mute, or have a dog turn over the laptop. Unless everyone has a dedicated home office, it’s just not going to be possible to bring the same level of concentration to the meeting. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Once a day isn’t enough.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From the developer side, standups only really worked when we could have all the little conversations to clear blockages outside the standup. We don’t get those hallway conversations anymore, so the standup takes way longer than it should. You can try to keep that out of the meeting, but I’ve never seen it successfully done. Developers just want to help too much.&lt;/p&gt;

&lt;p&gt;From the business side, the same lack of little conversations means that progress isn’t being made until tomorrow, and that utterly kills productivity. You can try to fix it by having more frequent group checkins, or a chat channel that should be monitored, but then you just wind up killing productivity because people are always getting interrupted when they need to focus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There is a better way.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of standups, what’s needed is continuous collaboration. Status isn’t something that exists at a point in time, it’s something that everyone should be able to see whenever they want. Questions and issues need to be reflected in that status, and should cause the appropriate people to be notified, instead of taking the entire team’s time.&lt;/p&gt;

&lt;p&gt;Continuous actionable status is one of the things we’re trying to bring to life with Uclusion, and we hope you give it a try.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>React Wizards with State</title>
      <dc:creator>Benjamin Follis</dc:creator>
      <pubDate>Fri, 11 Sep 2020 02:18:44 +0000</pubDate>
      <link>https://forem.com/uclusionhq/react-wizards-with-state-19n6</link>
      <guid>https://forem.com/uclusionhq/react-wizards-with-state-19n6</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TPcc6Z4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4a0xazc4zr201e72p1pc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TPcc6Z4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4a0xazc4zr201e72p1pc.png" alt="UclusionWizard"&gt;&lt;/a&gt;&lt;br&gt;
Hi,&lt;br&gt;
Over at Uclusion, we have a fairly large amount of information required to properly set up a Workspace (or Dialog, or Initiative). As we talked about in &lt;a href="https://dev.to/uclusion/wizards-aren-t-just-for-hogwarts-14kd"&gt;Wizards aren't just for Hogwarts&lt;/a&gt;, to make sure our users aren't hit with too much information at once, we've converted all of our top level creation flows to Wizards.&lt;/p&gt;

&lt;p&gt;While doing so we discovered that the most annoying part was keeping track of the form state that the user had entered, and making sure the user could resume if they had to reload or just set down work.&lt;/p&gt;

&lt;p&gt;To make sure YOU don't have to go through the same annoyance, we're open sourcing &lt;a href="https://github.com/uclusionopensource/react-formdata-wizard"&gt;react-formdata-wizard&lt;/a&gt;, which will maintain all the state transitions, form data, resets, etc, all in one easy to deal with package. &lt;/p&gt;

&lt;p&gt;Unlike other react wizard projects we &lt;em&gt;do not&lt;/em&gt; render any UI or nav buttons, but instead provide you with the properties you need to make your own. That keeps state management separate from UI, the way it should be.&lt;/p&gt;

&lt;p&gt;Enjoy, and expect more changes as time goes on. We're busily rebasing the entirety of the wizard flow on this package.&lt;/p&gt;

</description>
      <category>showdev</category>
    </item>
  </channel>
</rss>
