Activities, Outputs, and Outcomes — A framework for your job

This is a framework for understanding, describing, and performing your job duties, roles, and responsibilities. You can use this as a template to create a useful job description that you would actually use while you are in a job.

It divides a job into three categories: activities, outputs, and outcomes. To be successful in your job, it is useful to understand the difference between these, and to achieve an optimal balance spending appropriate time and energy on each.

This article is written for multiple audiences — people who are primarily in maker (direct contributor) roles as well as those primarily in leadership and management roles. The ratios of time spent on activities, outputs, and outcomes as well as the types of items in each varies based on your particular job. You should determine in collaboration with your organization how your job should be defined and described in terms of these.

Ask yourself this question: After being hired in a job, do you ever refer to your HR job description to guide you or to check if you are doing what your job is described as?

I prefer to use this framework rather than the commonly seen job descriptions. Most job descriptions are not real descriptions — they are job advertisements to get candidates to apply to. After the employee is hired, they rarely, if ever look at their job description. Conventional job descriptions are usually a formality to check certain HR, legal, or compliance boxes. The commonplace job description is like the marketing ad for a product. This is meant to be the summary version of the owner’s manual. For examples of longer handbooks for jobs, you can view my previous articles 90 Day Plan for a CTO in a New Job and How to be an effective CTO.

You can’t magically drive results. To meet your company’s objectives and key results (OKRs), you must spend time on activities and produce outputs. I link to more information on OKRs later in this article in the outcomes section.

Activities

Activities are the things you spend time doing in your job. Certain activities may be doing the work of creating deliverables, but others may not deliver tangible outputs. Some activities may directly lead to measurable business results, but others may not.

Activities can be beneficial to the organization or they could be busywork of low value. It is better to spend more time on activities that lead to outcomes  — or at least to outputs — than on activities that can’t be confidently tied to valuable business results.

Always to know its clear purpose before engaging in an activity. For example, attending a meeting is an activity. If you do not have a clear and valuable purpose for why you are attending a meeting, you are likely wasting your and others’ time.

Here are some examples of activities.

  • Reading and answering emails and slack messages. Being responsive
  • Attending (preferably participating in) meetings
  • Talking 1:1 with colleagues to build good professional working relationships
  • Interacting with team members and colleagues to uplift their morale
  • Mentoring and coaching others
  • Organizing working sessions, meetings, and presentations
  • Resolving conflicts
  • Reviewing the work output of others
  • Soliciting input from other teams
  • Providing substantial and insightful feedback provided on work, documents and plans created by others
  • Leading by example. Demonstrating leadership, management, and ethical behavior
  • Demonstrating expertise or deep experience in one or more areas
  • Interviewing job candidates
  • Collaborating with others and helping them with their work

The activities in the above examples by themselves are often insufficient. You could have a very busy day at work every day, and yet accomplish little in terms of valuable and meaningful results. Imagine a car stuck in sand, spinning its wheels but not moving forward or a wild animal in a zoo enclosure pacing back and forth yet accomplishing little beyond getting light exercise.

When I ask someone how their work is these days, and they reply “busy, very busy,” I’m usually unimpressed. It implies that their schedule is busy and it is likely not by their own choice. Unless you work in extraordinary circumstances — as a hospital ER or are an active duty soldier engaged in a war — that response likely signals your schedule is completely out of your control — a sign of weakness and poor prioritization. When the first word that comes to someone’s mind in describing their work is “busy,” it is a sign that they are far more focused on activities than results. If you had to describe your work in one phrase, I’d prefer hearing words like “exciting,” “meaningful,” or “challenging“.

Don’t be busy, be purposeful

Outputs

Outputs are the tangible deliverables you create or co-create. Outputs are maker’s work. Your team’s outputs do not count as your own unless you had a significant hands-on part in creating them as a maker, not just as a manager.

While outcomes are the most valuable part of any job in any organization that cares about results, outputs are the most easily measured and attributable to you. Examining your outputs is one way for your company to know about the value you personally add. Good outcomes usually result from teamwork. Because outputs are tangible and can be reviewed by others, their examination leads to your management being able to continually better align your work to the organization’s desired results.

Creating outputs on a regular basis also helps you avoid failing the lottery test:

Below are some examples of outputs. To be considered outputs, these must exist in a tangle form as physical and/or digital product. For example: documents, presentations, spreadsheets, diagrams, videos, software code, or physical objects. Drafts and prototypes are acceptable.

  • a vision, strategy, plan, recommendations, and works of thought leadership
  • thoughtful memos
  • written down plans
  • proposals, business cases
  • competitive research
  • budget spreadsheets
  • diagrams
  • status reports with evidence of material work you did or progress you made
  • software code
  • multimedia, videos, photos, artworks
  • digital and/or physical products

As a general best practice, you should not create most of your outputs in isolation. You should share early drafts and prototypes of your work and ask for input and feedback. Your colleagues should have clear idea what you are working on and why. Stanford Professor Baba Shiv’s Art of the Imperfect Pitch is another reason to share early versions of your work.

I can’t stress enough that to be considered your outputs they need to be authored or significantly co-authored by you. Even if your job role is strategist, planner, or thought leader, you still need to write down (or make a video of, if that’s your thing) your strategy, plans and thoughts. Writing down ideas also helps refine and evolve them. On that note, while slide presentations have their value and place in specific situations, they should never be a substitute for a well thought out document. To quote the famous and successful founder and CEO of Amazon:

“The reason writing a ‘good’ four page memo is harder than ‘writing’ a 20-page PowerPoint is because the narrative structure of a good memo forces better thought and better understanding of what’s more important than what.”

Jeff Bezos

Outcomes

Outcomes are the results. These are the most valuable and important part of your job. The activities you engage in and the outputs you produce should be towards these results. I recommend the OKR framework that I mentioned near the beginning of this article. Here is a link to a comprehensive guide to objectives and key results

Below are some examples of types of results. Results should be measurable (preferably with numbers), directly lead to objectives being met, and of real, high value.

  • meeting or exceeding revenue, profit, and/or growth targets
  • delivering products and services to customers that meet their needs or delight them
  • process changes in operations and/or product areas resulting in savings of time and/or money
  • culture improvements shown to increase employee morale, productivity, and retention
  • other measurable improvements that can be directly or indirectly attributed to your work
  • better collaboration or relationships among distinct teams leading to quicker and higher quality product delivery

Next Steps and An Alternative To This

To illustrate how to use this framework, I’ll share an example of a job description using this as a template at a future date and update this article. If you try this out and would like to share yours, Tweet it to me at @rajivpant and I’ll include a link to it from this article.

An alternative to this framework I’ve provided is Holacracy‘s system of describing a job a different trio: purpose, accountabilities, and domains. I plan to incorporate some lessons from those into this system in future and will update this article.

Takeaways

To avoid the cycle of often being too busy yet not accomplishing the goals to your organization’s and your satisfaction, consider describing your job using this framework to create a quick user’s guide for your job.

If you go so far as to create a handbook to help you do your job better, include checklists because they are effective. The CTO 90 Day Plan I mentioned earlier is such a checklist.

Once you have drafted an actionable job description you can refer to periodically, use it to guide your work. You should review your actual work (your calendar, deliverables, and results) along with your job description on a regular basis, making changes to your actual work or to the description, as appropriate.

Such a living handbook is also immensely valuable to the next person in your job (when you are are in your next even greater job.)

An Example of Respectfully Declining a Meeting at Work That is Already in Your Calendar

Here is an example of how to respectfully decline a meeting to make time to work on a higher priority.

We occasionally find ourselves in meetings when our time could be better spent doing something else of greater value. I previously wrote about how to respond to and politely decline meeting invitations. This post is about declining a meeting you have previously accepted and communicating that in advance to all participants because some of them may be expecting you to attend. This sometimes happens with recurring meetings where you need to participate in some but not all instances. Sometimes you previously accepted a meeting, but things have changed since that no longer require your participation.

I recommend that you do daily and weekly reviews of your upcoming meetings and consider which ones you should decline to make better use of your time.

———- Forwarded message ———
From: Rajiv Pant <[email protected][redacted]>
Date: [redacted]
Subject: [redacted]
To: [redacted]

Dear Colleagues,

This initiative is important to me. I was part of the kick off and subsequent discussions, and this project is on a good track. I will skip this upcoming meeting because I don’t need to personally contribute in, nor make decisions in this next meeting.

I trust [named colleagues] — who I have preciously discussed with — to represent my interests in this meeting. I will follow up with them afterwards, if necessary.

I will use the time to focus on [another project] that needs my attention.

HOWEVER:
If I am missing something and y’all do need me to personally attend this meeting — let me know and I will participate.

Thank you.

— Rajiv Pant   राजीव पंत   潘睿哲

A 90 second video of Bill Gates and Warren Buffet discussing having less meetings and spending more time thinking and reading.

(Side note:  This is my first blog post published using WordPress 5.0 and the new Gutenberg editor.)

Management & Technical Career Growth Tracks (v3)

In follow-up to earlier work on a) versions one and two of these technical and related career tracks, b) pathways for career development in product engineering, c) job titles, and d)  employee evaluation & career development, here is an updated version three of the career growth tracks.

This version 3 includes software engineering & architecture, quality assurance & test engineering, data science & engineering, infrastructure & systems engineering, product & product management, and design & user experience. This version moves “chief” and “head of” type titles to the discretionary column, keeping only four main levels (contributor, manager, director, and vice president) with three sub-levels designating seniority within each.

This is presented in a Google Sheet embedded below with tabs containing areas like engineering and product. I’m also providing a direct link to to the Google Sheet you can copy and edit for use in your own organization.


As always, I’d love your feedback. Thank you.

How to be an effective CTO

A CTO’s job combines Culture, Technology, and Operations. Each of the three is necessary; a field of knowledge, experimentation, and learning in itself; and interdependent with the other two. To be successful as a CTO, you need to work on and continually master all three areas. If you’d like to see the responsibilities of a CTO as a picture, here is a mind map illustrating things CTOs are responsible for.

Culture

Culture, as the first part of a CTO’s job is the answer to who you are you as a team. A CTO’s role starts with the culture they develop, evolve, and lead by example.

Culture can be described as people, knowledge, and behaviors in a community connected by relationships, norms, and purpose.

The people in a CTO’s job include internal stakeholders and colleagues, engineering and product teams, partners, and external customers. As CTO, it is your job to foster constructive collaboration among them.

Regular sharing of knowledge among members and teams is essential for a culture to be developed, sustained, and evolved. As CTO, you are accountable and responsible for compiling, updating, and sharing knowledge among your teams, stakeholders, and customers.

Observed behaviors describe your culture as it really is. Talk is hollow if you and your teams don’t walk the walk. If you are in a leadership role, people observe what you do, and learn from and emulate what you do, far more than from what you say.

An article in the New York Times about Google’s findings on what makes teams effective reports: “Norms are the traditions, behavioral standards and unwritten rules that govern how we function when we gather: One team may come to a consensus that avoiding disagreement is more valuable than debate; another team might develop a culture that encourages vigorous arguments and spurns groupthink. Norms can be unspoken or openly acknowledged, but their influence is often profound. Team members may behave in certain ways as individuals — they may chafe against authority or prefer working independently — but when they gather, the group’s norms typically override individual proclivities and encourage deference to the team.”

I recently participated in a week-long Design Thinking workshop hosted by Matter.vc that used various activities to reinforce the critical importance of having norms in a team. The Matter boot camp is valuable because it brings many best practices in product development from successful startups to traditional media companies wanting to embrace lean and agile product engineering. The path to mastery is to practice, test, and learn.

The path to mastery is to practice, test, and learn.

As CTO, you need to appreciate, learn, and apply cognitive science, behavioral psychology, and social science with integrity and in ethical ways to develop a culture of excellence. You must not let a mentality of us-versus-them take root between technology staffers and other parts of the company. Remind yourself and your team members that your allegiance to your whole organization is not less than that to your department or team.

For example, if as CTO, you are resentful of the marketing department and you mock the Chief Marketing Officer and her team, then your team will absorb this poisonous behavior from you. If you disparage your boss behind her back while pretending to be loyal in front of her, your team will learn to do the same to you. If you put the needs and desires of the technology organization ahead of those of the overall organization, then the teams that report in to you are going to act similarly towards your overall technology team. To be a good corporate citizen and team player with your peers is not only the right thing to do, but is also in your self-interest.

A mistake that CTOs sometimes make is that they organize their team and prioritize their work based too much on what they think is best for the company mainly from the perspective of technology.

A mistake that CTOs sometimes make is that they organize their team and prioritize their work based too much on what they think is best for the company mainly from the perspective of technology. This results in their stakeholders not seeing eye to eye with the tech team, and stakeholders complain that “things here take forever to get done.” Whenever you hear something like “work takes ages to complete,” there is a deeper problem underneath: The real problem is that engineering and stakeholders are not on the same page about priorities and are not communicating sufficiently with each other about value, progress, problems, and risks.

You can implement the most suitable rapid development practices (e.g. continuous delivery, agile, and lean startup methodologies) and use the best modern techniques, tools, and technologies (e.g. microservices, machine learning, and magic :-)  ), that deliver projects with great speed, scalability, and success, but if you and your stakeholders are not in sync, things will be perceived as too slow, stubborn, and substandard.

Without a good culture, technologies and products decay and operations fail because people do not do the right things towards the shared mission.

Technology

Technology, as the core part of a CTO’s job, is the answer to what you do as a team.

Technology includes engineering, architecture, data, infrastructure, scalability, reliability, trust, security, privacy, and other ingredients. The specific areas of technology in a CTO’s purview vary based on the organization, its scale, and condition. Here is an example of an organizational structure that worked well for a smaller media company and another that helped a larger media company be successful.

Even though most CTO’s job duties do not include writing code yourself, to be a credible CTO, you need to not only know how to write good software code, but you should also enjoy doing it as a hobby. You must have a passion for many areas of technology combined with a perpetual desire to keep learning as technologies progress.

As CTO, you are the head coach, mentor, and guide to the technology staff. You preside and govern, not dictate or micromanage. You are not a middleman requiring every communication, decision, or solution to go through you. You are sincerely interested, engaged and involved in the work your teams do but you are not an obstacle. You are a connector who links the technology staff with other members of the organization.  You remember that you have two ears and two eyes but only one mouth, so you listen and observe more than you talk. You respect the makers and the managers who report in to you because you are both their teacher and their student.

Without good technology, operations are inefficient and have trouble overcoming roadblocks, resulting in undesirably slow progress and heavy costs. With good technology, there is a strong sense of pride and that helps develop a culture of excellence where recruiting, retention, and productivity flourish.

Operations

Operations, as the integrating part of a CTO’s job, is the answer to how you do your job as a team.

Operations can be described as how and how well things get done and are delivered. Operations span how resources (including costs) are allocated and managed, how processes and systems work, and how trade-offs should be made. They involve managing the portfolio of projects, products, and services; prioritization; and decommissioning and letting go of products and projects.

Any team that does product development, infrastructure engineering, or provision of services needs to be operationally effective. For this, you and your team need to track progress, record data, measure results, report results, compile lessons learned, and implement improvements. Continuously.

Operations are critical to every organization’s success. This is where the rubber hits the road. You can have a wonderful culture and innovative technologies, but if you don’t get projects done successfully, you won’t have the other two for long.

To put the above in context, I am sharing some tips from my recent talk at the Fastly 2016 Summit.

5 Lessons I learned as a CTO in major media companies

To succeed as a CTO or head of engineering, you need to work with the APIs of your fellow human beings

1. Instead of trying to be salesperson, be a friend

  • It is better to win people over, than to sell them your idea
    • Don’t push your solution. Draw others to your solution
    • Don’t pander either. Win over
  • Don’t make B.S. claims about future benefits of the project. Instead, emphasize the purpose and passion
  • Don’t try to falsely attach your infrastructure project to a product development the business has asked for. Present it on its own merit
  • Don’t spend your time as a technologist writing a business justification. Partner with a finance or business analyst to do that
  • Empathize with your business colleagues and help them empathize with you

2. Speak to the heart, not just to the brain

  • Go beyond making a rational business case. Generate excitement about the engineering work
    • Getting true buy-in requires evoking emotion and passion
    • Identify an external enemy
  • Share your genuine fears about potential losses resulting from getting hacked or systems crashing.
    • We are all averse to losses
  • Make it “our” project instead of “my” project. Request business stakeholders to talk about the project to their colleagues’ stakeholders, and bosses. Encourage them to include it in their presentations.
    • By doing this, they make a public commitment to it

3. Leverage reciprocity

  • Deliver successes to the business to build credibility first
    • Before you pitch a major infrastructure project
    • As a new employee, don’t use up your honeymoon credits on a project whose benefits to your stakeholders aren’t as clear
  • When your colleagues ask for something that you don’t value as much, be open minded to them
    • Your colleagues will reciprocate by embracing your ideas if you embrace theirs

4. Don’t be a “middleman.” Be a connector

  • If you are a CTO or senior manager, it is in your interest that your business colleagues know, appreciate, and have direct connections with your teammates
    • Their expertise supports and complements yours
    • They bring additional credibility
    • You make a stronger case as a team

Invite business colleagues to select gatherings of the product engineering teams

5. Regularly discuss your projects and their value with your colleagues

  • Never assume that your business colleagues won’t understand or appreciate technical stuff. Be a translator
  • A critical part of your job as a technologist is to regularly describe what you do and its value to your colleagues
  • …and vice versa. Take an interest in what they do

Where to go from here

So you are about to or have just started as a CTO or other technology leadership position. What’s a practical way to proceed? Here is a template for a 90 Day Plan for a CTO in a New Job.


This article is mirrored at LinkedIn.

Rajiv Pant is managing partner at Solutions at Scale, a technology leadership and management consulting firm that advises established companies and startups. Prior to this, as CTO at The New York Times, he led the development of numerous acclaimed products during his four year tenure. His leadership experience includes Conde Nast, Reddit, and Cox Media Group. Rajiv was honored as a Young Global Leader by the World Economic Forum.

90 Day Plan for a CTO in a New Job

This is a checklist for a new CTO, head of Product, or leader in a similar role starting in a new job. It is meant to kickstart continuous improvement in your product engineering organization. I encourage you to take a scientific test and learn approach to everything you do. You should customize this template based on your own experiences over time. If you find it helpful, please feel welcome to send me additions and improvements to this list.

Repeat the following seven steps iteratively to make incremental and continuous improvements.

1. Understand your job. Learn the organization and industry you are in.

  1. Make a list of the areas you are responsible for. These are likely to include:
    1. Technology: Software Engineering, Infrastructure Engineering, DevOps, Cyber Security, Systems Operations, Application Support
    2. Product: Product Management, Project Management, User Experience, User Interface Design
    3. Data: Data Science, Data Engineering, Data Visualization
  2. Review what it takes to be an effective Chief Technology & Product Officer.
  3. Create a mind map of culture, technology, and operations parts of your CTO job.
  4. Meet customers, executives, stakeholders, colleagues, and team members.
  5. Connect with a network of your peers outside your organization.
  6. Get feedback.
  7. Collect, compile, and synthesize information into knowledge.
  8. Check: How are we doing in relation to our existing metrics for success?
  9. Identify common themes, patterns, and problems.
  10. Consider retaining the services of an executive coach.

2. Define and revise measurements for success.

  1. List metrics for the success of the company as viewed by shareholders.
  2. Prioritize metrics for the success of the teams you manage and how they relate to the metrics for the success of the whole organization.
  3. Determine: What metrics are no longer a priority?
  4. Determine: What new metrics do we need to add?

3. Articulate your vision and strategy.

  1. Clearly communicate it to customers, executives, stakeholders, colleagues, and team members. On a regular basis.
  2. Meet regularly with your team members, peers, executives, stakeholders, customers, partners, and vendors. Human relationships and face to face communications (when feasible) are essential.
  3. Host regular 1:1 meetings with your direct reports, at least once a week. team members
  4. Host regular all-hands meetings and communications. Monthly all-hands for staff less than ~100 people depending on space. Quarterly all-hands for staff more than ~100 people, depending on space. Encourage your departments to hold regular all-hands meetings of their own.
  5. Host regular social, relationship building events and activities. For example, a monthly celebration event to mention professional and personal milestones that people want to share.
  6. Implement processes to have productive business meetings.

4. Organize people for success.

  1. Reorganize teams and redeploy people.
    1. Ensure that your organizational structure factors in products, stakeholders, and career growth needs of your team members.
    2. Here is an example of a technology team organization for media companies.
  2. Reinvigorate people.
    1. Implement managerial and technical career tracks.
    2. Standardize titles while still retaining flexibility, and fun.
    3. Consider that career pathways are not linear.
  3. Recruit talent.
    1. When feasible, interview people by putting them to work.

5. Build culture.

  1. Align team members towards common good, shared goals.
  2. Ask team members how they are doing. Are they happy in their jobs? Are their jobs exciting, challenging, and rewarding?
  3. Solicit advice, including leadership advice from your colleagues, regardless of their level or experience. You can learn important leadership lessons from people who report to you. This also encourages your colleagues to become leaders.
  4. Remember to thank people when they deserve it.
  5. Implement a performance evaluation and career development system.
  6. Build and maintain a cohesive leadership team. Make it well known that internal rivalries are strongly discouraged and not tolerated.
  7. Encourage good life/work balance, including a sensible vacation policy.
  8. Experiment with ideas to keep the workplace interesting.

6. Revise processes for success & delivery, and suitable for the environment and the times.

  1. Create checklists to help you do your job better (like this one itself). These checklists will also help your colleagues. Encourage others to collaborate on checklists and share them.
    1. Here is a sample one I made about reviewing managed services contracts
    2. and another one for dealing with outages.
  2. Encourage a culture of sharing best practices, like simple personal productivity tips.
  3. Design evaluation scorecards and criteria to justify, prioritize, and classify projects.
  4. Ensure that your project portfolio management system and your people role definitions factor in the need to regularly evaluate and decommission projects and products that don’t make sense to continue.

7. Upgrade technologies.

  1. Pay off technical debt [external link]and continue performance enhancements.
    1. App, site, and service reliability
    2. Automation (QA, deployments, support, etc.)
    3. Performance
    4. Security (e.g. start down the path to HTTPS)
  2. Make each team increasingly autonomous and self-sufficient while enabling collaboration and economies of scale.
    1. For example, by moving to a microservices model, using tools such as Docker, hosted on a cloud service provider (AWS).

Thank you for reading this and for sending me suggestions to make this list even more helpful to others.

This article is mirrored on LinkedIn. It is a part of the ctobook series of articles related to #culture, #technology, and #operations: three critical part of a Chief Technology & Product Officer’s job.

Information for Technologists Interested in Learning about Artificial Intelligence

These days, artificial intelligence is gaining a lot of attention in mainstream media. This is a topic that I’ve been passionate about for many years, and a number of fellow technologists have asked me where they can learn about AI.

I have posted a shared Google Document for people with a background in technology and software engineering wanting to learn about AI. Topics include artificial intelligence, machine learning, deep learning, artificial neural networks, reinforcement learning and other concepts. I plan to keep this document updated as I come across interesting AI related articles, new developments, and sources of information.

The document is for technologists who are interested in learning about the basics of AI and related technologies. You need some background in technology and software engineering to delve into AI. However, some of the information I’ve linked to is of general interest.

7 minus 1 reasons why technology/engineering teams should work on projects

Here are 6 reasons that should be used to justify, prioritize and classify projects engineering teams work on. The 7th item is not a valid reason to be used.

  1. Deliver products, features and services as driven by business priorities (#product)
  2. Improve time to market (#speed)
  3. Improve quality of experience (#quality)
  4. Improve efficiencies and reduce costs (#cost)
  5. Provide security and protect privacy (#security)
  6. Continue to be able to survive, do business and operate (#survival)
  7. Not a reason: Do not do it for vague “strategic” reasons that can’t be supported by one or more of the above six. (#invalid)

#Speed, #quality and #cost improvements are directly measurable. The results of the #product are measurable and its delivery is measurable as a binary. (E.g. was the feature delivered or not.) #Security fixes are measurable as binary. (E.g. Was the flaw fixed or not?) #Security upgrades can be compared to product upgrades.

Why a vague “strategic” reason is not a valid justification:

Organizations sometimes categorize projects as strategic and in alignment of the company’s mission, vision and value and use that as the primary reason to justify them. We do not support this as a valid reason, because it is too often misused as a way to work on pet projects or projects that someone in a position of power believes in but is unable to defend rationally.

Note that #survival is not the same as maintenance. Maintenance as a broad category is not listed here as a valid reason because maintenance is commonly misused as a bucket for holding on to projects that the organization should reconsider. Projects that can be well-defended as maintenance should qualify under the #survival category if it can be established that not doing them would prevent the organization from continuing to be able to do business. In other words, #survival is the small essential set of truly necessary maintenance projects. Using a stronger word like survival instead of maintenance can help avoid it being used too broadly.

We suggest tagging the projects and other initiatives your engineering teams are working on using these tags (#product #speed #quality #cost #security or #survival) as described above. In most cases, if more than one tag applies, tag it using the primary reason for doing the project. Only in exceptional cases should you tag the same project with multiple tags. By being strict about the reason, you will have greater clarity on why the project is being done.


This post is mirrored at LinkedIn and Medium.

 

CTO Mind Map: Culture, Technology, Operations

In the role of chief technology officer, you have to be concerned with many topics. Some relate to functions you have direct supervisory responsibility for and some in areas that are managed by others but you still need to share responsibility for.

To keep all of a CTO’s concerns organized, I created this mind map using XMind. The items are classified under three major categories: culture, technology, and operations.

CTO-Mind-Map-highlevel-view-export-v1.0
CTO Mind Map: Culture, Technology, Operations: High Level Summary View

 

The purpose of this mind map are manifold. It serves as a visual job description. It is a map for CTOs to use to prioritize and focus their own work and that of their team members, based on the organization’s needs, the skill sets of the CTO and others. It is also used to identify gaps, both in terms of areas and coverage.

You can view it as an image in the SVG format (scalable vector graphics) in your Web browser or download the editable document in XMind format.

This mind map is a general version for CTOs across industries. You may find it useful to create a version of this specific to your role. I plan to expand this to include more information over time and to keep it current with the technology landscape. If you create versions of this that you are willing to share, please let me know via comments here or via Twitter @rajivpant.

CTO Mind Map version 1.0 by Rajiv Pant
CTO Mind Map version 1.0

 

Dear Makers, On Fridays My Office is Yours — An Experiment

Some senior leaders choose to work alongside their teams in cubicles, eschewing private office rooms. New York City’s former mayor Michael Bloomberg is an example. Facebook’s founder and CEO Mark Zuckerberg is another. Intel’s former CEO Andy Grove is often credited for setting this example.

As I’ve worked at various news media companies, I have been impressed to see editor in chiefs and other senior editors spend most of their working time in cubicles alongside their teams where the action in the newsroom is. They use their offices only when needed for privacy.

Having access to a private office room is useful too, whether you are a manager, maker, or both. So as an experiment, for one day every week, I decided to share my office with my colleagues in the technology team who don’t already have an office.

Below is the memo I sent to my team. I’ll share the results of this experiment after a few months.


Dear Software Engineers and Technology Colleagues,

In the spirit of supporting our makers’ schedules, I’d like to make my office room available on Fridays to anyone in our technology team who does not already work in a private office. Here is how it will work. For any Friday, you can book my office in advance for a 2-hour period of your use. I will not use the room on Fridays. Instead, I will work at various temporarily available locations alongside other tech colleagues.

You can use my office for any productive work for your job. You can write code uninterrupted for 2 hours in a change of environment. You can pair-program with another colleague. You can use the dry-erase white wall in my office to hold a brainstorming workshop with fellow contributors. You can close the door and use the privacy to think of solutions to complex engineering problems in your work. Research indicates that a refreshing temporary change of environment can be helpful for such tasks.

I should also clarify what this is not meant for. If you need to hold a meeting, join a teleconferenceI suggest you continue to book regular meeting rooms. If you’d like to have a social lunch with colleagues, there are other more suitable places in our building. I’m offering my office to you on Fridays for maker’s work: to build software/systems, and to solve engineering problems in a temporary change of scenery.

This is an experiment. We will test, solicit feedback, measure and change. For example, if time-windows other than 2 hours work better, we will adjust the experiment.

I plan to run this experiment until at least the end of this year. If we determine that our software engineers and other tech contributors find this experiment productive, or even just enjoy having it as a part of our culture, we will consider continuing it into the next year.

Details on how the sign up and feedback process will work to follow.

Thank you for your interest.

-Rajiv


This article is mirrored at LinkedIn and Medium.

3 Dimensions of a Technology Team

Organizing Software Engineering Teams to Balance Products, Partners & Professions

This organizational design for a technology department aims to optimally blend the need for the technology team to be an engine of innovation, a customer-service organization and technically excellent.

It views the staff, roles and responsibilities in three dimensions: products, partnerships, and professions.

img

  1. Products and projects the technology teams work on
  2. Partners, customers, and stakeholders of the technology department
  3. Professions of the various technology staff members

Organization by products focuses on providing great user experiences via small, agile and nimble teams that have ownership of their work.

Organization by partners focuses on being an effective client-service organization to other parts of the company.

Organization by professions provides for learning, best practices and career development of the tech employees.

This article first describes the three models and then suggests ways to bring them together into one integrated organization design.

Organizing by small product focused teams

Product

A product is defined as something that customers use and experience. A product consists of content, features and functionality.

It refers to a digital entity, a physical good or a combination of the physical and virtual. For example, it could be a communication app that people use via their smartphones and computers. It could be a health device that people wear and access via their smartphones and computers.

The goal of a product is to meet customer’s needs & desires, to solve problems for customers including ones they didn’t know of, and to delight them. Many products aim to help make the world a better place, be it in small or big ways.

A Key Difference Between a Product and a Project

A project has preset start and end dates. A project, by definition, is supposed to be complete when it delivers its desired outcomes.

A product typically does not have a preset end-date. Most products are meant to exist and evolve for the foreseeable future. Products are (and should be) discontinued for good reasons (e.g. when they no longer have a viable future, or the organization needs to divert resources to other products).

Upgraded versions of the product are delivered via projects.

Projects are successful when they end.
Products are successful when they persevere.

Product Team

One way to think of a product team is as a mini-company within the larger organization. A product team has customers, which could be external, internal or both.

A product team develops the product, makes it available to customers (“ships” it), and maintains the product. Maintenance of the product includes new features, major upgrades and innovations.

Roles in a product team

A product team has several roles which are filled by professionals with certain skills, knowledge and interest.

The roles can be narrow in scope, like front-end JavaScript developer or broad, like software engineer. The roles include the professions of engineers, designers, subject matter experts, marketers, and managers. For a longer list of roles in a product team with examples, see the section titled “list of professions/roles” under organization by professions below.

People and Roles

These roles are not necessarily each held by different people. There is no prescribed restriction on who can hold which role or how many roles. Depending on the team’s needs, people’s skills & interests, and budget & resource situation, any permutation of the roles can be held by the people in the team.

A team should make the best decisions in allocation of the roles. The roles held by people are expected to change as the team scales up or down. The team should give importance to checks and balances via separation of duties where required for compliance of regulations.

Team Size

As a minimum requirement, at least three people are required for it to be a product team that encompasses a sufficient set of the roles required. In a few rare cases, the team might be able to start with just two people.

Proximity

For a product team to be successfully implemented, it needs to consider and address evidence-based management science related to human collaboration.

An important recommendation is that the team “resides” together, i.e. works together on a weekly if not daily basis. If the team works out of the same office, then they should work in close proximity. If the team is geographically separated, like the teams at Auttomatic/WordPress, then they should have “virtual proximity”, i.e. be in close contact using video conferencing and other online collaboration tools.

Organizing by Partners, Customers, and Stakeholders

Aligning the technology department with business departments

In this model, each line of business, department and product/service at the company is assigned a technology partner in the technology organization.

Examples of stakeholders in a media company include the heads of advertising, marketing, finance, customer service and editorial.

The technology partner is a senior, widely-respected and influential member of the technology management team who serves as the primary technology leader for that business, department or product/service. Excellent client-relationship skills are a requirement.

The technology partner may also serve as the solutions architect for the client, or may have solutions architects assigned to them.

Technology Partner Role Description

The technology partner is the go-to person for all technology matters for the client department, including for engineering, project, and technology, areas that the technology partner does not directly manage. For example, a large department like Advertising will have projects that could span multiple tech departments.

The responsibilities of the partner include:

  • Assess Current Capability: Evaluate the current technical capabilities of all the technology systems.
  • Define Future Capability: Understand strategic industry trends to plan future technology roadmaps.
  • Technical Lead for product development: Responsible for technology execution, bringing new products to market and optimization of existing offerings.
  • Plan Capacity: Translate roadmaps into future year capacity plans.
  • Collaborate with other tech teams: Work with other product teams to service the needs of the business needs / departments / products where other teams in the technology organization are the owners of systems.
  • Subject Matter Expert: As the primary contact for a business / department / product act as the SME for all technology.

Organizing by Professions

In this model, the technical people are organized by the professions they choose to belong to.

Professions and Roles

This is a sample list of professions and roles gleaned from companies that have products in the digital media space. This list can be easily adapted to other industries, for example, by including the relevant subject matter expert roles. This was compiled between the years of 2007 to 2014 and reflects some prominent roles from then.

Each profession/role is grouped under one of five major categories:

  • Technologist/Maker
  • Designer/Artist
  • Subject Matter Expert/Analyst
  • Marketer/Seller
  • Manager/Admin

List of professions/roles

Technologist/Maker
Software Development Engineer, Server-side “backend” Software Engineer, Client-side “frontend” Software Engineer, Mobile iPhone and Tablet Software Engineer, iOS Software Engineer, Android Software Engineer, Content Management (CMS) Engineer, Testing Engineer, App Release Engineer, App Operations Engineer, DevOps Engineer, Systems Administrator, Database Administrator, Security/Privacy & Compliance Analyst

Designer/Artist
User Experience Designer, Visual Designer

Subject Matter Expert/Analyst
Product Manager, Business Analyst, Journalist, Reporter/Content Author, Editor

Marketer/Seller
Salesperson, Marketer, Customer Service Representative, Internal Advocate, Documentation Writer

Manager/Admin
Project Manager, Finances & Budget Manager, Team & People Manager

Integrating the three dimensions

Now that we have described the three dimensions, let us discuss ways to make it all work together.

Reporting Relationships

Some people believe that “reporting relationships are irrelevant in today’s world”, but social science research has repeatedly proven this to be false.1  Reporting structures and hierarchies are an essential and integral part of any organization of humans.

So rather than pretend that reporting relationships in a team don’t matter, it is important to address them in setting up these teams.

Let us start by acknowledging that human relationships are complex, nuanced and changing, so there is no one formula to organize your teams. Every approach to organizing reporting relationships has its advantages and drawbacks. Here, we present a reasonable but imperfect model.

This model applies to medium to large size organizations, but not to small companies or very-large companies. In a small company of less than 10 people, there are unlikely to be departments by profession where people report into. In very large companies’ each business unit may operate as an independent company with its own departments by profession (e.g. their own finance, HR and engineering).

We also make some assumptions. For example, that it is preferable that each team member has exactly one primary boss who they formally report to.2

Departments by Profession

It is important to define what is expected of a primary boss in your organization so you can best determine how to structure reporting relationships. For example:

  • Does a boss’ role include the long-term development of the employee’s career, existing skills and new skills?
  • Does a boss need to be a subject matter expert in the chosen profession of the employee? Or, is the employee best served by being part of a team of others with the same or similar professions?
  • Does a boss need to objectively and independently look at the employee’s work as serve as a checks and balances relative to the product/project team the employee is presently doing day to day work in?

If your answer to the above questions is yes, then it is likely that setting up the primary reporting relationships by profession is a good solution for you.

What does reporting relationships by profession mean? It means that primary (and formal) reporting relationships are organized by departments of people in similar professions. For example, HR professionals report into the HR department, finance professionals report into the finance department and software engineering professionals report into the software engineering department.

In medium to large sized companies, having the primary reporting relationship by professional departments often has advantages over having direct reporting into the product/project team. In fact, most consulting firms use this model. Some of the benefits include:

  • As new products are created, old products decommissioned and projects start and end, employees don’t need to switch from boss to boss. By having a boss who has seen an employee’s work over multiple products, services and projects, the employee can receive better coaching and development support.
  • A boss who manages a team of employees of the same profession helps share best practices, standards and development opportunities across the organization.
  • Such a boss can also serve as a check and balance for a product/project team’s short-term needs vs. the best long-term interests of the company. The employee has a primary person higher up to consult with outside their current product/project team.

Most medium to large size companies have departments by profession. For example, they have departments for finance, HR, sales, marketing, software engineering, design, etc. This makes good sense for reasons like the above.

Such departments often assign (or even embed) their professionals within other departments and product/project teams. For example, finance (or HR) may assign a finance person or team (or HR person or team) to work with the technology department. This person would likely be assigned full time to the technology department and work in close proximity to a part of it.

The organizational model recommended here views technology as a collection of departments by technical professions. For example, software development, quality assurance and testing, infrastructure engineering, and project management. Each of these technology departments embeds their staff into product/project teams.

The overall technology department also assigns a technology partner to every other department by profession. That’s how these three dimensions come together.

Balancing Professional Departments with Product/Project Teams

In setting up direct reporting relationships by professional departments, it is critically important to not let the departments become siloed. Each employee should be focused on, deeply care about and feel accountable to the product/project they are working on.

When the person’s primary boss is a functional head outside the team they are currently doing day to day work in, both the employee and the boss must ensure the employee is highly committed to their product/project team whether it is in their department or outside it. One way to accomplish this: Each employee can also be accountable to a lead within the product/project team via a dotted line if needed. In some cases, the employee’s boss and their lead within the team can be the same person.

The goal of the functional department is to both support product/project teams and serve as checks and balances, but never to work against them.

Non-Technology Departments

While this article was written for organizing technology departments at companies where a substantial amount of work involves software engineering, the thinking here might be adaptable to other types of departments. If you have thoughts on how to do that or have other approaches to organizing teams in organizations, please do share them.


This article is mirrored at LinkedIn and Medium.

  1. Hierarchy is Good. Hierarchy is Essential. And Less Isn’t Always Better by Professor Bob Sutton at Stanford University https://www.linkedin.com/today/post/article/20140112221140-15893932-hierarchy-is-good-hierarchy-is-essential-and-less-isn-t-always-better  []
  2. If someone has scientific evidence supporting this, please let me know.  []