Category Archives: Web Development

The book's cover. Three people stand in front of a kanban board and the manager is starting the kanban process.

Kanban book review

Kanban: Successful Evolutionary Change for Your Technology Business

By David J. Anderson, ISBN 978-0984521401

Kanban is a process we have been using in the WebTech office for over a year now. We have adopted the system slowly and recently presented our version of Kanban at the Pacific Northwest Drupal Summit. During the Q & A portion it was suggested that I read this book. The last few chapters offer strategies for managing issues we have been experiencing as we move more of our work into a Kanban model.

The book itself is organized into twenty chapters; helpfully the end of each chapter has a list of takeaways that are easily digestible. The book guides the reader through what Kanban is, how to develop a system for your work, and then how to get the maximum performance from the system you implement. Though the book was only published in 2010 it feels dated. Much of the software and websites mentioned no longer exist. However, in their place strong sets of tools have developed.

Kanban is a visual system of identifying work that needs to be completed (the queue), selecting a task to complete, and then following through until it is complete. A challenge we run into is having our queue be a little overwhelming in terms of size. Early in the book, on page 30, Mr. Anderson discusses balancing demand with throughput. He identifies that Limiting Work In Progress (WIP) is the key to Kanban being successful. There are several ways to accomplish this and by implementing a few strategies we have seen our throughput increase dramatically.

Limiting WIP to increase throughput is counter-intuitive but we have been increasing our throughput by about twenty-five percent when compared to not limiting WIP. Chapter 7 deals with visualizing the work. Several ideas were presented that we were able to add to our JIRA Kanban tools including WIP indicators for our columns with the most constraint. There is a thorough discussion of Eli Goldratt’s The Goal when Mr. Anderson delves into bottlenecks and constraints. The gist he tries to get across is that the Five Focusing steps used in The Goal can be a great process to use when finding bottlenecks. Bottlenecks in Kanban slow everything down so you want to make sure a strategy is in place to minimize disruptions to that resource. Chapter 17 deals with bottlenecks in detail and has a fun story about SR-520 and the WSDOT Ferry system to help visualize the myriad of issues around bottlenecks within Kanban.

The last chapter covers issue management and escalation policies. Again, the queue can fill up very quickly and without an effective policy for choosing what gets priority our developers are often left in lurch of indecision.

As our student team grows making sure we that they can confidently self-select issues from our queue is vital to continued success. Mr. Anderson’s book certainly has helped mitigate pain points we have been facing. If you and your team use any sort of agile work process, consider reading this book and giving Kanban a try.

Additional Kanban Resources:

 

The aegir logo, a wave with the word aegir to the right of the wave.

Aegir site migration failure and success – say it ain’t so!

When using Aegir to upgrade production websites I follow a method very similar to the one outlined by Omege8cc – Safe Workflow

The safe workflow technique is nice as it lets you migrate sites into production without having to bring your live site down to basically test the migration. Occasionally, during the test migration Aegir reports that the migration has failed. However, if I look at my files it has successfully moved the entire site to the new platform but could not delete the settings.php file from the old platform and site. The important thing to check is that everything is now actually on your intended platform and is properly setup, vhost files, files dir, settings.php, etc…

If everything is peachy, Aegir did everything besides deleting the old settings.php file correctly. So, to clean up your Aegir interface you first want to delete the site that failed not using the delete button but by clicking the edit tab on the site and then in the URL changing the word edit to delete, and press enter. Confirm the deletion of the site.

Then on the server, delete the remaining old files off of the original platform. On the new platform navigate to your recently migrated site and change the file permissions on settings.php to 664. When you do your final migration Aegir will set the permissions back to the proper settings.

Next, go to the platform you migrated your site onto and verify the platform. Aegir will pick up the site, import it and you will be ready to finish your migrations.

Filing details for FCC motion 14-28

Net Neutrality – Please take a stand

I can blog and share my thoughts, code snippets, pictures, etc… with you my friends, the transient visitors, regulars, and the bots who see and digest my blog and other sites.

This can happen because you have unfettered access to my site. No one is blocking your attempts to visit, at least not if you are in the USA. I also don’t have to pay any extra for you to see the content I publish. I watched the FCC hearing live and after Tom Wheeler said his piece I was under the impression that he was for net neutrality. Then the vote was taken and I realized what he had been saying was in favor of a regulated internet.

My career has been built on an open internet and the sharing of thoughts. If a website like SitePoint, once a scion of the early CSS web development movement, had at that time had to pay to ensure a user could connect at a decent speed, I don’t think they would be around, which possibly means my current job, would not be around. There are data intensive services, case in point is Netflix. Now sure, I watch Netflix, but I don’t watch cable TV, and as a recent Huffington Post article details Netflix is taking up 34.2% of internet traffic so I would think a percentage of those folks don’t watch cable either.  Comcast and other internet data providers are often said to throttle the internet for traffic intensive services. Netflix is also competition though, served over the cable provider’s infrastructure. In the future as more and more devices get connected and we have more bandwidth intensive applications running it won’t just be Netflix that is an issue.

The FCC needs to take a stand and ensure that the internet is a public good. If more bandwidth is needed, why can we not start laying fiber to the home, FTH, so that bandwidth is not an issue. That is happening in many places and there is a grass roots movement to provide quality service to underprivileged areas. My favorite is The Free Network Foundation. The solution should not be charging other companies more money if they want to provide a popular product. A tiered system is not the solution.

Please let the FCC hear your voice. Go to http://www.fcc.gov/comments and click 14-28 and leave a public comment. So many people are doing this, there are 26,726 comments at this point in time 5/19/2014 10:18PM PST. Add your voice.

The author's FCC comments.
My FCC 14-28 Public Comment.

First foray into Pico CMS

I started playing with Pico CMS this weekend. I converted everything that is on my Concrete5 based site into the Pico site on my development box. I am pretty happy so far with the system.

Struggles:

  • Markdown syntax
  • Including “widgets”

The markdown syntax is not hard, it is just unfamiliar to me. However, I can already see how it simplifies content entry. Once I get up to speed it will be fast and quite fun. Creating links with []() as a syntax is cool.

I also was not aware that tabs in your formatting makes Markdown misbehave. I am quite certain it is a feature, so that if you want to show code in pretty formatting you can just tab on a new line and it will output HTML rather than rendering the HTML. The same is true if you want a list and you press tab and then use an asterix, no list appears just an asterix and your content on the screen.

I have not yet determined the best way to include a “widget” in the markdown syntax. For instance, I have a display of recently read books generated from Good Reads and the HTML/JS/CSS that is generated for that is bulky. I would love to be able to include that chunk of code with something like

<?php include ('goodreads.html'); ?>

That may be possible but I haven’t figured it out yet as the include would be in a .md file not .php. For now, I just pasted the chunk into the page and it works but it does not seem to be maintainable.

Triumphs:

  • It is simply awesome to be able to create directories and have that become a path that is responded to by the CMS.
  • The system is so raw it lets me really see the web as a canvas again for playing and experimenting on.

In Drupal, it is very easy to create new paths using path-auto and alias. However, where that page lives is in the database. When it comes time to do a redirect it updates the database. Within the Pico paradigm, you just move the file or directory and the paths are updated. An Apache rewrite rule I am sure would be needed for continuity but there is no admin interface to go into, no menu structure to explain, it is simple. That is refreshing.

The default theme is not responsive but it doesn’t do anything with the content either. It is plopped onto the screen. As Pico is based on Twig I am excited to build a simple Twig and Singularity based theme. The theme will also have some classes built in to support slideshows. It will be a good adventure.