Friday, July 10, 2020

Frictionless Software Leadership

Frictionless helps us to make sense of the complexity
Delivering quality software is complex.  This has never been truer than it is today.  Over a long career, I have regarded it my mission to help simplify this process, no matter the role.  While there isn't a one-size-fits-all for every team, product, project and initiative, there are a collection of best practices that have consistently served me well.  I call it Frictionless Software Leadership that draws on the best of Agile, DevOps, Lean, Scrum, Six SigmaTotal Quality Management and even Waterfall.  

Frictionless Software Leadership is guided by principles of integrity, transparency and simplicity.

Please note that I use the expression "delivering quality software" and not "developing quality software".  This distinction helps to underscore the importance of DevOps (infrastructure and deployment), SecOps (security and compliance), UX (usability and experience), QA (quality and testing) and Client Services (tech support and professional services).  Treat each of these as first-class disciplines in teams and projects to help dispel the misguided notion that their considerations can be bolted on after development.


What is Frictionless Software Leadership? 

Frictionless Software Leadership allows us to provide efficient and effective guidance to teams working on software projects, products, and other initiatives.  It helps provide answers to the "Why?  What?  How?  Who?  When?" questions, while ensuring that leadership is not unnecessarily in the critical path or becoming a bottleneck.  

Equally important, Frictionless Software Leadership puts the client (or customer) first.  As W. Edwards Deming asserted: "The consumer is the most important point on the production-line."

There are 4 pillars of Frictionless Software Leadership:
  1. Appreciate the (Technical) Art-of-the-Possible
  2. Understand the Constraints of the Initiative
  3. Drive Planning with Data (Not Documents)
  4. Enable Stakeholder Self-Service
I regard these pillars as equally critical and complimentary to one another.  I will dive deeper into what I mean by each of these in a moment.  However, I first want to mention that much of Frictionless Software Leadership has become second nature to me.  That is to say, I do these things almost subconsciously.  This blog post has been a helpful exercise, allowing me to unpack what I have tried in the past and objectively reflect on and document what has worked.  I have also used it as an opportunity to corroborate my first-hand experiences with industry methodologies such as Agile and Lean.


Appreciate the (Technical) Art-of-the-Possible

It is imperative that technical leaders regularly dive deep into the state-of-the-art in tools, frameworks and infrastructure, re-calibrating their leadership approach accordingly.  Recent advancements in our industry -- such as APIs and microservices, containers and orchestration, and, of course, cloud computing -- have fundamentally altered the way that software is architected, deployed, managed, and monitored.  In addition, advancements in no-code, low-code, and BPM/BPA significantly affect the composition of project teams, timelines, and budgets.  It is unthinkable that these fundamental shifts would not have an impact on the way we lead and manage technical teams and projects.

This re-alignment, between our leadership approach and contemporary technology, helps us to:
    1. Gain the trust of clients and customers
    2. Maintain respect within the technical team
    3. More deeply appreciate the business problem(s) being addressed
    4. Genuinely appreciate the skill of the technical team, while providing the platform to intelligently probe when necessary
    5. Assist the delivery team with prioritization, design, estimation, development, testing, and other hands-on tasks
    6. Inquire about vendors' functionality and integration claims
    7. Anticipate industry trends*
*For example, 6 years ago, as I was digging deep into the pros and cons of SaaS and PaaS, I identified an at-the-time unmet opportunity to "productize data management".  That notion of DaaS (Data-as-a-Service) -- broadly speaking at least -- is now embodied in products such as Snowflake, Splunk, Mulesoft, New Relic and facilitated by the de-facto industry standard REST APIs.

Incidentally, due to the ubiquity of REST APIs, I would recommend all technical leaders and managers develop a simple web or mobile app to familiarize themselves with the details of a call construct and the returned JSON payload.  At an absolute minimum, familiarity with a tool such as Postman to execute a variety of API calls, provides us with much-needed context and insight into this core architectural style.


Understand the Constraints of the Initiative

Every software project, product or initiative comes with constraints.  In addition to easily quantifiable and understood limitations (for example, the project budget for the year is $200,000), it is important to recognize and document more subtle boundaries before planning begins. 







These constraints loosely fall into 3 buckets (with some examples):

  • Organizational 
    • Top-down, command-and-control reporting structure?  May not be compatible with some of the team composition ideals noted above.
    • Small(er) team size?  Usually preferred.
    • All stakeholders identified?  
      • Motivations understood?
    • Who controls the PM iron triangle parameters?
      • Budget?
      • Schedule?
      • Scope?
  • Cultural 
    • Predefined thresholds for metrics and standard definitions for Red, Yellow, Green flags?
    • Definition of "Done"?  In the context of a feature, sprint, or release, it is critical to get consensus on this "metric".
    • Project Begin and Project End?  These are not always as obvious as we might think.
    • Client (or customer) engagement?  It is important  to clearly identify ownership and responsibilities around engagement and be sure to properly distinguish project (or initiative or product version) tracking from client (or customer) tracking.
    • Are "heroics" encouraged?  Ideally not, since this leads to burnout and is also often an indicator of a single point of failure or knowledge/power hoarding.
    • Is product/project secrecy critical?
    • Encouragement to "eat our own dog food" and use tools developed in-house?  Ideally yes, since this shortens our internal quality feedback loop. 
  • Technical 
    • Greenfield** or Brownfield?
    • On-Prem or Cloud or Hybrid?
    • Integration with legacy or home-grown CRM, ERP or other application?
    • Corporate/enterprise mandated tools?
**Counter-intuitively, even so-called Greenfield projects or products will have constraints (mostly Cultural or Organizational).

From my experience, project outcomes are positively influenced by transparent conversations about goals, budgets, schedules/deadlines, and roles/responsibilities before any (meaningful) work begins.  Naturally, it's important for us to regularly review these constraints (and assumptions) to ensure alignment and accuracy.


Drive Planning with Data (Not Documents)

As software managers and leaders, we sometimes mistakenly equate raw effort with progress.  In particular, I have seen the count of project artifacts held up as a meaningful measurement of forward movement.  Instead, I recommend a data-first strategy.  Replace the effort involved in authoring and updating project artifacts with investment in a Project Portfolio Management (PPM) system.  There are some excellent PPM products on the market -- some of which are free -- or we can extend our project management tool (Smartsheet, MS Project, etc) or issue tracker (JIRA, Github, Zendesk, etc) or even develop from scratch.  The solution does not have to be exotic or elaborate; the key is to remove as much of the manual overhead and drudgery associated with project plans, charters, stakeholder analysis, requirements and other project artifacts.  Equally important is ensuring that this data is accessible to all interested parties (see Enable Stakeholder Self-Service, the 4th pillar of Frictionless Software Leadership). 

Depending on policy, there are likely certain project artifacts -- for example, SOWs, contracts, legal papers -- that must be standalone documents.  Make those the exceptions.  From my experience, the efficiency gains in making the transformation to (primarily) data-first are considerable, especially as our number of projects, products and initiatives increase.  This transformation to a data-first strategy should include a clear understanding of our current and future system(s)-of-record and an extensive use of data visualizations, wherever possible.  I have had good success with the following digital visualizations:
  1. Calendars***
  2. Maps***
  3. Timelines
  4. Kanban boards
  5. Gantts
  6. Milestones
  7. Value streams and flows (work-, data-, process-)
  8. Architecture diagrams
  9. Checklists****
  10. Cheat-sheets****
***The archetypal visualizations!
****Not visualizations but extremely useful nonetheless.


Enable Stakeholder Self-Service

As technical managers and leaders, we can help bring order to the chaos by establishing a one-stop-shop project portal with optional authentication and authorization, accessible through a single URL via any web browser from any channel.  This will consolidate all the project data and artifacts for convenient access by all stakeholders, ideally through a drill-down dashboard-style interface.  Occasionally, there will be exceptions, but universal access to everything should be the starting goal.  Transparency and simplicity are keys to eliminating project ambiguity and confusion. 

Since we have already made the majority of our project information data-driven, the portal will be real-time.  This helps to eliminate confusion around document revisions and versioning.  However, where there are exceptions and static documents are referenced from the portal, we must be vigilant about concurrency.

It is our job, as leaders, to direct stakeholders to the portal and to encourage input on suggestions for content and format change.  Depending upon the portal's complexity and thoroughness, it also offers us a forum to regularly deep dive into a particular aspect of project tracking.  This helps the team-members to better understand and appreciate disciplines and features in which they might only tangentially be involved.  It also provides an opportunity for stakeholders to showcase their work and achievements or even highlight an area of concern.


Benefits of Frictionless Software Leadership

In summary, Frictionless Software Leadership helps teams to:

  • Be more efficient, by...
    • Favoring smaller, more focused teams
    • Favoring a consolidated toolset
    • Understanding communication channels
    • Clarifying goals and definitions
    • Focusing on DevOps' The First Way ("work should only flow in one direction")
    • Empowering adaptation to situational changes (for example, remote collaboration and WFH)
  • Be more trusting and transparent, by...
    • Accessing a single source-of-truth ("project portal")
    • Sharing accomplishments and tips (and frustrations!)
    • Collaborating regularly
  • Be more content, by...
    • Encouraging "pride of workmanship" (one of Deming's bedrocks)
    • Reducing frustration (when searching for project relevant information)
    • Enabling leaders and managers to spend more time addressing team blockers (instead of attending to busy work updating marginally useful documents)
    This blog post documents the ideals and, of course, we recognize that concessions will usually be required.  However, using this approach and applying our much-harder-to-quantify-but-equally-important soft skills, we can have success delivering quality software.


    Thursday, April 23, 2020

    Technical Knockout: How COVID-19 Put Society and Big Tech on the Canvas

    It is probably safe to say that few of us anticipated the impact of COVID-19.

    The virus has affected every facet of our lives.  Aside from the terrible and tragic human toll, societal norms have been turned upside down.  Social distancing and shelter-in-place have become mandated across the globe.  Board games and jigsaw puzzles, seeming relics of a past era, have enjoyed a renaissance and in some cases are selling in greater numbers than during Christmas.  Sports events, ranging from the Summer Olympics to the NBA to Wimbledon, have been postponed or cancelled entirely.  Schools and universities have been shuttered resulting in teachers, parents and students alike undergoing a trial-by-fire as they struggle with distance learning and homeschooling.  More distressingly, the economy has been harpooned as 10 years of US job gains have been wiped out in the space of just 4 weeks.

    Yet, five months on from its initial identification, we still have so many basic questions about this invisible foe:
    1. What was the virus's origin?  A "wet market" in Wuhan, China or something more sinister?
    2. Exactly how contagious and deadly is this virus?
    3. Can we develop immunity to the virus?
    4. How different is this year's global and regional mortality rate from the average* and from other key milestone years?
    And how has Big Tech, perhaps unreasonably heralded as society's knight in shining armor, fared during this once-in-a-generation crisis?

    + Positives

    On the plus side, the sprawling, highly distributed network that we call the internet, has enabled significant work to be performed from homes around the world.  Through Facebook, FaceTime, Zoom, RingCentral, Skype and other videoconferencing and collaboration tools, the internet has also enabled us to connect remotely with loved ones.  Despite the huge additional data loads, we have not -- to my knowledge -- suffered an internet meltdown of any meaningful magnitude.  The free transfer of information provided by the internet, has helped expose and highlight the lunacy of entities such as Harvard receiving a bailout.  Also, data collection and dissemination technology have enabled innumerable dashboards and data visualizations to convey, in excruciating near-real-time, the horror of the disease.  (My particular go-to dashboard has been this one.  Apparently, it was developed and is maintained by a high-school student named Avi Schiffman.)

    The fact that we also have a robust physical delivery infrastructure -- with Amazon, UPS and FedEx at the forefront -- has helped to offset the imposed limitations around personal movement and the fear of contagion associated with in-person shopping.  There have been other positive contributions, including monetary donations, job creation, masks from 3D printers and more.

    In addition, Apple and Google have partnered to develop a contact tracing API on their respective mobile operating systems.

    - Negatives

    However, on the other side of the ledger, Silicon Valley's technical might has not, to this point, contributed to the much-needed medical solution of a vaccine.

    Furthermore, the fragility of those whose livelihood depends on the oft-trumpeted gig economy has been brutally exposed as Uber and Lyft fleets have largely ground to a halt and AirBnB -- only months removed from being considered the hottest IPO on the planet -- is suffering its own apocalypse.

    The pandemic has also exposed, once more, the huge digital divide.

    Even the previously mentioned positives are often two-edged swords.

    The vast amounts of COVID-19 data available on the internet can leave our heads spinning and are sometimes seemingly contradictory.  Even when the data source is unquestioned -- including my go-to dashboard mentioned above that cites the CDC and WHO among its sources -- other troubling questions emerge such as "what are the precise definitions of the terms ACTIVE, RECOVERED and CRITICAL?"  This can lead to increased FUD (fear, uncertainty and doubt).

    There have been significant supply chain and delivery issues that have required arcane "hacks" to get grocery delivery scheduled.

    In addition, the contact tracing technology noted in the above article has its critics, mostly based on privacy concerns, and a significant number of devices will not be compatible.

    Needless to say, society and big tech are facing a defining moment.  I believe and hope that we can all rise to the occasion by making sustained empathy a cornerstone of our recovery.  This trial has surely illustrated the value of each and every person, irrespective of wealth or status.

    * NOTE: It took some sleuthing to address the frequent and troubling objection that the 2020 mortality rate is fairly typical and the COVID-19 numbers are simply manifesting as a "different cause of death".  However, by comparing the CDC's Average Daily Number of Deaths of 7,708 from 2017 (latest data I could find) to a recent 3-day rolling average of US COVID-19 deaths of 2,034 , we can reasonably conclude that 2020 is definitely anomalous.  Furthermore, in the same sample year of 2017 -- influenza and pneumonia which would be the counterparts to COVID-19 in a typical year -- account for only 2% of annual mortality.