[{"content":"The Mission Here\u0026rsquo;s Zipline\u0026rsquo;s vision statement from their website:\nBuild the first logistics system that serves all people equally.\nThis statements needs no justification. It\u0026rsquo;s not clear if building such a thing is even possible, but it\u0026rsquo;s capable of rallying employees, shareholders, and customers around a common cause.\nThe Strategy To continue with the Zipline example, while they don\u0026rsquo;t publicly share their strategy (not many companies do), here are some purely fictional possible strategic statements that Zipline could have for a 2-3 year period.\n\u0026ldquo;L1\u0026rdquo; strategy statement This is the first layer of strategy. The \u0026ldquo;Big goal\u0026rdquo; here IS the vision statement.\nIn order to build the first logistics system that serves all people equally We believe that we must achieve the following in prioritized order: Expansion within currently-served geographies Develop a low noise solution for densely populated areas Expand into Latin America Reduce the cost to serve for existing fulfilment centers Reasoning Over the last two years, we have invested heavily in government approval in new areas in EMEA. We believe that proving out those investments with solid returns will have the biggest impact to our ability to grow and serve more customers. Historical revenues for areas with newly secured government approval indicate a lagging revenue, which we believe will continue to hold in this case [1]. We also know from feedback from customers and local governments that the noise of our v1 product is one of the most-cited reasons for not winning expansion approvals [2]. We believe that validating a low-noise delivery pipeline will increase our total addressable market by 30% [3]. As with last year, we still believe that expanding into LatAM will have a huge positive impact on the company, and we will continue to push forward in this area. The market indicators for this belief have not changed. However, based on what we have learned so far, and some shifts in public policy in the region, we do not believe we will be able to make progress here this year. We will continue our efforts at a reduced capacity in order to maintain some momentum, but this is now a lower priority than expanding in existing regions [1]. Finally, while expansion is the most important goal, increasing the efficiency at which we operate is always important, and whenever it doesn\u0026rsquo;t conflict with the other priorities, we will continue to look for ways to be more efficient in everything we do. For this period, we will no longer be prioritizing further R\u0026amp;D on the existing arid plains solution due to lack of substantial gains from this work in the past year[4]. We will also no longer be prioritizing business expansion in coastal regions where we are not currently a good fit for the market [5]. Further strategy statements For a company like Zipline, this list of goals would be broken down at least one or two more times before connecting them to the Work.\nThe global business development team would create another Strategic statement based on c. Expand into Latin America. If the global biz dev team at Zipline is one group, they may stop there. The product team would redefine their strategy statements, which were previously focused on arid plains solutions, and instead focus on b. Develop a low noise solution for densely populated areas. If the product team is several departments who focus on different areas, they may add one more strategic statement each. The team would continue to break down the strategy until each of the small goals for the L1 strategy statement is owned by a team that can act on it. ","permalink":"https://coffee-anon.com/posts/the-anatomy-of-a-strategy-pt-2-an-example/","summary":"To continue with the Zipline example, while they don\u0026rsquo;t publicly share their strategy (not many companies do), here are some purely fictional possible strategic statements that Zipline could have for a 2-3 year period.","title":"The anatomy of a strategy pt. 2 - An Example"},{"content":"Foreword I\u0026rsquo;m a little reluctant to write this article, to be honest. Does the world really need another article on strategy? But it\u0026rsquo;s so important, and despite the extensive coverage of the topic, most organizations don\u0026rsquo;t actually have a strategy.\nInstead they have a short list of company-wide metrics imposed on them by the board, and a disorganized collection of projects.\nAll of these tools are trying to do a very specific job: enable everyone in an organization, at all times, to clearly and confidently explain how their current work is part of a strategy to accomplish the mission of the organization. But so often, they completely fail. The projects have no clear connection to those metrics beyond a forgettable slide deck, and the metrics say nothing whatsoever about the company.\nSo let\u0026rsquo;s try to disentangle the mess and define a framework. The purpose of the framework is to do the job described above: to give everyone in an organization the tools to describe the value they create for the organization. And we\u0026rsquo;ll do this job with a combination of\nthe Mission, the Strategy, and the Work And importantly, we\u0026rsquo;ll connect them in a way that gets this job done.\nTerminology Terminology in this space is hard. just know that:\nWhat I call a strategy statement you might call an OKR, initiative, or just \u0026ldquo;objective\u0026rdquo;. What I call a project you might call a feature, epic/story, or program. (There are important differences between these things, but they won\u0026rsquo;t get in the way for this.) The Framework The Plan is how everything is connected A Plan is the combination of three things: the Mission, the Strategy, and the Work:\nThe Mission, which is a single mission statement The Strategy, which is a collection of strategy statements (one or more layers) The Work, which is a collection of projects and tasks (one or more layers) The Mission drives the entire Plan The Mission - a.k.a. the mission statement - is sometimes also called a vision statement or a BHAG (\u0026ldquo;big hairy audacious goal\u0026rdquo;). The scale of the Mission should be somewhere between \u0026ldquo;technically achievable\u0026rdquo; and \u0026ldquo;impossible\u0026rdquo;. It\u0026rsquo;s the thing that everyone in the company knows by heart, why some of them decided to join in the first place.\nThe role of the Mission is to set the high-level tone, and to answer the question \u0026ldquo;why are we here\u0026rdquo;? It\u0026rsquo;s the end goal, but it says nothing about how to get there. For most large corporations, the Mission competes with the ever-present \u0026ldquo;increase value for shareholders\u0026rdquo; mantra.\nMission statements are unique because no justification is needed for a mission statement.\nThe Strategy gives the Plan focus The Strategy illustrates how the Work of the company achieves the Mission. The Strategy is made up of one or more strategy statements*.* Each statement involves a leap of faith, and by definition cannot be inherently true. In that way they can be thought of as hypotheses or bets. Every strategy statement consists of three things:\nThe big goal it\u0026rsquo;s connected to A set of prioritized smaller goals A clearly articulated argument for why the company believes that achieving the smaller goals will lead to the achievement of the big goal. e.g. \u0026ldquo;we believe that if this, then that, because\u0026hellip;\u0026rdquo; The big goal for a strategy statement can be the Mission, or it can connected to one of the smaller goals of a higher level strategy statement.\nEach goal needs a person or group that owns it. Any person or group that has more than one goal must clearly prioritize their goals; if they don\u0026rsquo;t, making the best decisions becomes increasingly arbitrary and impossible.\nThe first level of strategy statement is the most difficult. It\u0026rsquo;s almost impossible to optimize through any other process than iteration, and that iteration can be difficult and expensive.\nEven then, once the small goals are decided, distilling them down into short statements is extremely challenging, prioritizing them is even harder, and invariably some strategic statements are riskier bets than others, but risky doesn\u0026rsquo;t mean bad. Still, as much justification as can be presented should be presented, especially at the high level. And that can mean that there\u0026rsquo;s a LOT of supporting material involved.\nThe Work is how the Plan gets done The work is the collection of discrete things you build or do in order to achieve the strategy statements. This is typically something similar to projects and tasks, where a project is a collection of tasks or smaller projects undertaken to do something specific. Shipping a feature, sponsoring an event, giving a talk, acquiring a customer: all of these are projects (in addition to other things).\nThe transition from the Strategy to the Work At some point for every organization, the Small Goals aren\u0026rsquo;t goals anymore, they\u0026rsquo;re projects or tasks. This is where the strategy stops and the work starts.\nFor many organizations, step 2 is not even done once, they just a vision and a collection of projects. Either no strategy exists, or it isn\u0026rsquo;t communicated to the team. For some, a shallow strategy exists: these steps are iterated through once or twice, first breaking down the vision into a small set of measurable objectives (a \u0026ldquo;North Star metric\u0026rdquo; or KPIs), and then departments will divvy these up once more and define the projects for their teams. For a few organizations, this iterative strategizing into the details of specific areas of focus is done all the way down to each team of ICs. Properly implemented OKRs are a good example of this. Wherever the transition happens from strategy to planning, that is the last point in the organization where the team has ownership.\nChoosing a shallow strategy can be a better decision if the feeling of ownership of a IC teams is low, if they don\u0026rsquo;t have access to enough information to make informed decisions, if leadership has the same or more knowledge as all of their IC teams, or if the domain that the organization operates in doesn\u0026rsquo;t evolve quickly.\nChoosing a deep strategy is typically a better decision if teams have diverse specializations, if they have strong feelings of ownership of their work, if they have easy access to relevant information within the organization, and if the organization operates in a quickly evolving domain.\nIt\u0026rsquo;s not uncommon for companies to want to take on the second option, but if the team isn\u0026rsquo;t ready for it, asking teams to take on more than they\u0026rsquo;re interested in can lead to worse performance or confusion. A shallow strategy is better than no strategy at all.\nNext article: An example of mission, strategy, and work ","permalink":"https://coffee-anon.com/posts/the-anatomy-of-a-strategy-pt-1/","summary":"So often, company strategies completely fail. The projects have no clear connection to the company metrics beyond a forgettable slide deck, and the metrics say nothing whatsoever about the company\u0026hellip;","title":"The anatomy of a strategy pt. 1"},{"content":"Using OpenWrt version 22.03.4\nHere\u0026rsquo;s a quick list of helpful commands to use when trying to debug the OpenWrt routing tables. I ran across some issues recently where a cluster running metallb in L2 mode was failing to get traffic, and the first place I looked was the router. Here are a few commands that ended up being very helpful - in my case to prove that the router was completely fine.\nPrint all of the firewall rules on uci uci show firewall Print all of the traffic rules fw4 print fw4 is sort of like iptables but less ancient.\nNote: fw4 print also does some basic validation of whether the config are valid, since uci can add parameters that are invalid which will cause those config sections to be ignored. BUT there ARE some changes that are valid in UCI but will be considered invalid by fw4! like log_limit\nManually edit the uci firewall rules vi /etc/config/firewall This can be very helpful in order to add logging (and log limits) to specific rules to see when they\u0026rsquo;re triggered.\nReload the firewall config manually /etc/init.d/firewall reload Manual reload of the config is only really necessary when editing the firewall config by hand\nRun ip neigh to test ARP route Install the package\nopkg install ip-full opkg install iputils-arping And then check if the ARP list is correct\nip neigh The traffic for the ARP on a host can also be watched with\nsudo tcpdump -i wlp3s0 -n -e -vvv arp (replace wlp3s0 with whatever your network interface is called.)\nIf the ARP list isn\u0026rsquo;t right, it\u0026rsquo;s possible to add a permanent entry with ip neigh replace, but it\u0026rsquo;s worth considering whether this is a workable solution long-term.\nIn my case, just knowing that the ARP list was wrong led me to find that one of my network cards just wasn\u0026rsquo;t responding properly to ARP requests. Rather than add a manual entry, I specified a preferred node for managing my metallb load balancer that didn\u0026rsquo;t have this problem.\n","permalink":"https://coffee-anon.com/posts/cli-debug-tools-for-openwrt-routing/","summary":"A quick list of helpful commands to use when trying to debug the OpenWrt routing tables.","title":"CLI debug tools for OpenWrt routing"},{"content":"This Isn\u0026rsquo;t Science is a personal writing site by Dan Jacobsen.\nRecurring themes:\nInfrastructure — designing, building, and operating the systems that run modern software. Practice — leadership, product strategy, and the work of making decisions at scale. Built with Hugo + PaperMod, self-hosted on bare-metal Kubernetes.\nReach me via the links in the header.\n","permalink":"https://coffee-anon.com/about/","summary":"About this site and the author.","title":"About"}]