This is the beginning of a series of articles about the challenges of growing an organization. I’m writing them to share some principles that I’ve derived from my own experience, as well as many valuable discussions with friends and colleagues, about helping companies grow from being quite small (say, 1-50 employees) to medium-sized (100-500).
There are many different ways to categorize companies by size, and not everyone agrees with me that different organizations tend to face certain similar problems as they grow, based on the number of employees. In any case, hopefully we can all agree that human systems are mind-bogglingly complex entities, and any two organizations will have many important differences—such as their culture and market situation—which influence their growth and development.
For this reason, I believe there are few if any hard and fast rules, and organizational design patterns can be difficult to translate from one organization to another. One organization’s solution can be another’s problem. Even when there is a perfect fit, the process of organization change is a feat unto itself, one about which many books have been written.
Even so, I think there is much to be learned by comparing different organizations, and much inspiration to be found in their successes and failures. Two organizations merit specific mention here, as sources of inspiration for me: Canonical, where I worked as Ubuntu CTO from near inception to when it reached nearly 500 people, and Heroku, where I currently serve as VP Engineering as it grows beyond 100 people.
Several of them share a common form:
- What it means – a short conceptual overview
- Why it’s important – an explanation of why this particular change is important at this juncture
- Old status quo – what things looked like when the organization was smaller
- New status quo – what things should look like for the next stage of growth
- Behaviors that help – practical suggestions for how to work toward the new status quo
- Obstacles that hold us back – anti-patterns that prevent progress
Table of contents:
- Part 1: Alignment
- Part 2: From implicit to explicit
- Part 3: Making and keeping commitments
- Part 4: From individual achievement to teamwork
- Part 5: Roles and Responsibilities
- Part 6: Management
This is part 6 in a series on organizational design and growth.
“The change from a business that the owner-entrepreneur can run with “helpers” to a business that requires management is a sweeping change. [...] One can compare the two kinds of business to two different kinds of organism: the insect, which is held together by a tough, hard skin, and the vertebrate animal, which has a skeleton. Land animals that are supported by a hard skin cannot grow beyond a few inches in size. To be larger, animals must have a skeleton. Yet the skeleton has not evolved out of the hard skin of the insect; for it is a different organ with different antecedents. Similarly, management becomes necessary when an organization reaches a certain size and complexity. But management, while it replaces the “hard-skin” structure of the owner-entrepreneur, is not its successor. It is, rather, its replacement.”
Peter DruckerWhat it means
Management is the art of enabling people to cooperate in achieving shared goals. I’ve written elsewhere about what management is not. Management is a multifaceted discipline which is centered on people and the environment in which they work.Why it’s important
In very small organizations, management can be comparatively easy, and happen somewhat automatically, especially between people who have worked together before. But as organizations grow, management becomes a first-class concern, requiring dedicated practice and a higher degree of skill. Without due attention to management, coordination becomes excessively difficult, working systems are outgrown and become strained, and much of the important work described in this series just won’t happen. Management is part of the infrastructure of the organization, and specifically the part which enables it to adapt and change as it grows.Old Status Quo
People generally “just do stuff”, meaning there is little conscious understanding of the system in which people are working. If explicit managers exist, their jobs are poorly understood. Managers themselves may be confused or uncertain about what their purpose is, particularly if they are in such a role for the first time. The organization itself has probably developed more through accretion than deliberate design.New Status Quo
People work within systems which help coordinate their work. These systems are consciously designed, explicitly communicated, and changed as often as necessary. Managers guide and coordinate the development and continuous improvement of these systems. The role of managers in the organization is broadly understood, and managers receive the training, support and coaching they need to be successful.Behaviors that help
- It can be helpful to bring more experienced managers into the organization at this stage, especially if there isn’t much management experience in house.
- Show everyone in the organization (including managers themselves) what managers do and why it matters.
- Consider very carefully whether someone should become a manager.
- If someone does take on a management role, treat this as a completely new job, which requires handing off their existing responsibilities and learning a new discipline. Don’t treat it as just an extension of their work. Write a new job description and discuss it up front.
- Management misbeliefs
- Granting “promotions” to management roles as rewards for performance
- Many people, when they experience what management work is like, don’t enjoy it and aren’t motivated by it. It can be hard to predict when this will be the case, and people can feel “trapped” in a management role that they don’t want. Make sure there are mechanisms to gracefully transition out of roles that don’t fit for the people holding them.
I previously reviewed some books on HTML5 and CSS3, but that was back in 2011. This is a brand new book on HTML5. It doesn’t cover CSS3, but it covers the HTML specification in greater detail than the other two books.
HTML5 Unleashed is part of the same series as my book, Ubuntu Unleashed 2014 (which is brand spanking new as well…just saying…). I’m stating that right up front so that everyone knows that I have a potential conflict of interest. Read my review with that in mind. I’m trying to be unbiased, and I have no direct financial or editorial interest in HTML5 Unleashed, but I am the author of a book in the same series. So, now that that is out of the way, let’s dig in.
HTML5 Unleashed is filled with beautiful, full color pages. Figures and code appear just as they do in browsers and quality code editors. That is a really nice bonus that makes long code samples (and we all love long code samples!) easier to read and gives us an easy way to visually confirm that what that code is supposed to do is being done in our browser when we try it out. Seriously, there is color on every page. I like it.
The book starts with a nice, easy introduction that gives us some historic and technical context as to why HTML5 was created and what it is designed to do. For those of us who have been making webpages since the early GeoCities era, it is a nice refresher that makes for a very quick read and provides an accurate context for the newcomer.
Chapter 2 is another quick introduction chapter that presents the important concepts for HTML5 from a high-level. This is actually important as it clarifies the “why are these things being presented” well before you dig in to the meat of the book. Don’t skip it, it’s short and worth reading.
The rest of the book, chapters 3-13, cover what I consider the main reason for buying the book. In here are the details we all want. While a quick Google search will give you most of this information, maybe all of it, it will not give it to you in such a well-planned order that builds upon itself.
Specifically, topics include everything from the basics like Doctypes and semantic tags to forms. Then, we move into deeper topics like rich media. A set of four chapters is dedicated to covering HTML5 canvas, which is the flashiest and most immediately-gratifying part of the new specification as it “natively enables interactive movies, games, charts, diagrams, and tons of other forms of dynamic visual content.” The canvas section includes topics like when and when not to use canvas over other options, working in 2D and even in 3D, making canvas interactive and stateful, performance tips, and even a discussion of its expected future.
This book does not cover presentation, such as is done using CSS. This is the content side of the equation, and honestly it is the part I enjoy most. However, it will not help you learn everything you will need to know about web programming and site creation. It will, however give you the useful tools you need to upgrade your skills to today, if you are an HTML4 or XHTML proficient, and it will help the novice gain a solid foundation and understanding of what makes a site work, which I think is important before you start to work on making it beautiful.
Two years since the last minor release of wxBanker, I finally made it a priority to release the next version of wxBanker, 0.9. If you aren’t familiar with it, wxBanker is a personal finance application in the Ubuntu repository, designed to be as simple as possible. Here’s my favorite review in the Ubuntu Software Center:
By far the best money manager I’ve ever used, on Linux or otherwise. I searched long and hard for a simple account tracker for several years until coming across wxBanker. Its interface is clean and easy to use. It supports anything you would expect in a typical money manager: recurring transactions, import/export, account transfers, tagging and many other useful features.
So, what’s new in the latest version?
- Mint.com integration restored
- 16 new currencies based on user requests
- bug fixes: rare startup crashes, CSV export with Unicode characters
- initial step towards multi-currency: accounts can specify their own currency
- under the hood work for the beginnings of OSX support
- minor UX and translation improvements
Now that these are out of the way, I’d love to work on 1.0 and make the following improvements based on what I’ve been running to:
- ability to archive accounts (their transactions will still exist and show up in graphs, but the accounts won’t show up in the left-side or transfer list)
- when making a transfer, accounts remember the last account they transferred from/to
- show the last few Mint.com transactions when hovering or clicking the status
- add a “yellow” Mint.com status which means a recent balance matches Mint, but you have new transactions which Mint doesn’t know about (yet)
- better representation of transactions dated in the future
I’d love to hear if you use anything to track your personal finances, and if you have any questions or thoughts about wxBanker!
Today I released Melany 1.0.4, a new patch for my minimal WordPress theme built with Twitter Bootstrap. This new release aims at bringing a better overall experience in the 1.0 cycle before starting to develop the 1.1 version, which will bring new features and cool stuffs into the theme.
Melany 1.0.4 introduces some fixes for found issues and a number of new translations, along with minor functionalities.
For the complete changelog, please read the release announcement.
Melany is free software: you can contribute with code, tests, suggestions, translations and documentation. Please see the official website.