Forked Over


Shortchanged by open source

Dear KV,


How can one make reasonable packages based on open-source software when most open-source projects simply advise you to take the latest bits on GitHub or SourceForge? We could fork the code, as GitHub encourages us to do, and then make our own releases, but that puts the release-engineering work that we would expect from the project onto us.


Forked Over

Forked Over

George V. Neville-Neil


Major-league SEMAT: Why Should an Executive Care?

Becoming better, faster, cheaper, and happier


In today’s ever more competitive world, boards of directors and executives demand that CIOs and their teams deliver “more with less.” Studies show, without any real surprise, that there is no one-size-fits-all method to suit all software initiatives, and that a practice-based approach with some light but effective degree of order and governance is the goal of most software-development departments.

Major-league SEMAT—Why Should an Executive Care?


The Essence of Software Engineering: The SEMAT Kernel
A Conversation with Steve Bourne, Eric Allman, and Bryan Cantrill
Voyage in the Agile Memeplex

This is the Foo Field

The meaning of bits and avoiding upgrade bog downs


Dear KV,

When will someone write documentation that tells you what the bits mean rather than what they set? I’ve been working to integrate a library into our system, and every time I try to figure out what it wants from my code, all it tells me is what a part of it is: “This is the foo field.” The problem is that it doesn’t tell me what happens when I set foo. It’s as if I’m supposed to know that already.


This is the Foo Field


Agile and SEMAT – Perfect Partners

Combining agile and SEMAT yields more advantages than either one alone


Today, as always, many different initiatives are under way to improve the ways in which software is developed. The most popular and prevalent of these is the agile movement. One of the newer kids on the block is the SEMAT (Software Engineering Method and Theory) initiative. As with any new initiative, people are struggling to see how it fits into the world and relates to all the other things going on. For example, does it improve or replace their current ways of working? Is it like lean, which supports and furthers the aims of the agile movement, or is it more like waterfall planning, which is in opposition to an agile approach?

Agile and SEMAT — Perfect Partners



Breaking the Major Release Habit

UX Design and Agile: A Natural Fit?

The Essence of Software Engineering: The SEMAT Kernel

Adopting DevOps Practices in Quality Assurance

Merging the art and science of software development


Software life-cycle management was, for a very long time, a controlled exercise. The duration of product design, development, and support was predictable enough that companies and their employees scheduled their finances, vacations, surgeries, and mergers around product releases. When developers were busy, QA (quality assurance) had it easy. As the coding portion of a release cycle came to a close, QA took over while support ramped up. Then when the product released, the development staff exhaled, rested, and started the loop again while the support staff transitioned to busily supporting the new product.

Adopting DevOps Practices in Quality Assurance


Traipsing Through the QA Tools Desert

The Antifragile Organization

Quality Assurance: Much More than Testing


Queue Portrait: Nicholas Zakas

Queue Portrait #4: Nicholas Zakas

In this video interview conducted by Kate Matsudaira, Nicholas Zakas discusses the current state of front end engineering and Web development.

Front end engineering and web development used to be scoffed at by back-end engineers. However, working in the front end of a Web application is so much more than just HTML and CSS these days. Many Web applications can have a whole MVC inside the view, and understanding the client is paramount to delivering expected performance and app-like interaction. Nicholas Zakas takes us through his journey working on the client side, explains the evolution of front-end engineering, and answers questions like “when should you use jQuery?” Nicholas currently works at Box, and was previously the front-end tech lead for the Yahoo! homepage and a contributor to the YUI library. He is also a keynote speaker, and author of 4 books: Maintainable JavaScript, Professional JavaScript for Web Developers, High Performance JavaScript, and Professional Ajax.

Rules for Mobile Performance Optimization

An overview of techniques to speed page loading


Performance has always been crucial to the success of Web sites. A growing body of research has proven that even small improvements in page-load times lead to more sales, more ad revenue, more stickiness, and more customer satisfaction for enterprises ranging from small e-commerce shops to megachains such as Walmart.

Rules for Mobile Performance Optimization


Making the Mobile Web Faster

Best Practices on the Move: Building Web Apps for Mobile Devices

Which practices should be modified or avoided altogether by developers for the mobile Web?


If it wasn’t your priority last year or the year before, it’s sure to be your priority now: bring your Web site or service to mobile devices in 2013 or suffer the consequences. Early adopters have been talking about mobile taking over since 1999—anticipating the trend by only a decade or so. Today, mobile Web traffic is dramatically on the rise, and creating a slick mobile experience is at the top of everyone’s mind. Total mobile data traffic is expected to exceed 10 exabytes per month by 2017, as shown in figure 1 (in case your mind isn’t used to working in exabytes yet, that’s 10 million terabytes per month, or almost four terabytes per second).

Best Practices on the Move: Building Web Apps for Mobile Devices


Mobile Media: Making It a Reality

Streams and Standards: Delivering Mobile Video

Mobile Devices in the Enterprise: CTO Roundtable Overview


Cherry-picking and the Scientific Method

Software is supposed be a part of computer science, and science demands proof.


Dear KV,

I’ve spent the past three weeks trying to cherry-pick changes out of one branch into another. When do I just give up and merge?

In the Pits

Dear Pits,

I once rode home with a friend from a computer conference in Monterey. It just so happened that this friend is a huge fan of fresh cherries, and when he saw a small stand selling baskets of them he stopped to buy some. Another trait this friend possesses is that he can’t ever pass up a good deal. So while haggling with the cherry seller, it became obvious that buying a whole flat of cherries would be a better deal than buying a single basket, even though that was all we really wanted. Not wanting to pass up a deal, however, my friend bought the entire flat and off we went—eating and talking. It took another 45 minutes to get home, and during that time we had eaten more than half the flat of cherries. I couldn’t look at anything even remotely cherry-flavored for months; and today, when someone says “cherry-picking,” that doesn’t conjure up happy images of privileged kids playing farmer on Saturday mornings along the California coast—I just feel ill.

Cherry-picking and the Scientific Method

How Fast is Your Web Site?

Web site performance data has never been more readily available.


The overwhelming evidence indicates that a Web site’s performance (speed) correlates directly to its success, across industries and business metrics. With such a clear correlation (and even proven causation), it is important to monitor how your Web site performs. So, how fast is your Web site?

First, it is important to understand that no single number will answer that question. Even if you have defined exactly what you are trying to measure on your Web site, performance will vary widely across your user base and across the different pages on your site.

We will discuss active testing techniques that have traditionally been used, then explain newer technologies that permit the browser to report accurate timing data to the server.

How Fast is Your Web Site?



High Performance Web Sites

Building Scalable Web Services

Improving Performance on the Internet