Opinions in Progress

{13 August 2014}   Silos Optimize Locally

From my most recent class, I have gained the perspective about why silos optimize locally and what this costs the organization.  Specifically, local optimization is discussed for component based teams in Ch13 of the book Continuous Delivery.  The author argues that cross functional or full stack teams are more efficient because they optimize for integration, which is often the pain point, as compared to component based teams that optimize locally, for their component.  Component based teams also require more collaboration between teams, adding overhead, and making them less effective.  The issue is one of incentive to integrate, component based teams don’t have one, cross functional or full stack teams have no other choice.

Let’s apply this idea to teams and individuals.  The examples I use are real, but aren’t intended to specifically match a team or individual:

Team Orange:

  • Chooses a tool that is used only by their team (local optimization)
  • Other teams have 2x the cost (licenses, user management, training) if the want to work with them
  • They may be denied access as they were never in the plan
  • Scaling is done by separating groups by component, and creating specialization
  • Engineers rarely work outside their component and don’t see how their work immediately provides business value
  • Integration is delayed, and there are long phases where the product doesn’t work

Team Blue:

  • Chooses tools that are shared between teams (integration optimization)
  • The tools may not be perfect, but there is one source of truth, and transparency
  • Scaling is done by creating multiple full stack teams that implement a single story stream (feature)
  • Engineers own the entire feature, and clearly understand the business value they are providing
  • The product is always being integrated, and is always in a working state

The methods used by team orange is an impediment to delivery, while the methods used by team blue are supportive of delivery.

Helper Yellow:

  • Can work really fast with the tools they are familiar with, get’s stuff done.
  • Chooses to stick with what they know rather than adopt the teams toolset
  • Documentation is sparse or exists where it was convenient for the individual
  • Insists on being special, more permissions, more resources, more overhead to support organizations
  • Moves on after completing work, but work is incompatible with team standards
  • Team is unsure of this component, they have a lot of work to do to adopt it, have to interrupt the original writer on their new project when they have questions
  • Team will probably just rewrite it on first major bug

Helper Green:

  • Can work really fast with the tools they are familiar with, get’s stuff done.
  • Chooses instead to learn and work with the tools the team uses, even if they go a little slower at first
  • Takes extra measures with documentation and peer reviews, putting team ownership before individual productivity
  • Figures out how to work within existing parameters and resources
  • Takes on work that is not of personal interest to help the team
  • Moves on after completing work, but work is compatible with team standards
  • Team owns this component, it is familiar with how it was developed and tested, and they can refer to the documentation for details and decisions
  • Team will add and refactor as requirements change


Helper Yellow feels good about their work because they got that component built quickly!  Helper Green feels good about their work because they got that component built sustainably.

Team Orange and Helper Yellow are examples of silos and individuals, optimizing for personal preference or component delivery at the expense of team success and feature delivery.  Team Blue and Helper Green are examples of cross-functional team members, optimizing for team success rather than for individual accomplishment. The cross functional teams that are optimized for feature delivery and team success will create business value faster.  We should prefer and encourage models that create business value faster.


SONOS builds wireless Hi-Fi home music systems. SONOS’ goal is “All the music on earth. In every room. Wirelessly.” A dedication to music is surpassed only by a dedication to quality. The SONOS product development team both builds quality in and tests for quality. Software test automation is used to validate changes to the software systems. New products and supported controller platforms have created a need to expand the test infrastructure, and SONOS is considering a hybrid cloud computing solution.

System under Test

The system under test can be logically divided into zone players, controllers, and music content. A zone player is the wireless HiFi music player. A controller is client software used to select music to be played on one or more zone players. Controllers are built for Windows, Mac OS X, Android phones and tablets, iOS phones and tablets, in addition to two editions of SONOS hardware controllers. Finally, music content can be sourced from streaming internet providers like Pandora or local network drives.

Test Automation

Test Automation is a process where tools, languages, API’s and creativity amalgamate to reduce test cycle time. The goal is to identify changes in the system under test as early as possible through a process known as continuous integration. It can be a challenge for test automation execution time to decrease or remain constant while the scope and complexity of the product and tests increase.

Test Bed

A test bed is a collection of SONOS controllers and zone players, grouped into a household, targeted by a test executor. Early test beds had no virtualization; all SONOS devices were physical and all controllers ran on vendor hardware. The system under test requires that all household members are within the same subnet. Therefore, early test beds sat behind a variety of third party routers to provide test isolation for manual testers.


As products mature, scope and complexity increase, and efficiencies are expected to reduce the time to market. Physical hardware and manual test execution cannot scale at the necessary rate. Early virtualization included the use of Windows virtual machines and emulators for controller testing, and the use of Virtual LANs to break up broadcast domains.  Additional virtualization has been used to add test runners, music shares, and mock streaming services to the test bed. Of these elements, all must be on the same subnet except for the streaming music content.

A zone player emulator is available for 32-bit Linux, but it does not implement all the features that are needed for full system testing. This is a common emulator issue, also found with emulators for iOS and Android devices. Each platform has different possibilities and limitations for virtualization and emulation. As a result of these limitations, some testing must be performed on real vendor hardware.

Cloud Computing

Cloud computing is defined by a series of principles: pooled resources, broad network access, virtualization of hardware, elasticity or scalability, automatic provisioning and deployment, and pay-as-you-go billing (Rosenberg and Mateos 2011). SONOS currently uses an internal data center running vSphere on ESX to virtualize some resources within a test bed. Hardware is virtualized, templates exist for fast deployment, but the system has reached its scalability limits and resources are available only to a few users within a single department. Significant hardware resources are needed for long-term scalability of new tests and bursts of new projects, with an appropriate infrastructure support team. Managing a completely private cloud is often more expensive than a hybrid cloud because you are always paying for your burst capacity. A hybrid cloud is most commonly created when an existing private cloud is extended using public cloud resources offered by Amazon EC2, IBM SmartCloud, and others. A major advantage of a hybrid cloud is that your burst capacity is only paid for when you actually need it.

While services like Amazon Virtual Private Cloud allow for control of the virtual networking environment, including subnet creation, they do not support VLAN tagging. It is an intentional design feature of the Secure Elastic Compute Cloud that there are no global VLANs, and that VLANs are used and reused within the cloud to isolate customer domains (Hao, Lakshman, Mukherjee and Song 2010). Combine this with the need for all SONOS household members to be on the same subnet, and today’s public cloud offerings could not be used to extend an existing physical household. Further, separating the system under test into different physical locations has shown to increase run time of the automated tests which is contrary to the goal of decreased run time. However, complete virtual test beds composed entirely of virtual machines and emulators could be utilized to increase test automation bandwidth for tests that do not require physical systems.

Test bed automation consumes Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). An IaaS provider like the Amazon EC2 supplies Linux virtual machines images and the hardware to run them on. Internally, stock image templates are available on a vSphere host. The images are customized with emulators and other test software to create virtual appliances for the system under test. Virtual appliances provide Platform as a Service (PaaS) to a test bed manager which can be programmed to provision entirely virtual test beds on demand.

Hybrid Cloud Management

One complexity of hybrid clouds is that they span different vendors. This may mean different virtual file types, metadata types, provisioning tools, and platform support. Fortunately, there are several hybrid cloud management tools to choose from that provide a common API to the end user. The Eucalyptus 3 Platform is the most widely used tool that provides private and hybrid IaaS clouds (Eucalyptus Systems, 2012). A key strength is support for heterogeneous hypervisor management, for example, providing a single interface to vSphere and Amazon EC2. With Eucalyptus, SONOS could do more than just expand test automation. Once configured, creating test beds on-demand for other development, test, and customer support tasks follow a self-service model, with costs attributed to the appropriate department or project budget.

Steps to a Hybrid Cloud

SONOS would need to take the following steps to add virtual test bed capacity to their test automation infrastructure:

  1. Work with the IT organization to identify an acceptable IaaS cloud provider, such as Amazon EC2, and make appropriate firewall adjustments.
  2. Build the appropriate virtual and emulated images and execute a sample test to prove the concept of completely virtual test beds.
  3. Select a hybrid cloud management tool, such as Eucalyptus, and integrate the APIs with the test bed management system for automated test bed provisioning.
  4. Refactor tests to separate those that require physical hardware from those that can be run completely virtually, to take maximum advantage of concurrent test resources.


Not all automated software tests at SONOS are candidates for the public cloud due to physical hardware and networking constraints. The existing virtualization solution is more of an internal data center than a private cloud. Selecting a public cloud partner and a hybrid cloud management tool will transform the current system into a true enterprise cloud computing IaaS platform, with all of the benefits of a cloud, without having to compromise on tests. Therefore, a hybrid cloud computing system is recommended to scale software test automation for the SONOS wireless HiFi home music system.



Works Cited

Eucalyptus Systems. Eucalyptus 3: On-premise and Hybrid Cloud Infrastructure as a Service. 2012. PDF.

Hao, Fang, Lakshman, T.V., Mukherjee, Sarit and Haoyu Song. Secure Cloud Computing with a Virtualized Network Infrastructure. Alcatel-Lucent: 2010. PDF.

Rosenberg, Jothy and Arthur Mateos. The Cloud at Your Service: The when, how, and why of enterprise cloud computing. Manning Publications: 2011. eBook.



{5 June 2012}   A writer lives it twice!

I have arrived at the office on a wet Monday morning after having spent the weekend writing.  I write and write and keep finding more stories to tell!  I walk to the office kitchen with my coffee cup and my salad to put in the fridge.  Wait, that is not my salad, but my laptop.  I have grabbed my laptop instead of my salad!  Something wants to be written. 

This morning I read a passage from Susan Wittig Albert’s Writing from Life that made me pull out my laptop and write on the train.  On the second leg of the trip, I read a series of margin notes, about how writers live everything twice.  Anais Nin wrote “We write to taste life twice, in the moment, and in retrospection…” (Albert 14).  Natalie Goldberg wrote, “Writers live twice.  They go along with their regular life…But there’s another part of them that….lives everything a second time.  That sits down and sees their life again and goes over it.  Looks at the texture and the details” (Albert 14).  We live it the first time, and then again when we write it down. 

I thought of something I put on my profile for OK cupid.  I wrote that I revisit conversations over and over, to find their meaning, to find the nuance, to explore the ideas that I may have missed, to remember the moment.  I take this information and realize that I may be a writer.  Of course, I am!  I write, therefore, I am a writer!  Thinking back to a course I took on “Drawing as Awareness” very early at Union, I know that it is not accomplishment or award or publication that makes us an artist or a writer, it is what we do every day that makes us who we are.  Prior to picking up a pencil and making new art for that class, I read a book by David Bayles and Ted Orland called  Art & fear: Observations On the Perils (and Rewards) of ARTMAKING.  Bayles and Orland talk a lot about the fear of being a fraud, of how we can be our own worst enemy (Bayles  23).  That mainstream may not recognize your work as art (Bayles 37).  The demons are banished when they are recognized.  Why give this power to your audience (Bayles 47), when the art we make only needs to be accepted by the artist herself?  This morning, I sit at the red table in the Sonos office and smile, because I am a writer, too.

{4 August 2011}   The Kiowa Land Ethic

We cannot just think of the land intellectually, we must also feel it, dream of it…take it into our bodies like manna.  As described by N. Scott Momaday, the Kiowa imagine their relationship to land and community with this kind of transcendental existence.  The land is part of both their individual and racial memories.  The stories that are shared from generation to generation relate us to the sacred earth (Momaday 113).  The Kiowa land ethic is a response to the treatment of sacred places.

The Kiowas are not connected to the soil through agriculture, which many traditions are.  Even though they are connected through their concept of sacred places.  They looked to the sky and saw the Leonid meteors and the stars.  They tracked the solstices.  They looked to the Wichita Mountains and saw their smallness in the landscape.  They looked upon the plains, and learned the names of the places.  The Navajo have a similar concept of sacred places and place-naming that connects them to the homeland.  Americans seem to lack this concept of “homeland”; perhaps they are still relative newcomers.

In effect, the Kiowa’s took their bearings and created an ancestral home in this knowledge of places.  They pass this knowledge with their oral storytelling tradition.  By fitting themselves into the curves of the earth and sky, they created a meaning of “to be” that is inseparable from the land.  Through this connection, they see the theft or desecration of the sacred as a desecration of the self.  This is their land ethic.

Momaday describes another way to capture being alive when he describes the rock paintings in Barrier Canyon, Utah.  He knows  these paintings are older than the history of the Kiowa and so they live in the realm of imagination.  Momaday writes, “we do not know what they story means, but more importantly we know that it means, and that we are deeply involved in its meaning” (115).  This example shows how we do not need to understand everything about a place to make it sacred, or a part of our experience of being.  A glimpse is enough.

In identifying their land ethic, the Kiowa’s rely on the human powers of imagination.  Momaday asks that we “imagine who and what we are with respect to the earth and sky” (47).  He suggests that it was technology that separated us from the soil, and left us disoriented (Momaday 47).  Television is an example of a technology that reduces our use of imagination and weakens our ability to connect to the earth and other people.  Momaday points out that the very concept of a land ethic is alien to most Americans today but that it must be developed in support of continued existence (48-9).  I find it unlikely that people of the world will give up technology.  Instead, we need to find a way for technology to show us the sacred places.

We can look for ways to reduce light pollution in urban areas so urbanites can actually see the stars, the meter showers and other wonders that remind us of our smallness within the universe and our rootedness with the earth.  We can develop “smart-lights” that turn off when there are no people nearby.  We can regulate outdoor lighting with shields and wattages to reduce light pollution but not impact safety.  We must adapt new ways of building our houses on a human scale that downplay the concrete and bring the earth into our daily lives.  We can bring more greenways and cleaner waterways through our cities.  Technology can support a new land ethic.

The Kiowa tradition of connection to sacred places is one that could aid urbanites in gaining a deeper connection to the earth.  Areas that are sacred must be set aside for preservation or created anew.  More importantly, the people must hear the stories of why the place is sacred, so that the sacred places become part of their memories and imaginations.  The Kiowa can teach us a better way to be on earth.

Works Cited

Momaday, N. Scott.  The Man Made of Words.  New York: St. Martin’s Griffin, 1998.  Print.

The competitive exclusion principle is an explanation of what happens in nature when two species compete for the same resource.  One usually dies, the other triumphant.  There are a number of ways that species have adapted to limit competition.  As examples, they might partition the resources or they might develop different character traits to limit competition.  What can we learn from other species?  Competition is really only good for the survivor.

When the same species compete over resources, they develop territoriality.  In nature, this means that the strongest get to have all the resources, and the weakest die.  The alternative is that no member of population will get enough resources to live, and they all might die.

What if we applied this to the human population, capitalism, culture and global trade?  Powerful, capitalist countries like the United States definitely exercise something that looks like territoriality.  However, capitalist Americans are different from species like red-winged blackbirds because we over-consume.

Perhaps, we should instead treat individual countries as different species and apply the competitive exclusion principle?  Cultural differences might explain resource partitioning or character traits.  If each country values different resources, or are culturally adapted to use different resources, then there is little competition.  The danger of spreading western culture is that it destroys resource partitioning.  The fate of the weaker competitor is already known in nature, and perhaps also in human civilization.

The question for us, do we want to run our civilization as if we were competing species?  If so, our current global trade arrangements and use of capitalism to support over-consumption are perfectly acceptable.  If so, we should stop whining about saving populations too weak to compete in this system, and let them live or die on their own means.  Apply the competitive exclusion principle.

The alternatives?  I am sure there are many, but they start with efforts like global fair-trade.  Give others the means to compete on their own merits rather than because the have or lack the backing of a powerful economy.  Make food, education, security, and healthcare non-issues.

{4 September 2010}   In Support of Immigration

I support immigration for many reasons, but here are a few.

American’s are having less children.  Our population is decreasing.  We have a social democracy.  As our population ages, we need more young folks to have well-paying jobs and pay into the tax and social services systems to support the aging population.  Immigration will help level our population and pay for these social services.

If we support legal immigration as much as possible we gain security.  Make it so easy to come to the US and be legally identified that unidentified aliens stand out.  Making it easy should also resolve the border issues.  Bring immigrants, give them them good educations, and let them pay into the tax system.  Give immigrants incentives to spread throughout the country and become American.  Forcing immigrants to hide creates a slave labor trade where immigrants can be exploited and treated poorly.  I want increased security.  I want to end slave and servant labor in the US.

I support legal immigration.

{31 August 2010}   Shade-Grown Coffee and Cocoa

Why should we care?

Do you like birds?  What about the rainforest?  What about the American Midwest?

Coffee and cocoa are grown on small trees in the “understory”.  Here birds, insects and heavy leaf fall help reduce pests and make it unnecessary to irrigate or use pesticides.  Buying shade-grown organic coffee and cocoa protects biodiversity (Cunningham & Cunningham, 2009).

Buying coffee and cocoa plants adapted to the sun encourage ecological destruction and can reduce bird populations by 90%.  Do you want to save the rainforest?

What does this have to do with the American Midwest?  Isn’t that were a lot of American farms are located?  There is a link between reducing rainforest in the Amazon and reducing rainfall in the American Midwest.

Shade-Grown Organic Coffee = More Rainforest = More Birds = More Rainfall for American Farmers

Where can I get it?

Grounds for Change is fair trade, shade grown and organic http://www.groundsforchange.com/index.php?loc=googleSHADE&gclid=CPPftuXi5KMCFVw65QodAw0xmA

“Your coffee can help migratory birds” http://www.shadecoffee.org/shadecoffee/

The Mexican Organic Shade Grown Coffee is the only one labeled “Shade Grown” at Starbucks

Cunningham, W.P., & Cunningham, M.A. (2009). Principles of environmental science: Inquiry & applications (5th ed.). United States of America: The McGraw-Hill Companies, Inc.

{29 August 2010}   Invasive Species Solution?

Issue: non-native species of plants are introduced into areas where they have no natural limiting factors. As a result, they do very well and crowd out native plants, which in turn clog waterways and hurt native animal populations.

Billions of humans not working together can create extinction level climate change. Can we find a way to harness that destruction?

Let’s say that we have a web site that shows you the top 5 invasive species in your area and what to replace them with. Including information about how to harvest them to reduce seed distribution. Including information about where to get the replacement native plants and how to encourage their growth. This information would be collected from local horticulturalists and scientists. Local garden clubs could aid in the education of their locale. The web site would be supported by apps for the iOS and Android smart phones.

Where do the humans come in? Armed with smart phones, acting locally, go destroy those invasive plants (and then plant good ones)!

{29 August 2010}   A Sustainable Dog Park

What can we learn from sustainable development elsewhere that we can apply to a dog park?

Rotate the entrance?

Make the park large enough so that you can rotate the area being played in.

Provide a smaller area for smaller dogs.

What is the best groundcover?

{18 August 2010}   Sustainability

Over the next five weeks, I will be studying environmental science.  The class is called “The Dependence of Man on the Environment” and I honestly don’t really know what that means yet!

As part of the class, the instructor has asked that we define sustainability each week and see how our definition changes as a result of this study.

Week 1:

Sustainability is figuring out how to sell consumers, like Americans, on a new dream.  It is about reducing the impact of humans on their environment so that we live within the realm of our planet’s support system, instead of surpassing it.  To be sustainable, we must look at the total cost of items and activities.  We must be willing to pay for that total cost.  Our social structures must support and encourage these ventures.

Week 2:

Sustainable growth means using resources at a lesser rate than nature’s recycling ability can restore them.  It means protecting entire habitats and biomes rather than individual species.

We need to identify what the carrying capacity is for humans on Earth and how that works with existing species.  Factors like agricultural advancements, industrialization, globalization, technology development will alter the equation for human’s carrying capacity.  Understanding how we can rotate crops or protect key marine areas to increase the harvesting abilities outside those areas.  Understanding techniques that limit harm during collection.  Outlaw techniques that destroy ecosystems like bottom trawling.  Find human adaptions to deal with invasive species.

Accepting that people who choose to live in areas where fire or flood is a natural restorative process cannot be protected or reimbursed by the public treasury.  Move people back into cities or urban areas – stop the urban sprawl.

Week 3:

How can we meet our energy needs and our health needs?  Use your wallet and your voice.  Make choices that are both local and global.  There is no “away” to throw things.  Every country exchanges dust and pollutants with far-away neighbors.  The air in China lands in California.  The air in America lands in Canada.  All pollutants concentrate in the northern hemisphere.

There is no such thing as pristine anymore.  There is nowhere on Earth untainted by human industrialization.  We are so much more connected to each other than we ever thought.  Is there really another option than global cooperation?

Sustainability looks at how environmental affects impact health.  It asks us to re-evaluate our assumptions about toxicology; inside v. outside, natural v. produced, etc.  If there is no “away” to throw things, how do we reduce, reduce, reduce?

Week 4:

The last wars were over oil.  The next wars will be over water.  So many of us take it for granted and yet it is more essential to life than anything else.  Risk has two dimensions: impact and probability.  That makes water the riskiest resource for us to play with and yet we take it for granted.

The future of sustainable development will protect water.  Thanks to the hydrologic cycle redistributing all of our mistakes around the global, when we protect water, we protect other resources.  Protecting water means diverting greywater away from treatment plants, towards local irrigation and reuse.  Protecting water means limiting mineral mining activities.  Protecting water means changing agricultural methods that also protect soil and prevent runoff.  Protecting water means generating electricity without it (wind and solar).  Sustainability means protecting water.

Week 5:

Our  textbook defines sustainability as “living on the earth’s renewable resources without damaging the ecological processes that support us all” (Cunningham & Cunningham, 2009, p.340).  Some refer to this as “meeting the needs of the present without compromising the ability of future generations to meet their own needs.”

After some reflection…

et cetera