A growing company is like a growing baby, you're always buying new clothes.
-- Michael Dell

The problem

  • While generic tools likes Excel are a staple to all companies from startups to S&P500's it's generic roots prevent it from scaling in specialized problems.
  • Small overheads which used to be negligeable at small team sizes now pose significant coordination overhead costs
    • Inability to assign tasks at optimal rates, leaving employees idle
    • Inablitiy to pivot/reassign tasks due to changing priorities
    • 2nd hand inefficiencies due to users waiting on other users to complete thier tasks

Why now?

  • Through our recent successes in contract aquisition, we've had to increase our team sizes to deliver upon them.
  • The COMPANY is now at the point where we must Optimize in order to be able to leverage the full output of our team for the next growth cycle.
flowchart TD
    A[Sell Product/Service] --> B[Generate Revenue]
    B --> D[Reinvest/Grow Company]
    D --> E[Optimize Processes]
    E --> A

The solution

  • Kanban boards
    • Better visuals
      • Better task focus for users
      • Better visibility for project managers
    • Flexible and adaptable for many uses cases
      • By default includes minimum 4 dimensions (columns, card, assigned, color), but most systems include much more
    • Better transparency for stakeholders (readonly permissions)
    • Better efficiency
      • Prevent overloaded or underworked users
      • Trace bottleneck(ing) tasks
      • Re-prioritize tasks on demand
    • Collaborative by design
      • Better team coordination
      • No more locked excel spreadsheets
  • In this case the Kanboard solution. Reasons why:
    • High quality code. Its some of the best PHP code I've seen in a while (most PHP code is not good).
    • Good user account integration with external infrastructure (AOauth, LDAP)
    • Support exporting tasks to iCalendar compatible systems (Microsoft Outlook, Apple Calendar, Mozilla Thunderbird and Google Calendar)
    • Time tracking for client billing purposes
    • Large plugin system for off the shelf extra features
    • Built-in automation framework to minimizing user interaction
      • No IT/Coding required
    • Extensive API
      • Enables bulk operations (imports/exports/mass changes)
      • Enables integration into other products (Teams)
      • Enables bespoke automations (random scripts)
    • Self hosted, open source
      • No usage limits
      • Complete privacy and security
      • Backupable data

Implementation levels

  • Introducing changes in large organizations is hard
  • It may be beneficial to begin a process change on a smaller organizational unit
    • Buyin potential is better after value has been proven
    • Potential failure fallout damage is contained

Solution 1: Single user

  • MANAGER (Michel Lam) will use Kanboard as a task management / coordination tool alone
  • REQUESTER will request new tasks via direct communcation with MANAGER through either Outlook or Teams
    • But with a different protocol than Excel line modifications
  • Task updates will be reported from EMPLOYEE to MANAGER through Teams
  • Task updates/states will be reported from MANAGER to REQUESTER via Kanboard to Excel export script

Pros

  • Quickest and lowest cost to implement
    • All IT work done on MANAGER's laptop
  • Minimal political buy in required
    • Set process for EMPLOYEE to communicate task updates
    • Set process for REQUESTER to submit task requests
  • Pivoting to another system due to changing requirements is simple
    • It was only on MANAGER's laptop after all
  • Saves MANAGER's sanity

Cons

  • Does not leverage kanban board's collaborative facet
  • Is not a long term solution
    • Entirely based on MANAGER's employment status

Implementation tasks

CONTRACTOR (Christopher Nguyen)

  • Migration [~12 hours]
    • CONTRACTOR will migrate the current excel spreadsheet into Kanboard MySQL database
    • CONTRACTOR will ship database to MANAGER
  • Excel Exports [~8 hours]
    • CONTRACTOR will produce script to automatically export Kanboard to Excel
    • Export script will run as a scheduled task, at rate determined by MANAGER

MANAGER

  • Setup EMPLOYEE process [~6 hours]
    • Devise new task update process
    • Communicate new process with EMPLOYEEs
  • Setup REQUESTER process [~2 hours initial, incremental process per REQUESTER]
    • Devise new task request process
      • Using current Outlook/Teams infrastructure
    • Communicate new process with REQUESTERs

Solution 2.1: Single department w/ external user management

  • In this solution, we attempt to get it usable by MANAGER'S department without having to go through COMPANY's IT infrastructure
    • Inter-dept coordination is slow and complicated
    • Can be used as a pilot project before attempting Solution 2.2
  • CONTRACTOR will host and manage a Kanboard instance for a monthly fee
    • Server, DNS, SSL/TLS Certificate (2 year dns)
    • Backups
    • User management
  • User accounts are managed entirely in Kanboard's system

Pros

  • No longer hosted on MANAGER's laptop
  • Accessible to EMPLOYEEs
  • No need to coordinate with IT, only need budget granted

Cons

  • EMPLOYEEs must now be trained to use the new system
  • MANAGER is in charge of managing user credentials
  • Ongoing server hosting costs
  • Security and privacy concerns for offsite hosting

Implementation tasks

In addition to implementation tasks of Solution 1:

CONTRACTOR

  • Host server off premises [~12 hours]
  • Setup MANAGER [~8 hours]
    • Kanboard management documentation
    • Employee training guidelines

MANAGER

  • Train EMPLOYEEs to use Kanboard [~??? hours]
    • Get assigned tasks
    • Update completed/blocked tasks

Solution 2.2: Single department w/ IT integrated user management

  • Mostly same as Solution 2.1, but with some differences:
    • Hosting is now COMPANY IT Department's responsiblity
    • User account management is done through existing IT infrastructure (MS OAuth)
  • CONTRACTOR will still provide initial guidance and support
    • As needed, subject to capacity limits

Pros

  • Simplified user authentication (Single creds for everything)
  • No external hosting costs
  • Project fully under COMPANY control

Cons

  • ITDIR is now a stakeholder
  • COMPANY might not want to be in charge of another project, at this time
  • Visibility in project through COMPANY user credentials for everyone

Implementation tasks

In addition to implementation tasks of Solution 1:

CONTRACTOR

  • No need to build Kanboard to Excel export script
  • No need to host server
  • Work out project infrastructure details with ITDIR (IT Director, Michael) [~60 hours]
    • Hosting
      • Domain Name
      • Server Space
    • User Authentication
  • Create Teams bot [~60 hours]. Features include:
    • EMPLOYEE
      • Updating task statuses
      • Getting assigned tasks
    • MANAGER
      • Assign task to EMPLOYEE
    • REQUESTER
      • Request task

ITDIR (IT Director, Michael)

  • Allocate hosting for Kanboard [~??? hours]
  • Integrate or Provide OAuth credentials [~??? hours]
  • Assign elevated users roles in Kanboard (admin, Manager) [~??? hours]

MANAGER

  • Collaborate with CONTRACTOR in for Teams bot workflow design [~20 hours]
  • Communicate new task request and update Teams bot workflow with EMPLOYEEs and REQUESTERs [~??? hours]

Solution 3: Multi-department, intra-organization

Pros

  • Used by the whole company, everyone on the same page
  • Maximum ROI
  • Unity, Efficiency, Productivity, Synergize, Maximze, get the Money

Cons

  • Tedious long meetings with back and forths, in order to meet all stakeholder needs adequately
  • Very hard to convince people set in their ways to work in new ways
    • Initial activation energy required
  • Long implementation projects have higher risks for failure due to essential agents defecting

Implementation tasks

In addition to implementation tasks of Solution 2.1:

  • Long meetings
  • More meetings
  • Emails
  • One day everyone is happy
  • We get to work
  • Problems occur
  • Project stalls
  • Project reboots
  • At last it's done, 2 years later, over budget, no celebration

Suggested course of action from CONTRACTOR

  • Solution 2.2 is "sanest"
    • Ensures future of project should CONTRACTOR no longer be available
    • Best security, integration
    • Provides full effiency ROI to department
    • Relatively small failure blast radius
    • Provide proof of value on success
    • Low-ish cost
  • For a quick and easy win, Solution 1
    • Saves MANAGER for the next 3 months - 2 year
    • Minimal buyin required
    • Can still provide proof of value for the future as MANAGER is familiarized with Kanboard's system
      • Devise better ways of integrating it in COMPANY with experience
    • Very low cost
  • Finally Solution 2.1
    • Provides full effiency ROI to department
    • Not sustainable in the long term
    • Hopefully ramps up to Solution 2.2 or Solution 3
  • Solution 3 seems tortuous, not recommended
    • No political/social capital to leverage yet
    • Large undertaking with many unknowns