Saturday, August 17, 2019
This is a very actionable book. Chapters wrap up with things you can do and with a summary of key points. This book can be as much a daily reference as a tools for learning to be a better change agent.
While 7 Rules is about organizational/corporate change, concepts in the book are also helpful in helping you to navigate tricky issues in community and family life. For example, the relationship between congruence and empathy underlies being an effective change agent, and the book can help you understand these concepts better.
The lessons in the book will help you understand how to make changes at any level, from small things like encouraging unit testing to larger things like a better dev process.
The book provides useful advice for managers, scrum masters and those leading sprint and project retrospectives. Since change can happen at all levels anyone who has found challenges at work that they want to improve should consider this book.
Tuesday, August 13, 2019
My rating: 5 of 5 stars
In Range David Epstein explains that while specialization can be valuable in some circumstances, “Range” is both important and undervalued. There are many others where having breadth of experience leads to better solutions to problems, particularly in more complex domains that one typically encounters in knowledge work.
The idea of range resonates with the idea of Cross Functional Teams of T-Shaped people (breadth of experience with depth in some areas) which Scrum and Agile advocate. In the context of an agile team, such a team solves the problem of maintaining the flow of work, as you are less likely to find work in your backlog that is blocked because of a local of someone who can do it. Epstein explains that such teams lead to better solutions as well.
The discussion of the importance of “range” goes against many beliefs people have about the importance of having deep knowledge and getting a head start on acquiring it. Consider the push to start training for sports early or to develop deep skill in an academic discipline. Even in hiring, people with a mix of skills don’t seem to fit neatly into org charts, even as work requires a mix of skills, and a desire and ability to broaden ones areas of expertise.
As someone who has a wide range of interests, and who likes to find connections between seemingly unrelated domains I very much enjoyed and appreciated Range. It’s a well written book, with a mix of assertions, stories, and references to data, along with quite a few notes and sources for those who are skeptical and want to dig deeper.
If you are work in a knowledge area, or are thinking about how to influence a child’s learning path, Range is worth a read to help you understand the context of when breadth adds value.
View all my reviews
Review: Loonshots: How to Nurture the Crazy Ideas That Win Wars, Cure Diseases, and Transform Industries
My rating: 4 of 5 stars
Loonshots is an engaging analysis of why some organizations nurture innovation while others seem to sabotage it. With a mix of history, organizational anthropology, psychology and even physics, Bacall makes the case for how culture and organizational structure affect innovation. He also explains how to structure teams to support innovation while still providing for a value stream.
I appreciated how Bahcall emphasized that culture isn’t just an afterthought, but rather something that shapes how your organization works. While some of his advice might be more relevant to larger organizations, the themes are helpful to consider in a company of any size, and any stage of growth, from startup to larger company. Relatedly, some of the phrasings for the "rules to follow" sometimes lose subtlety, but the text fills in the details
This book is worth a read is your are interested in teams, organizations, entrepreneurship, or the history of innovation.
View all my reviews
Sunday, March 31, 2019
My rating: 5 of 5 stars
Start with Why explains that having of clear mission is important to success. The general themes in the book are things you wish every team did, but which most teams ignore. Sineck makes his point in an easy to read book that includes a number or stories.
Understanding your mission (or why you are doing what you do) has benefits at all phases, ranging from execution to marketing and sales. At the execution end of things, a team that understands (and embraces) a mission can work more autonomously and creatively, and thus be more productive. At the consumer end, it can differentiate your product from others that do the same thing, and lead to brand loyalty. A clear “why” can influence a product decision more than technical merits, especially in an evolving product space.
This resonates with my experiences. I’ve often thought of my self as an “Early Adopter” and someone who made decisions that often included intangibles rather than an evaluation of a pro/con lis. An early example of this, is my deciding to buy a Palm Pilot in spite of friends extolling the technical merits of the Apple Newton, because I really just wanted an easy way to carry addresses and calendars around, and while the Newton was “cool” I wasn’t sure why I’d want one.
Sineck draws many examples from successful businesses that, while necessarily being the first in a business, had a clear sense of purpose, including Apple (at least the Steve Jobs era) and Southwest Airlines.
While the book seems focused on the importance of Why in business strategy , the philosophy in this book carries over into many aspects of ones work (and even personal) life.
For example, in software requirements, I’ve always been skeptical of requests that tell me what functionality to build, without having an idea of why the person wants it (or what they what to accomplish). Obscuring the Why makes it harder to build creative, more cost-effective solutions.
In terms of work/life balance, I’ve always felt more engaged in work that I found inspiring, and when leading teams, I’ve observed that teams moved more quickly when everyone had a reasonable sense of the mission and goals.
As I read the book, I even realized that I could improve a presentation I’m working on by focusing more on why the ideas I’m presenting can move not just work, but values forward.
And, as the last paragraph in the book sums up, being able to share “why” can help you, as a leader, inspire action.
I picked up the book almost at random, but am, glad to have read it. It’s engaging, inspirational, and actionable. The ideas make sense, and you may even have thought along similar lines yourself. The core ideas here are ones that I’ve always tried to live by in my professional life, though it felt that I often got blank looks when I raised the question of mission in certain teams and organizations. Having had the book to point to might have made a difference. Perhaps not (and the question of why an idea from a third party takes better than one from an employee is likely the subject of many other books).
At some level, Start with Why is simply about applying what Jerry Weinberg called “Congruent Action.” Know what your values are is a prerequisite for acting congruently. This book is worth reading if you want to improve your (or you team or organization’s) focus and enjoyment of work.
View all my reviews
Sunday, February 10, 2019
If you (or a family member) plays Minecraft on iOS, and you get a new iPad you’ll often want to transfer the worlds between devices. The simplest thing is to restore the new iPad from an iCloud Backup of the old device. This will transfer all of the data, including Minecraft words.
Sometimes you might want to start a new iPad from a clean slate. ( Since most of the data I care about is already in some sort of cloud storage, a new iPad is a good excuse to cut down on clutter). Minecraft doesn’t make transferring data as easy as other apps do. There are 3 options, including one that I hadn’t come across doing searches the times I’ve done this.
One option is to use Minecraft Realms. With Realms you can keep words in the cloud or upload worlds on one iPad and download them on another. Realms isn’t really a backup solution. You pay per ‘world’ and the upload and download process is slow. But it can work if you have a small number of worlds, and if this is a one off, you can do the transfer during the free trial period. Mojang has a helpful article describing how to do this.
The more useful approach is to use a Mac app that lets you mount your iOS devices as disks. There are many forum posts on how to do this. The two tools that get mentioned often are iExplorer, a paid app, or iFunBox, which is free.
I wondered why one could not use the iOS Files app to do this, thus avoiding third party tools. And it turns out that you can.
When you go to the Files app for the first time, navigate to On My iPad,. You may notice that there isn’t an anything promising visible.
But you can make a Minecraft folder visible. Connect the old iPad with the world data to your Mac via USB, and go through the workflow to have your iPad trust the Mac it’s connected to. No need to synch or transfer any data.
When you disconnect, you should see a Minecraft Folder. Navigate to the Minecraft Worlds folder (as described in the posts on how to use iExplorer-- games/com.mojang/minecraft Worlds) and copy the Minecraft Games folder to another place on your iCloud Drive.
Connect the new iPad to a Mac to get the Minecraft Folder to appear. Navigate to the correct place and copy the world files from the iCloud Folder into the Worlds folder.
Restart Minecraft and you should see the worlds.
(I haven’t dug deeply into why connecting to the Mac makes the folder visible, but I’ve heard some plausible explanations from friends who know more about iOS app development than I do. If someone has a concise, explanation I can share it.)
Monday, January 15, 2018
One way to establish common expectations is to create and agree to something akin to a Contract for One on One Meetings, either at the start of a new management relationship, or at a time when your meetings seems to be becoming less effective. Like any long-term agreement, realize that it’s subject to change as situations change. If “contract” seems too formal, think of it as an outline for a conversation.
Having been on both the manager employee side of the conversation, I’ve found the following to be the key points to agree on at the outset. Your list may be different, but I hope that this is a good starting point.
Key Agreements for One on One MeetingsA one-on-one agreement should address the following points. This agreement should allow for situational variation, but if you consistently stray too far, consider having a conversation. For some of the sections, who does something can vary. For simplicity, I specified either manager or employee in the example.
PurposeWhile it may seem “obvious” why you’re having one-on-ones, there are enough obvious reasons that it’s worth spelling them out. Are these meetings career focused or project focused? Often one-on-ones are focused on career conversations rather than project work (though project work might provide context). Being explicit and clear is the important thing. If you have only one conversation about one-on-ones, this is the one to have. An example of a purpose statement could be:
The purpose of these one on one meetings is to provide a regular time to check in with each other about career goals, and to understand how we can work together to help the employee achieve her goals, and for the manager to get information to help her manager better.
SchedulingAgree on how frequently you will meet, who will schedule the meetings, and in what format you’ll meet. Since business and personal commitments might lead to missing an occasional meeting or two, discuss how to handle those situations. The point here is to establish responsibility for scheduling time, and to establish the priority of these meetings. For example:
The manager will schedule one on one time every two weeks (as agreed). If schedules make this hard, the manager will provide notice and try to reschedule. If we miss more than 2 scheduled meetings, we will plan to meet in person, or via video as soon as possible.
The employee will make time for the one on one meeting, and give as much advance notice as possible if there are conflicts which make attendance difficult.
ContentThis is a statement about the general agenda and how much preparation to expect. Err on keeping this to general themes so that you can keep to the format over time. It’s useful to include the following components:
- Manager Items
- Employee Items
- Feedback (both ways)
- Career development
- Action Item Review
The Manager will come prepared with items to discuss. During the meeting the manager will offer constructive feedback, follow up on action items, and ask for feedback, and accept it in a non-defensive manner.
The Employee will come prepared with items to discuss. During the meeting the employee will provide follow up on action items, offer constructive feedback to the manager, accept feedback from the manager in a non defensive manner and commit to raising any issues that are, or may be, concerns.
Follow upMost short meetings will result in work to be done by the participants. This section describes what will happen after the meeting to capture and follow up on action items.
The manager will summarize action items (for both employee and manager). We don’t need meeting notes or minutes in most cases. Each party will make a best effort to follow up on action items.
SummaryThe idea of a “contract” for a routine meeting might seem a bit heavy weight, but some form of agreement is essential. My hope is that this can be a framework for a conversation about what a good 1:1 is, even if the details vary.
Thursday, May 18, 2017
Site Reliability Engineering
It’s difficult to walk into a software development organization without hearing about the discipline of Site Reliability Engineering (SRE) though you may discover that SRE means different things to different teams. The practices of Site Reliability Engineering are all well known, and successful teams practiced them before there was a collective name for them. I read Site Reliability Engineering in an attempt to get a handle on what the discipline covers, and what SRE teams do. I do feel like I have a better understanding both of what canonical SRE is, and helped explain why different organizations practice the SRE discipline in slightly different ways. I recommend the book to those want to learn more about deploying systems at scale, though with some caveats.
The book is very Google centric, which is appropriate since the book is subtitled “how Google Runs Production Systems.” How well you can apply the lessons in the book to your team depends on your prior expertise, and the specific topic.
The book is a collection of articles by a variety of contributors, rather than a single sourced book and as a result the writing is a bit uneven. Some chapters do a good job of walking you though the subject area, and distinguish how what Google does could apply to your organization and too chain. Others are Google centric to a fault, describing internal tools and approaches with little if any reference to similar more generally available or even open source tools, or the tradeoffs to consider when evaluating that decision for your team.
The principles in the book are all generally valid and you will definitely walk away from the book knowing more about the issues to consider in keeping production systems running at scale. You many or may not have a clear idea about how to implement the lessons you learned.
Google is a successful company and has solved some challenging problems, and we can learn a lot from the Google practices. It’s important to remember that Google is also unique, in terms of history and problem space, so one should consider adapting the Google Way, rather than adopting it without interpretation. This book is a great launching point for discussion, and it’s worth having a copy if you deploy systems at scale. Just don’t take it as The Way to do Site Reliability Engineering.
Having known Esther Derby from conferences, her writings, and having participated in a problem solving leadership workshop she led, I knew t...
My main development language is Java, but I also some work in Python for deployment and related tools. Being a big fan of unit testing I wr...
Being a fan of Continuous Delivery , identifiable builds, and Continuous Integration: I like to deploy web apps with a visible build number...
Groovy is a powerful and fun language. One of the nice features, particularly useful for internal tools, is the ability to deliver scripts...