Splitting the monolith | Jimmy Bogard | #LeadDevAustin


ALL RIGHT, THANKS, MERI. I DO KNOW THAT I’M
STANDING BETWEEN YOU AND LUNCH, SO LET’S KEEP THIS SHORT, RIGHT?
THE KEY TO SPLITTING A MONOLITH IS A VERY SHARP AX. OK, THAT WAS HORRIBLE. I WORK AS
A CONSULTING COMPANY IN TOWN CALLED HEADSPRING AND A LOT OF WHAT I DO IS WORKING WITH EXISTING
LEGACY SYSTEMS TO BREAK THEM APART INTO SMALLER, MORE MODERN SYSTEMS. I’VE WORKED THERE FOR
A LONG TIME, WHEN I STARTED THERE, WE DIDN’T CALL THEM MONOLITHS. I WANTED TO TALK ABOUT
ONE CASE STUDY IN PARTICULAR. AND THIS APPLICATION DEALT WITH A COMPANY THAT DID LIFE INSURANCE
AND ANNUITIES WHICH WAS ACTUALLY A BIT OF A DEPRESSING DOMAIN TO WORK IN, BECAUSE BASICALLY
THE COMPANY MAKES MONEY WHEN WE DIE, SO IT WAS A LITTLE BIT MORBID. THEY STARTED IN THE
MID 1800S OR SOMETHING LIKE THAT SO THEY’VE BEEN AROUND A VERY, VERY LONG TIME AND THE
EXISTING SYSTEM THAT THEY WERE DEALING WITH WAS ACTUALLY STARTED SOMETIME IN THE MID ’70S,
SO THIS EXISTING CODEBASE WAS OVER 40 YEARS OLD. IT PROBABLY WORE FLANNEL IN THE ’90 THE,
AS A SOLID GEN X SYSTEM. AND THIS HAD GOT THIS COMPANY TO WHERE IT WAS TODAY, THIS COMPANY
WAS THE LEADER OF THEIR INDUSTRY, BECAUSE THEY HAD THIS SYSTEM FOR DECADES THAT NONE
OF THEIR COMPETITORS HAD. BUT THEIR SYSTEM, LIKE MANY SYSTEMS, HAD STARTED TO SHOW ITS
AGE AND COULD NO LONGER KEEP UP WITH THE BUSINESS. THE WORKFORCE ITSELF THAT WAS RESPONSIBLE
FOR MAINTAINING THE SYSTEM WAS ALSO AGING OUT OF THE COMPANY. IN FACT, A LOT OF THE
DEVELOPERS WERE REACHING A RETIREMENT CLIFF. THEY WERE ACTUALLY PENSIONED. NOBODY HAS PENSIONS
ANYMORE, BUT ONCE THEY HIT 55, THEY WERE OUT THE DOOR GOING ICE FISHING OR SOMETHING AND
WE’D NEVER SEE THEM AGAIN. SO THE PROBLEM WITH THE COMPANY IS THEY HAD ALL THIS KNOWLEDGE
PENT UP IN THESE PEOPLE THAT WERE ABOUT TO JUST LEAVE. AND THE COMPANY SAW THIS AND SO
THEY THOUGHT WHY DON’T WE JUST BUY A NEW SYSTEM AND THAT UNSURPRISINGLY FAILED MAGNIFICENTLY
BECAUSE THIS WAS A CUSTOM SYSTEM AND YOU CAN’T TAKE SOME OFF THE SHELF PRODUCT AND EXPECT
IT TO REPLACE ALL OF THE SORT OF THINGS THAT WERE BUILT UP OVER THE YEARS. SO AFTER THE
BUY DIDN’T WORK, THEY LOOKED AND SAID, IT SEEMS LIKE A LOT OF PEOPLE ARE TALKING ABOUT
MICROSERVICES, SO LET’S DO THAT THING, WHATEVER THAT MEANS. SO THEY SAID CLEARLY WE HAVE A
MONOLITH, AND LET’S GO TO MICROSERVICES. ONE OF THE PROBLEMS I TYPICALLY SEE IN THIS KIND
OF APPROACH IS IT CAN BE DIFFICULT TO DEFINE WHAT EXACTLY IS A MONOLITH? IS IT A SYSTEM
THAT IS VERY OLD, LIKE IT COULD HAVE CHILDREN AND THE CHILDREN ARE CHILDREN, AS WELL? IS
IT JUST A SYSTEM THAT’S VERY LARGE? BUT I’VE DEALT WITH A LOT OF LARGE SYSTEMS THAT STILL
SERVE THE BUSINESS REALLY WELL: SO I LOOKED AT THIS AND I SAID NONE OF THESE
DEFINITIONS ARE THAT GOOD. EVERYONE JUST SAID MONOLITH IS BAD, MICROSERVICES IS GOOD. AND
FOR ME, A MONOLITH IS REALLY A SOFTWARE SYSTEM WHOSE DESIGN, DATA MODEL AND USER INTERFACE
COMBINE TOO MANY MULTIPLE COMPETING BUSINESS DOMAINS INTO ONE SINGLE SYSTEM AND APPLICATION
AND DATA MODEL. AND IT’S THAT COMPETITION THAT REALLY TELLS
US IF THAT SYSTEM CAN NO LONGER BE BROUGHT FORWARD ANYMORE.
IF THAT SYSTEM HAS TOO MANY DIFFERENT PEOPLE HAVING TOO MANY DIFFERENT CONCERNS INSIDE
OF IT, THEN WE’RE GOING TO HAVE A POINT WHERE WE CAN NO LONGER BRING THAT SYSTEM FORWARD
ANYMORE AND THE SYSTEM DEVELOPMENT BASICALLY GRINDS TO A HALT.
SO WE DON’T WANT THIS, RIGHT, BECAUSE THAT MEANS THAT THE SYSTEM WE’RE DEALING WITH CAN
NO LONGER GROW WITH THE ORGANIZATION, AND I HEAR A LOT OF LIKE, INSTEAD OF DOING MONOLITHS,
WE SHOULD JUST GO TO MICROSERVICES. BUT WHEN YOU LOOK AT THE DEFINITIONS OF MICROSERVICES
THEY’RE NOT VERY DESCRIPTIVE. SO I HAVE MY OWN DEFINITION, A MICRO-SERVICE IS A SERVICE
WITH A DESIGN FOLK AREN’T APPLICATIONS, THEY’RE NOT WIDGETS, THEY’RE NOT MODULES, THEY’RE
STILL SERVICES, BUT WE’RE TRYING TO BUILD TOWARDS SMALL BOUNDARIES.
WHAT EXACTLY ABOUT IT IS CAUSING YOU PROBLEMS THAT MEAN YOU CAN NO LONGER MOVE FORWARD AS
A BUSINESS ON TOP OF THIS TECHNOLOGY? AND SO THE MAIN BUSINESS CHALLENGE IS ONE, I WANT
TO MODERNIZE THE WORKFORCE, OUR EXISTING CHALLENGES ARE COMPLETELY TIED TO THE INFRASTRUCTURE.
AND IF WE WANT TO TRY NEW THINGS, WE CAN’T, BECAUSE IT’S ALL STUCK IN THIS EXISTING SYSTEM.
SO IN A NEW SYSTEM WE WANT TO TAKE ALL THE THINGS THAT WERE DONE WELL, WITH THAT EX EXISTING
SYSTEM BUT HOPEFULLY DO THIS THEM BETTER AND HIS BIG METRIC HE HAS WAS IN AN EXISTING SYSTEM
WE CAN ONLY GROW OUR BUSINESS AS WE SELL NEW PRODUCTS. IN THE EXISTING SYSTEM WE’VE PROVEN
WE CAN ONLY RELEASE PRODUCTS ONCE EVERY FIVE YEARS, WHICH IS A VERY, VERY LONG TIME, AND
HIS YARD MARK FOR SUCCESS IN THE NEW SYSTEM WOULD BE TWO NEW PRODUCTS A YEAR. SO THAT’S
AN ORDER OF MAGNITUDE SET OF AGILITY THAT HE WANTED TO GO FOR FROM THE OLD SYSTEM TO
THE NEW SYSTEM AND I KNOW IN MY HEAD THAT TECHNOLOGY IS NOT GOING TO SOLVE ALL OF THOSE
PROBLEMS. IT’S GOING TO BE A LOT MORE THAN JUST GOING FROM GREEN SCREEN TO LIKE REACT.
THAT’S NOT GOING TO SOLVE ALL OF YOUR BUSINESS PROBLEMS, SO THE SYSTEM THAT WE DESIGN HAS
TO BE ABLE TO ENABLE THOSE KINDS OF RELEASES. I ALSO TALKED TO THE IT FOLKS TO SAY, WHAT
ARE SOME OF THE THINGS THAT YOU WANT TO ENABLE IN THIS NEW WORLD THAT YOU HAVE? I HEARD MAINLY
BUZZWORDS, WHICH IS KIND OF TYPICAL, BECAUSE THIS ORGANIZATION WAS MAINLY USED TO DEALING
WITH THE OLD EXISTING SYSTEM AND SO EVERYTHING THEY WANTED TO DO IN THE NEW SYSTEM, THEY
WANTED TO BE ABLE TO SAY, YOU KNOW, WE ARE A MODERN DEVELOPMENT SHOP, WHICH MEANS WE’RE
GOING TO BE AGILE, WE’RE GOING TO BE DEVOPSY, AND WE’RE GOING TO BE MODERNIZED, ALL THE
THINGS THAT I GUESS A CEO WOULD WANT TO SAY. SO THIS WOULD INVOLVE
A 4-STEP STRATEGY. THE FOUR PS.
FINALLY, AFTER THE PILOT PROGRAM IS FINISHED, THEN HAVE A PHASED MIGRATION. IT’S STILL P,
IT STILL COUNTS. FOUR PS, I PROMISE. SO STEP ONE IS GAINING SOME PERSPECTIVE. THIS
IS A STEP THAT A LOT OF ORGANIZATIONS I DEAL WITH, EITHER SPENT WAY TOO MUCH TIME ON, LIKE
YEARS AND YEARS AND YEARS, TRYING TO GAIN PERSPECTIVE AND ANALYSIS, OTHERS WHERE YOU
JENKINS RIGHT INTO IT. I KIND OF THINK HOW THE MODERN ART MASTERS APPROACHED MASTERPIECES
AND EXQUISITE SCULPTURES, THAT IS, THEY DON’T TRY TO DESIGN EVERY LITTLE COMPONENT AND PIECE
UP FRONT. INSTEAD, WHAT THEY TRY TO DO IS HAVE A BROAD SKETCH OF THE OVERVIEW OF WHAT’S
GOING ON AND PROVIDE ENOUGH DETAIL IN SOME AREAS TO GET STARTED. SO WE’RE GOING TO TRY
TO UNDERSTAND THE WHAT, THE WHO, THE WHY, THE WHEN, THE HOW OF EVERYONE AFFECTED BY
THIS EXISTING SYSTEM. SO AS PART OF THIS WE’RE GOING TO CONDUCT
QUITE A FEW INTERVIEWS AND PERSONNEL INTERVIEWS OF EVERYONE INVOLVED IN THE SYSTEM AND ALONG
THE WAY WE’RE GOING TO GET A LOT OF HISTORY LESSONS, LIKE WE’LL HEAR THE STORY OF MARCIA
IN 1997 WHO APPROVED THAT CLAIM AND BY GOD, SHE SHOULDN’T HAVE APPROVED THAT CLAIM AND
OF COURSE WE HAVE TO APPROACH THAT WITH EMPATHY AND RESPECT. EMOTIONS ARE GOING TO RUN REALLY
HIGH. A LOT OF TIMES ESPECIALLY AS A CONSULTANT WHEN I’M COMING IN, I’M COMING IN AS USUALLY
THE SECOND OR THIRD ATTEMPT TO TRY TO GET OFF OFF OF THE LEGACY SYSTEM AND THERE’S GOING
TO BE ANIMOSITY AND HURT FEELINGS AND TENSION AND STRIFE BETWEEN GROUPS INSIDE OF IT, BETWEEN
GROUPS INSIDE OF THE BUSINESS, SO I HAVE TO APPROACH THIS WITH A LOT OF SOFT SKILLS WHICH
ARE IRONICALLY NAMED BECAUSE THEY’RE ACTUALLY VERY HARD, BUT WE CALL THEM SOFT. SO I HAVE
TO PRACTICE EMPATHY, GOOD LISTENING SKILLS, GOOD COMPREHENSION SKILLS, WITH THE PEOPLE
I’M INTERVIEWING TO MAKE SURE I’M HEARING WHAT THEY’RE SAYING, GAINING TRUST AND MAKING
SURE THAT WHAT I’M BUILDING IS ACTUALLY GOING TO SUPPORT THEM AND MAKE THEIR LIVES BETTER.
SO AS PART OF THIS, I’M PERFORMING A MAPPING ENTERPRISE, IN WHICH I’M TRYING TO MAP THE
PEOPLE, PROCESSES, INFORMATION AND TECHNOLOGY AROUND THIS SYSTEM. NOW, MAPPING PEOPLE COULD
BE SOMEWHAT STRAIGHTFORWARD. BUT THINGS I TRY TO LOOK FOR ARE WHO ARE GOING TO BE MY
POTENTIAL CHAMPIONS INSIDE OF THE ORGANIZATION. WHO ARE GOING TO BE THE PEOPLE THAT AFTER
I DELIVER THEM THEY’RE GOING TO GO AND ADVERTISE INSIDE THE COMPANY LIKE HEY, YOU SHOULD WORK
WITH THESE FOLKS NEXT, BECAUSE IT’S DONE SO WELL FOR US, I’M LOOKING FOR THOSE DOMAIN
EXPERTS. WHO ARE THE PEOPLE WHO CAN ANSWER THE HARD QUESTIONS ABOUT WHAT THE SYSTEM SHOULD
OR SHOULD NOT DO? IT SO I’M TRYING TO BUILD OUT A PICTURE OF WHO ARE ALL THE KEY PEOPLE
INVOLVED IN ORDER TO BE SUCCESSFUL. NOW, THIS IS NEVER GOING TO BE 100% ACCURATE
OR CORRECT. BEFORE WE GO LIVE THERE’S ALWAYS GOING TO BE ONE GROUP THAT POPS THEIR HEAD
UP THAT SAYS, WAIT A SECOND, YOU CAN’T GO LIVE. IT’S USUALLY LEGAL. THAT’S ALMOST ALWAYS
THE CASE. SOMEONE ALWAYS POPS UP FROM THERE. BUT I’M TRYING TO FIND ALL THE PEOPLE WHO
CARE ABOUT WHAT WE’RE TRYING TO BUILD AND CAN EITHER HAVE A HAND IN ITS SUCCESS OR WILL
BE A BARRIER TO IT GOING LIVE. I’M ALSO MAPPING THE PROCESSES WITHIN THE ORGANIZATION ADD
ONE GREAT RESOURCE FOR THIS IS VALUE STREAM MAPPING. NOW, VALUE STREAM MAPPING IS VERY
POPULAR IN THE LEAN COMMUNITY IN SOFTWARE, BUT I’M TRYING TO TAKE THE BUSINESS FOCUS
APPROACH, UNDERSTANDING THE BUSINESS PROCESSES AT PLAY, SO I’M LOOKING FOR THINGS LIKE, HOW
LONG DOES IT TAKE FROM WHEN A CLAIM COMES IN TO WHEN IT ACTUALLY GETS PAID OUT. WHAT
ARE ALL THE STEPS THAT HAPPEN AS PART OF THAT PROCESS? HOW LONG DOES IT TAKE TO GO FROM
ONE STEP TO THE NEXT AND HOW MANY THINGS DO THEY DO AT ONCE? ALL THOSE KIND OF LEAN CONCEPTS
COME OUT OF THIS EXERCISE. AND AS PART OF THIS I’M ACTUALLY PHYSICALLY GOING TO WHERE
THE PEOPLE DO THE WORK. WHAT WE DON’T DO IS SECOND OUT A SURVEY AND SAY TELL ME WHAT YOUR
WORKFLOW IS AND THEY GET BACK, STEP ONE, OPEN THE APPLICATION, STEP 2, APPROVE THE INVOICE,
STEP 3, GO HOME. THERE’S PROBABLY MORE INVOLVED. AND I GO AND SIT AND SO OK, I CAN SEE THAT
THEY HAVE AN EXCEL SPREADSHEET OVER THERE. I WANT TO GO THROUGH ALL THE PROCESSES THAT
ARE CAPTURED BEFORE THE SYSTEM AS WELL AS ALL THE SYSTEMS THAT ARE IN THE PROCESS.
NEXT IS MAPPING INFORMATION. SOME ORGANIZATIONS THEY’RE GOING TO CAPTURE OF LOT OF THAT INFORMATION
INSIDE THEIR MAINFRAME OR DATABASE, BUT ALSO SEE LIKE YOU’VE GOT A LOT OF PAPER FILES AND
FOLDERS HERE AND REALLY YOUR WORKFLOW IS JUST EMAIL AND SKYPE SO TRYING TO CAPTURE THOSE
SOURCES OF INFORMATION, AS WELL, GIVES ME A COMPLETE PICTURE OF EVERYTHING THAT’S GOING
ON. I ALSO WANT TO UNDERSTAND OUTSIDE OF JUST THAT SINGLE LEGACY SYSTEM WHAT ARE ALL THE
TECHNOLOGY THAT ARE AT PLAY HERE. AND NOW, EXCEL IS HOOKED UP DIRECTLY TO THE
PRODUCTION DATABASE AND CRITICAL CORE BUSINESS FUNCTIONALITY THAT NO ONE KNOWS ABOUT IS ON
THE CISM OS DESKTOP. THAT’S ABSOLUTELY THE CASE. THAT’S WHY I WANT TO HAVE THOSE INTERVIEWS
ACROSS THE ORGANIZATION TO UNDERSTAND WHERE ARE THESE MINE FIELDS, THESE GRENADES THAT
I’LL INEVITABLY RUN INTO THAT WHEN I SWITCH OFF THAT LEGACY DATABASE, INEVITABLY SOMEONE
SCREAMS THAT I’VE TURNED OFF THEIR BUSINESS. FOR THE EXISTING TECHNOLOGIES, WE’LL START
TO CATALOG WHAT’S IN THE SYSTEM. SO IT WILL BE WHAT APPLICATIONS AND SYSTEMS ARE BEING
USED? WHAT OPERATIONS AND FUNCTIONS POSSIBLE? HOW OFTEN ARE THOSE FUNCTIONS AND OPERATIONS
BEING USED? WHEN ARE THEY USED? I’LL DO A LOT OF INSTRUMENTATION HERE THAT THIS BUTTON
THAT THEY SAY IS SO CRITICAL IS ONLY PUSHED ONCE A YEAR, SO HOW IMPORTANT, ACTUALLY, IS
THAT FUNCTION. FOR INDIVIDUAL SCREENS I LOOK WHEN INFORMATION
IS BEING READ VERSUS WHEN IT’S BEING WRITTEN AND WE WILL PRINT OUT SCREENS AND GET A HIGHLIGHTER
TO SAY THIS IS THIS FIELD, THIS IS THAT FIELD TO UNDERSTAND FOR THAT WHEN WE REPLACE THAT
WHAT ARE ALL THE BACKEND PLACES WE HAVE TO TOUCH? AND OF COURSE WE HAVE TO UNDERSTAND
WHAT ARE THE DEPENDENCIES? HOW ARE ALL THE COMPONENTS CONNECTED TO EACH OTHER?
NOW, THERE ARE SOME TOOLS TO HELP US WITH SOME OF THESE THINGS. BUT FOR A 43-YEAR-OLD
MAINFRAME, NO, THERE AREN’T ANY SYSTEMS TO DO THIS, SO IT’S GOING TO BE A LOT OF LEGWORK
FOR ME TO MAP OUT HOW THE PIECES ARE CONNECTED TO EACH OTHER. SO WITH THIS ANALYSIS COMPONENT
DONE, WHICH I WANT TO LIMIT TO IDEALLY THREE MONTHS OR LESS. IF YOU’RE TAKING A YEAR TO
DO THIS, IT’S PROBABLY A BIT TOO LONG. AGAIN WE’RE TRYING TO GATHER ENOUGH INFORMATION
TO BUILD OUT A PLAN OF HOW TO ATTACK THIS OVERALL PROBLEM. NOW, TO BUILD A PLAN, WE
NEED TO UNDERSTAND THE STRATEGIES. A HOLISTIC BUY VERSUS BUILD ARGUMENT THAT
REPLACE THIS SYSTEM WITH THIS WHOLE SYSTEM OVER HERE THAT ALMOST NEVER WORKS, I WANT
TO AVOID THINGS LIKE TRYING TO ATTACK TOO MANY PROBLEMS AT ONCE, LIKE SOMETHING LIKE
A BRIDGE TOO FAR, I WANT TO PICK SOMETHING THAT’S SMALL ENOUGH TO BE ABLE TO GO LIVE,
BUT STILL PROVIDE SOME VALUE TO THE BUSINESS. SO THIS COULD INVOLVE REWRITES.
NOW, A REWRITE COULD MEAN ENTIRELY NEW SOFTWARE THAT THE DEVELOPERS WRITE OR IT COULD MEAN
A REWRITE THAT’S ALREADY BEEN DONE BY SOMEBODY ELSE. SO I COULD LOOK AT THE EXISTING SYSTEM
AND SAY YOU KNOW WHAT, THIS PART OVER HERE IS JUST BUILDING WITH CUSTOMER RELATIONSHIPS,
HOW ABOUT IF WHEN WE GET TO THAT PART OF THE SYSTEM, WE JUST USE SALESFORCE? ONE THING
I LIKE TO WRITE IS START AT THE EDGES. I DRAW THE COMPONENTS INSIDE THE SYSTEM AND SAY MAYBE
NOT START THE THING IN THE MIDDLE THAT EVERYONE IS CONNECTED TO AND IF POSSIBLE CAN I START
ON THE OUTSIDE TO MINIMIZE THE AMOUNT OF INTEGRATIONS OR CONNECTIONS
I WANT TO CHANGE. WE CAN LOOK AT STARTING AT THE BEGINNING OF
THE OVERALL BUSINESS PROCESS AS A MEANS TO MINIFY THE AMOUNT OF INTEGRATION AND CONNECTIONS
THAT I HAVE TO WORRY ABOUT AS I REPLACE INDIVIDUAL COMPONENTS. SO I COULD START AT THE SALES
PROCESS OR AT THE VERY END OF THE PROCESS. BUT ULTIMATELY THIS COMES DOWN TO IF I’M GOING
FROM A SINGLE SYSTEM TO SMALLER SYSTEMS, I HAVE TO ACTUALLY DEFINE THE NAMES OF THOSE
BOXES THAT I’M DRAWING ON THE BOARD. SO THAT COMES DOWN TO DEFINING THE BOUNDARIES
OF OTHER DIFFERENT SERVICES. NOW, ONE THING THAT I’VE FOUND A FEW TIMES IS PEOPLE ASSUME
THAT THE BOXES THEY DRAW INITIALLY ARE THE CORRECT ONES, BUT OVER AND OVER I’VE FOUND
THAT THE INITIAL BOUNDARIES WE DRAW ON THE WHITE BOARD ARE GOING TO BE WRONG AND SO WE
SHOULD PLAN ACCORDINGLY. NOW, THE PROBLEM IS THAT IT MAY BE EASY TO DO THINGS LIKE REFACTOR
CODE INSIDE A CODEBASE, BUT IT’S MUCH MORE DIFFICULT TO DO THINGS LIKE REFACTOR BOUNDARIES
IN SERVICES. SO AS MUCH AS POSSIBLE I WANT TO REDUCE THE AMOUNT OF WORK IF MY BOUNDARIES
ARE WRONG TO GET IT IN THE RIGHT PLACE. EVEN IF THAT WRONG IS JUST THE WRONG NAME. IF I
HAVE THAT NAME HARD CODED TO A THOUSAND PLACES INSIDE OF MY SERVICES, THAT’S GOING TO BE
MUCH MORE DIFFICULT TO RENAME IT TO THE CORRECT THING APARTMENT THE END.
SO OUR SERVICE BOUNDARIES COULD FOLLOW THE ORGANIZATIONAL STRUCTURE. THIS ALSO IS KNOWN
AS CONWAY’S LAW, THAT AS I LOOK AT THE INFORMATION AND ORGANIZATIONAL STRUCTURE OF THE COMPANY
AND SAY LET’S BUILD SYSTEMS AND SERVICES TO MATCH WHAT WE SEE IN THE ORG CHART, BUT ORG
CHARTS NEVER CHANGE, RIGHT? IT MOST IT ORGANIZATIONS I’VE BEEN WITH HAVE UNDERGONE A MAJOR REORG
WITHIN THE LAST TWO YEARS AND BASICALLY IF I JUST TALK TO THEM AT ANY TWO YEARS THEY’VE
JUST DONE A REORG WITHIN TWO YEARS. IT’S JUST A CONSTANT THING THAT HAPPENS.
PERHAPS THE ORGANIZATIONAL STRUCTURE ISN’T WHAT I WANT TO FOCUS ON, MAYBE I BUILD SYSTEMS
AROUND THE SYSTEMS I WANT RATHER THAN WHAT I HAVE. AND THIS IS KNOWN APPS THE REVERSE
CONWAY PROCEDURE. I’VE
HAD VARIED SUCCESS WITH THIS, BECAUSE AT THIS POINT I’M DEALING WITH LIKE PEOPLE’S CAREER
ASPIRATIONS, SO THAT’S REALLY RISKY TO DO, SO I TRY TO BE A LITTLE LESS AMBITIOUS WHEN
TRYING TO JUST SAY, YOU DON’T NEED A CUSTOMER SERVICE DEPARTMENT. WHERE YOU’RE LIKE, NO,
THESE ARE PEOPLE’S CAREERS ON THE LINE AND SO I WANT TO BE VERY CAREFUL ABOUT HOW I’M
TRYING THIS KIND OF REVERSE PICTURE. I COULD ALSO LOOK AT THE VALUE CHAIN TO SAY,
FOR THE OVERALL BUSINESS PROCESS OVER THE ORGANIZATION OF THE BUSINESS, IF THE ORGANIZATIONAL
STRUCTURE ACTUALLY MATCHES THE BUSINESS PROCESS OVER THE ORGANIZATION, AND THAT BUSINESS PROCESS
HASN’T CHANGED FUNDAMENTALLY IN 50 YEARS, THEN THAT IS PROBABLY A PRETTY GOOD PLACE
TO DRAW MY BOUNDARIES. IF MY ORGANIZATIONAL STRUCTURE DOES NOT MATCH
THE OVERALL BUSINESS PROCESS, THEN WE CAN ASSUME THAT THERE’S GOING TO BE SOME CHANGE
COMING IN THE FUTURE. NOW THAT’S JUST THE ORGANIZATIONAL STRUCTURE,
WHAT ABOUT THE DATA STRUCTURE? CAN I LOOK AT THE DATABASE AND SAY, CAN I JUST DRAW SOME
BOXES AROUND THE TABLES AND THAT WILL BE MY SERVICE? NOW, IT’S NEVER THAT SIMPLE. USUALLY
THE PICTURE FOR MY DATABASE SCHEMA FOR THESE LEGACY SYSTEMS IS LIKE AS BIG AS THIS WALL
OVER HERE. I’VE WORKED AT ORGANIZATIONS WHERE IT WAS TOO BIG AND THEY STARTED COLOR CODING
THINGS. AND THOSE COLOR CODINGS COULD BE A GOOD PLACE FOR ME TO DRAW MY SERVICE BOUNDARIES.
BUT WHAT WE’VE BOUND IS THERE ARE GOING TO BE BOUNDARY ISSUES, WE WILL HAVE CASES WHERE
THERE’S LIKE THE TABLE THAT EVERYBODY USES AND THAT TABLE HAS 3 OR 400 DIFFERENT FIELDS
IN IT, AND SO IT’S THIS ONE TABLE THAT MEANS EVERYTHING TO EVERYONE AND THAT’S GOING TO
BE DIFFICULT TO SAY I’M GOING TO LIFT THIS TABLE UP AND PUT IT OVER THERE AND NOW IT’S
GOING TO BE ITS OWN INDIVIDUAL SERVICE. COULD I LOOK AT BUSINESS OR FUNCTIONAL AREAS TO
SAY, WELL, MAYBE THE ORGANIZATIONAL STRUCTURE IS A LITTLE TOO BROAD, LET’S DIG A LITTLE
DEEPER AND SEE HOW DO THEY ORGANIZE THEMSELVES INTERNALLY? AND MAYBE THAT’S A BETTER WAY
WE COULD LOOK AT MY SERVICE BOUNDARIES. OR WE COULD LOOK AT VALUE STREAMS, THAT IS, THE
OVERALL IT BUSINESS PROCESSES, THESE ARE THINGS THAT KIND OF CAPTURE AN ENTIRE BUSINESS FLOW.
THESE ARE POSSIBLE AREAS, AS WELL, THAT I COULD DEFINE MY SERVICE BOUNDARIES. NOW, THE
CHALLENGE HERE IS THAT VALUE STREAMS OFTEN ARE USED BY MULTIPLE PARTS OF THE ORGANIZATION.
SO WITH ALL THIS KIND OF CATALOGING DEFINITION OF SERVICE BOUNDARIES, WE HAVE TO DECIDE AT
MANY SO POINT WHERE ARE WE GOING TO START AND WHAT I LIKE TO DO HERE IS TRY TO CATALOG
THE DIFFERENT AREAS OF THE SYSTEM, AND PLOT THEM AGAINST THE RISK ASSOCIATED WITH PULLING
THOSE PIECES OUT AND IDEALLY I COULD START WITH SOMETHING THAT IS VERY LOW RISK BUT VERY
HIGH VALUE. THAT NEVER HAPPENS. THERE’S NEVER A PIECE OF THE EXISTING SYSTEM THAT IS EASY
TO PULL OUT, BUT ALSO SUPER-HIGH VALUE AND INSTEAD, YOU FIND THAT THE THING THAT’S THE
MOST VALUABLE TO THE ORGANIZATION IS THE HARDEST THING TO PULL OUT. THERE’S PROBABLY SOMETHING
THERE IN THE MIDDLE THAT’S HIGH ENOUGH VALUE BUT LOW ENOUGH RISK THAT WOULD BE A GOOD FIRST
STEP IN THE PROCESS TO BE ABLE TO PULL OUT. I TRY TO CATALOG AND TRY TO SCALE THEM OR
SCORE THEM FROM A PEOPLE PERSPECTIVE, HOW WILLING IS THE GROUP THAT I’M GOING TO BE
FOCUSING ON WILLING TO BE ABLE TO USE NEW SYSTEMS OR ARE THEY SO IN TUNE WITH THEIR
FUNCTION WITH THE KEYS ON THEIR MAINFRAME THAT EVERY CHALLENGE IS GOING TO BE HIGHLY
DISRUPTIVE AND MAYBE THOSE SHOULDN’T BE THE FIRST PEOPLE I START WITH. PERHAPS THERE’S
ALSO SOME TECHNOLOGY RISK, AS WELL, I’M TRYING TO LOOK AT HOW MANY CONNECTIONS DOES THIS
PIECE HAVE TO THE OUTSIDE WORLD? ARE THERE SOME LICENSING CONCERNS THAT WE HAVE TO WORRY
ABOUT? IF THIS MAINFRAME LIVES OFTEN FOR ANOTHER YEAR, WILL THAT INCUR ANOTHER 8 OR 9-FIGURE
LICENSING COST? MAYBE THESE ARE THINGS FROM A MONEY PERSPECTIVE I CAN FOCUS ON, AS WELL.
AND FINALLY PROJECT AND SCOPE RISK. IS THERE SOME VERY LARGE PROJECT LOOMING FOR THE EXISTING
SYSTEM THAT IF I TRY TO REPLACE THAT PART, I’M NOW HAVING TO DO THAT WORK TWICE? SO IN
ALL OF THIS, THERE’S NEVER GOING TO BE A PERFECT PLACE TO START. THERE’S NOT GOING TO BE ONE
THING THAT STANDS OUT AND SAYS YES, THAT’S ABSOLUTELY THE RIGHT PLACE. IN FACT OFTENTIMES
WE’LL GET A RANKING AND I’LL PRESENT THEM TO THE CEO AND CIO AND IT WILL SEEM LIKE THEY’RE
JUST IS THROWING A DART AT THE BOARD AND SAYING THEY ARE WE’RE GOING TO SAY THAT. NOW, THERE
ARE SOME PLACES THAT ARE BAD TO START AT. IN THE MIDDLE STEP OF A PROCESS OR A HIGHLY
CONTENTIONIOUS AREA. I WANT TO PICK SOMETHING THAT’S HIGH ENOUGH
VALUE THAT HAS MEANING TO THE ORGANIZATION THAT IS GOING TO PROVE OUT OUR APPROACH.
NOW, AS PART OF THIS WE HAVE TO WORRY ABOUT TRANSITIONS. THAT IS GOING FROM THE OLD SYSTEM
TO THE NEW SYSTEM AND ONE OF THE THINGS I WANT TO HAVE IS GOING TO BE THE SINGLE SOURCE
OF TRUTH FOR THIS. I THINK ONE OF THESE IS ACTUALLY HEBREW FOR THOU SHALT UNIT TEST,
I’M PRETTY SURE. AS WE’RE BUILDING OUT THESE NEW SERVICES THEY
HAVE TO BE THE OWNER OF THAT INFORMATION, THEY HAVE TO HAVE THEIR OWN INFORMATION MODEL
THAT THEY ARE IN CHARGE OF THAT ISN’T LEAKED OUT TO THE OUTSIDE WORLD. SO THIS DOESN’T
MEAN THAT WE’RE GOING TO HAVE TO MIGRATE DATA PATHS FROM THE OLD SYSTEM TO THE NEW SYSTEM.
AND THE WAY THIS WILL GENERALLY WORK IS I WILL START OUT WITH THE EXISTING MONOLITH,
WE’LL WRITE TO BOTH LOCATIONS, AND THEN I MODIFY ALL THE PLACES IN THE OLD SYSTEM THAT
READ FROM THE OLD DATABASE TO READ FROM THE NEW DATABASE, THEN I MODIFY ALL THE PLACES
THAT WRITE TO BOTH PLACES TO NOW JUST WRITE TO THE NEW PLACE, AND THEN FINALLY I GO BACK
AND REMOVE ALL THE OLD INFORMATION FROM THE OLD DATABASE AND IT’S ALL GOING OFF THE NEW
STRUCTURE COMPLETELY. WHAT I’M TRYING TO DO, THOUGH, IS JUST AVOID
ANY KIND OF BIDIRECTIONAL UPDATES. IF I HAVE TWO SOURCES OF TRUTH THIS IS GOING TO CAUSE
A LOT OF CONTENTION AND ULTIMATELY I’VE SEEN THESE ULTIMATELY FAIL.
WE CAN DO THIS BY DISABLING FUNCTIONALITY IN EXISTING SYSTEMS. OR MAYBE WE CAN’T REMOVE
THE SCREEN BUT WE JUST DISABLE THAT FUNCTION SO YOU CAN’T DO IT IN THE OLD SYSTEM GOING
FORWARD. SO THIS COMES TO OUR NEXT P WHICH IS GOING
TO BE THE PILOT PROGRAM, WHICH IS TRYING TO COME UP WITH A COMPLETE RUNNING SYSTEM AND
APPLICATION THAT STILL PERFORMS ALL THE FUNCTIONS BUSINESS BUT DOESN’T NECESSARILY HAVE ALL
THE BELLS AND WHISTLES OF THE EXISTING SYSTEM. WE WANT TO HAVE THE MINIMUM PIECES AVAILABLE
TO BE ABLE TO PERFORM WHATEVER THAT FUNCTION IS AS PART OF IT.
SO PART OF THIS IS GOING TO BE BUILDING OUT A DEDICATED TEAM. THAT IS, WE WANT TO MAKE
SURE THE PEOPLE ON OUR PROJECT AREN’T ALSO ASSIGNED TO OTHER PROJECTS COMPETING FOR TIME
AND RESOURCES FROM WHAT WE’RE DOING, SO WE HAVE TO PUT POLICE TAPE AROUND — SOMETIMES
PHYSICALLY MOVING THESE PEOPLE TO A SEPARATE PLACE TO MAKE SURE THEY AREN’T BEING PULLED
OFF INTO OTHER PROJECTS. WE’RE GOING TO BE DESTROYING SILOS, PULLING PEOPLE FROM MULTIPLE
PARTS OF THE ORGANIZATION. YOU PROBABLY HAVE A PMO, YOU PROBABLY HAVE QA, YOU PROBABLY
HAVE AN OPERATIONS OR DEVOPS SEPARATION. ALL OF THESE HAVE TO BE PULLED IN ORDER TO ENSURE
SUCCESS. THE DEVELOPER IS GOING TO WANT TO CUSTOMIZE
AND MAKE ALL THE BELLS AND WHISTLES FOR THIS NEW CUSTOM ORGANIZATION, THEY WILL TO MAKE
IT AS CRAZY AND CUSTOMIZABLE AS POSSIBLE, BUT WE’RE GOING TO HAVE TO CONSTAIN WHAT WE’RE
BUILDING THERE. SO THESE COULD BE SELF-CONTAINED SYSTEMS. THIS WORKS WELL FOR BACKEND APPLICATIONS.
OR IT CAN BE MORE LIKE A COMPOSITE UI WHERE I HAVE MULTIPLE SERVICES COMING TOGETHER INTO
ONE SINGLE COMPREHENSIVE USER INTERFACE. THIS IS MAINLY USED FOR CUSTOMER-FACING APPLICATIONS
VERSUS THOSE BACKEND SORT OF SYSTEMS. THERE WILL BE NAVEL GAZING AND BIKE-SHEDDING
BY. THE DEVELOPERS. THEY WILL WANT TO ARGUE ENDLESSLY OVER WHAT TECHNOLOGY TO
USE. THE NEW HOTNESS, WHATEVER NOW.JS IS AVAILABLE TODAY. VERSUS THE OLD TECHNOLOGY THAT IS KIND
OF BORING TO WORK WITH, WHATEVER. BUT THROUGH ALL THIS, THE NEW TEAM IS NOT USED TO WORKING
WITH THESE NEW TECHNOLOGIES, SO WE HAVE TO INVEST IN TRAINING TO BE SURE THAT THEY ARE
ABLE TO DELIVER IN THIS NEW KIND OF SYSTEM THAT WE’RE BUILDING TODAY.
WE’LL HAVE TO CONSTRAIN SCOPE TO MAKE SURE THE BUSINESS IS NOT PUTTING TOO MUCH INTO
THIS FIRST SYSTEM AND WE’LL HAVE TO CONSTRAIN GOALS, AS WELL, TO ENSURE THAT WE’RE NOT TRYING
TO END WORLD HUNGER WITH THIS VERY FIRST SYSTEM THAT WE’RE PUTTING OUT THE DOOR. WHAT WE’RE
TRYING TO DO IS GET TO A COMPLETE SOLUTION, PERHAPS FOR JUST A FEW INDIVIDUAL WORKFLOWS
AND USE CASES BUT IS STILL ENOUGH OF A COMPLETE SYSTEM THAT SOMEONE CAN LOOK AT IT AND SAY
YES, THAT DOES VALIDATE OUR OVERALL APPROACH. AND THE LAST THING IS PHASED MIGRATION. SOMETHING
THAT TEXANS HOLD NEAR AND DEAR, SUCH AS HIGHWAY CONSTRUCTION, WE’RE NOT ENTIRELY REPLACING
AN EXISTING HIGHWAY WITH A NEW HIGHWAY TO THE SIDE AND ONE DAY SOMEBODY FLIPS THE SWITCH
AND WE’RE ON A NEW HIGHWAY. INSTEAD WE’RE DOING A MILE AT A TIME WITH THE OLD SYSTEM
NEXT TO THE OLD SYSTEM BUT EVENTUALLY THE NEW SYSTEM IS IN PLACE, BUT AT NO POINT WAS
TRAFFIC EVER STOPPED. AS WE’RE A DECIDING WHAT IS GOING TO BE THE
NEXT SERVICE WE STILL HAVE TO PERFORM SOME OF THE RISK ASSESSMENT AND MEASUREMENTS WE
DID BEFORE, BECAUSE THE PICTURE COULD HAVE CHANGED PASS WE PICK OUT THAT NEXT SYSTEM.
WE’LL BE LOOKING AT STAGING OUR TEAMS, AS WELL. THAT IS, INSTEAD OF HAVING INDIVIDUAL
PROJECTS FOR EACH INDIVIDUAL SERVICE, INSTEAD WHAT I WANT TO DO IS HAVE A MORE STAGED APPROACH
THAT AS I’M DELIVERING ONE PART OF THE SYSTEM, THERE’S — AT THE SAME TIME, THE PLANNING
FOLKS ARE LOOKING AHEAD AND ANALYZING THE NEXT SYSTEM WE SHOULD BE LOOKING AT, SO THERE’S
THIS CONTINUOUS DELIVERY APPROACH AS WE GO THROUGH AND REPLACE THE REST OF THE MONOLITH.
AND FINALLY, THE MOST IMPORTANT QUESTION. THAT A BUSINESS WANTS TO KNOW IS, WHEN IS
IT GOING TO BE DONE? LIKE THEY WANT TO KNOW HOW MUCH IS LEFT? AND WE COULD SAY WE HAVE
13,000 STORY POINTS LEFT, WHATEVER THAT MEANS. SO I TRY TO HAVE SOME KIND OF TANGIBLE MEASURE
OF PROGRESS, WHETHER IT’S USERS OR PRODUCTS OR MAYBE IT’S GEOGRAPHY, LIKE WE’VE MIGRATED
THESE STATES. MAYBE IT’S PEOPLE IN THE ORGANIZATION OR JUST SCREENS OR TABLES, SOMETHING THAT’S
MORE TANGIBLE AND BUSINESS-FOCUSED THAT SAYS WE ARE NEARING THE END OF THIS OVERALL PROJECT.
SO SOME FINAL LESSONS IN PERFORMING THIS. YOU PROBABLY NOTICED I DIDN’T TALK AT ALL
ABOUT TECHNOLOGY, BECAUSE I’VE NEVER SEEN A PROJECT FAIL OR SUCCEED SOLELY BECAUSE OF
TECHNOLOGY, IT’S ALWAYS BECAUSE OF THE PEOPLE ASPECTS OF IT. WE NEED TO MAKE SURE THAT WHAT
WE’RE BUILDING IS ACTUALLY GOING TO BE SOLVING THE PROBLEMS IN A SAFE WAY THAT GETS IT OFF
OF THEIR EXISTING SYSTEM. WE NEED TO PRACTICE COMPASSION OVER THE EXISTING SYSTEM. THAT
SYSTEM WOULDN’T EXIST WHERE IT IS TODAY UNLESS IT WAS ACTUALLY SUCCESSFUL FOR THE ORGANIZATION.
WE WANT TO HAVE A PRODUCT MIND SET OVER A PROJECT MIND SET. THE SYSTEM TOOK 43 YEARS
TO BUILD, IT’S NOT GOING TO BE REPLACED IN A YEAR. WE HAVE NO SILVER BULLETS, KUBERNETES
IS NOT GOING TO MAKE THIS PROBLEM INFINITELY EASIER FOR US, IT IS A VERY HARD PROBLEM FOR
US TO SOLVE AND THERE WILL BE BUMPS ALONG THE WAY. SO TWO GREAT RESOURCES I’VE FOUND.
ONE IS THE PHOENIX PROJECT, A BOOK THAT REALLY INVENTED THE DEVOPS MOVEMENT AND THE OTHER
IS THE BOOK THE VALUE STREAM MAPPING BOOK. AND I HOPE YOU ENJOY THE REST OF THE CONFERENCE
AND THANK YOU.

, , ,

Post navigation

One thought on “Splitting the monolith | Jimmy Bogard | #LeadDevAustin

  1. Please never spam upload. Blackhat does that shit too. People subscribing will have their feeds flooded, get overwhelmed and unsubscribe in large numbers, just as I'm about to do, so I can unclutter my feed and see the singular uploads from the other channels I subscribe to. Of course once I'm done viewing my feed I will have forgotten about this and never come back. Please don't strangle informative channels like this, they're have a lot of importance to offer the world.

Leave a Reply

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