The Occupation Vectors

The Occupation Vectors are universal way to describe in a simple and practical way any position or role within a company (at least in the context of Software engineering). Their main purpose is to allow: (1) the determination and examination of the consequences of combining or splitting corporate positions and roles, transferring, promoting and demoting employees, etc. (e.g. due to organizational restructuring, implementation of employee reward and recognition programs, etc.); and (2) the mapping (or calculating the similarity) of different positions and roles (e.g. due to transitioning to new software development methods as Scrum/XP/DSDM/etc., mergers and acquisitions, etc.). Moreover the occupation vectors might be used as an instrument to roughly assess the efficiency of performing various positions and roles in a given company, branch, department, workgroup, etc. (through the so called Occupation Efficiency Metric).

The 5P Occupation Model

There are five distinct aspects of work which I believe are essential and sufficient to describe any position or role within a company. These are People, Processes, Products, Politics (or Organizations) and Platforms (or Technologies). Each aspect represents unique working area and involves unique duties, responsibilities, accountabilities, working activities and tasks, etc. They are briefly described in the table given below. I’ve called these five distinct aspects of work the 5P Occupation Model.

Aspect of Work Working Activities and Tasks
People
  • Performance management (incl. performance planning and review) and rewarding/recognition;
  • Training and development (incl. coaching and mentoring);
  • Recruitment, retention and dismissal;
  • Motivation and satisfaction (incl. engagement, commitment, loyalty, etc.);
  • Discipline (incl. integrity; compliance with company policies and codes of conduct, laws and regulations; etc.);
  • Interpersonal relationships and conflict management;
  • Working environment.
Processes
  • Workflow management (incl. definition/modeling, execution and control, review and actualization/reengineering, etc.);
  • Establishment of working processes, procedures, practices, policies, protocols, standards, etc.;
  • Establishment of roles and responsibilities;
  • Communication and information (incl. knowledge) management;
  • Change management;
  • Work planning and scheduling (incl. resource allocation and management);
  • Work execution, monitor and control;
  • Risk management.
Products
  • Product lifecycle management;
  • Portfolio management;
  • Marketing/sales management;
  • Customer relationship/service management (incl. customer satisfaction, loyalty, etc.);
  • Supply chain management (incl. supplier relationship management);
  • Requirements management (incl. value creation and delivery, requirements engineering, etc.);
  • Configuration management;
  • Innovation and quality.
Politics (or Organizations)
  • Strategic management (incl. corporate vision, mission, long-term objectives and formulation/implementation of strategies);
  • Corporate governance (incl. power distribution, organizational hierarchies and structures, corporate social responsibility, etc.);
  • Corporate financing (incl. investment management);
  • Stakeholder management;
  • Entrepreneurship;
  • Corporate culture (incl. values, beliefs and principles).
Platforms (or Technologies)
  • System concept, architecture and design;
  • Development and construction;
  • Integration and testing;
  • Acceptance, installation, deployment;
  • Operations and maintenance;
  • Technology roadmap (incl. technology identification, selection and evaluation);
  • Infrastructure (incl. languages, tools, frameworks, equipment, etc.);
  • Establishment of technical standards, best practices, certification and licensing, etc.;
  • Training and consultancy.

Any position or role within a company could be simply described by distributing the time allocated for each of the above five distinct aspects of work. If we take Project Manager as an example – one possible distribution could be 5% People, 80% Processes, 10% Products, 5% Organizations and 0% Technologies (although this might significantly vary depending on the incorporated project management methodology as well as the existing in-house practices within the company).

The Occupation Vectors

By using the time distribution presented above we could represent any position or role within a company using a vector (or one dimensional array). I’ve called these vectors Occupation Vectors. In the example with the Project Manager – this would be 5:80:10:5:0. Given below are possible occupation vectors for the Scrum‘s roles as well as some other popular positions and roles within the software industry.

Position/Role Occupation Vector
Scrum’s roles
Scrum Master 5:80:5:5:5
Product Owner 0:5:80:5:10
Software Developer 0:20:10:0:70
Other popular positions/roles
Project Manager 5:80:10:5:0
Product Manager 0:0:70:10:20
Development Manager 40:30:0:0:30
Software Architect 0:10:0:0:90
Team Leader 50:20:0:0:30
Technical Leader 0:10:0:0:90
Business Analyst 0:50:20:0:30
QA Engineer 0:20:20:0:60
UX Engineer / Interaction Designer 0:0:30:0:70
System Administrator 0:20:10:0:70
Technical Support 0:0:20:0:80

The Occupation Efficiency Metric (OFM)

Determining the time distribution for a given position or role is not quite straightforward and might significantly vary per business/application domain or industry, company, branch, department or workgroup, etc. One possible approach is to average the actual time spent by the people who are holding the corresponding positions or roles. In this case you get the “As Is” occupation vector. Another approach would be to set the expected (or desired, optimal, etc.) time allocation. Then you get the so called “Should Be” occupation vector. The greater the difference between the “As Is” and “Should Be” occupation vectors the greater is the time spent on activities and tasks which people are not expected to be working on. As such “As Is” and “Should Be” occupation vectors might be used as an instrument to assess how efficient a given position or role is being performed. This could be further quantified using the Occupation Efficiency Metric (or OEM in short). Its formula is given below.

The Occupation Vectors - Occupation Efficiency Metric

OEM is a number between 0 and 1. 1 means that “As Is” and “Should Be” occupation vectors are identical (thus the position or role is performed as expected). 0 means that there is a total discrepancy between the nature of work expected and the one actually delivered.
Example: Let’s say that the “As Is” occupation vector is 5:80:5:5:5 and the “Should Be” occupation vector is 10:60:10:0:20. Then OEM = 1 – ((5 + 20 + 5 + 5 + 15) / 200 ) = 1 – (50 / 200) = 1 – 0.25 = 0.75.

The Occupation Vectors Operations

The greatest advantage of the occupation vectors is that they make it much more easier to determine and examine the consequences of combining or splitting positions or roles, transferring, promoting and demoting employees, etc. as well as mapping (or calculating the similarity) of different positions and roles.

I. UNION
The Union operation is used when two or more positions and/or roles are hold by one and the same person (e.g. combining positions and/or roles). In helps you determine the combined occupation vector by using the following formula:

The Occupation Vectors - Union

You might use weights to further specify the priority/importance for each of the combined positions and/or roles. In this case you’d have to adapt the formula accordingly.
Example: Let’s assume that a person combines the following two Scrum roles (with the same priority) – Scrum Master and Software Developer. Their corresponding occupation vectors (according the table above) are 5:80:5:5:5 and 0:20:10:0:70 respectively. The union of these two roles would be the occupation vector (5+0)/2 : (80+20)/2 : (5+10)/2 : (5+0)/2 : (5+70)/2 = 2.5:50:7.5:2.5:37.5.

II. INTERSECTION/COMPLEMENT
The Intersection/Complement operations are used when a person changes position or role (e.g. is transferred, promoted, demoted, etc.). Their main objective is to indicate which aspects of work should be enhanced or limited respectively (and do not result in a separate occupation vector as the Union).

The Intersection is calculated through the following formula:

The Occupation Vectors - Intersection

Example: Let’s assume that a person changes roles from Software Developer to Scrum Master. Their corresponding occupation vectors (according the table above) are 0:20:10:0:70 and 5:80:5:5:5 respectively. Then the Intersection would be (5-0):(80-20):0:(5-0):0 = 5:60:0:5:0. Thus the Intersection indicates that after moving to the new Scrum Master role the person would have to spend 60% more time on Processes and 5% more time on People and Organizations.

The formula for the Complement is given below:

The Occupation Vectors - Complement

Example: Let’s again assume that a person changes roles from Software Developer to Scrum Master and their corresponding occupation vectors are 0:20:10:0:70 and 5:80:5:5:5 respectively. Then the Complement would be 0:0:(10-5):0:(70-5) = 0:0:5:0:65. Thus the Complement indicates that after moving to the new Scrum Master role the person would have to spend 65 less time on Technologies and 5% less time on Products.

III. DIFFERENCE (SIMILARITY)
The Difference (or Similarity) operation is used to calculate the gap (or likeness) between two positions and/or roles. This could be extremely useful when you’d like to map existing positions and/or roles to newly introduced ones (e.g. due to transitioning to new software development methods, mergers and acquisitions, etc.). For example if you are transitioning to Scrum you might be interested how let’s say the Project Manager position (already already existing in your company) would fit into this new software development method. You could calculate the Difference using the following formula:

The Occupation Vectors - Difference

The Difference operator results in a number between 0 and 1. 1 means the positions / roles are totally different, while 0 means they are identical.
Example: Let’s assume you would like to determine whether Team Leaders could become Scrum Masters as you are transitioning to Scrum. The occupation vector for Team Leader (from the table above) is 50:20:0:0:30 while for Scrum Master is 5:80:5:5:5. Then the Difference is (|50-5| + |20-80| + |0-5| + |0-5| + |30-5|) / 200 = (|45| + |-60| + |-5| + |-5| + |25|)/200 = (45 + 60 + 5 + 5 + 25)/200 = 140/200 = 0.70. As seen the Difference is a major one so turning the Team Leaders into Scrum Masters would significantly change their duties, responsibilities, accountabilities, working activities and tasks, etc. and therefore should be approached very carefully.

1 Comment

Leave a Comment

Your email address will not be published. Required fields are marked *