agile case study
TRANSCRIPT
CASESTUDYScenarioSmartbank’sCIOfeelsitneedsachangetocompeteonalevelplayingfieldwithsmaller,morenimblecompetitors,theywanttheirITorganizationtobeableto:
• respondfastertoconsumerdemands• increaseengineeringquality• buildexperiencescustomerswilllike,reducingthecostoffailure.
EachCIOteamsitsintheirowndirectorateandarebroughttogetheronamatrixbasistodeliverchange,apartfromthesupportteamwhoprovideaticketedservicefortest/proddeploymentsandprovide1stand2ndlinesupport,3rdlinesupportcomesfromthecomponents.TheproductteamsitsoutsideoftheCIOwithinthebusinessofthebank.ProjectLifecycleThee2eprojectlifecyclestartswithaninitiativefromtheproductteam,theysecureearlyfinancialapprovalandsourceaprojectmanagertodevelopahigh-levelbusinesscase,hesecuresanarchitectstimetoprovideroughestimates,completesthebusinesscaseallowingforthecreativeteamandBA’stobefundedandbroughtontotheproject.Workrequestsareraisedintotherespectivedirectoratestosecurethem.OncetheBAsandUXdesignersaremobilizedtheybeginworkingwiththeproductteamtodefinetherequirementsandexperience,generallythesetaketheformofawireframeandsupportingspreadsheetofMoSCoWrequirementsinuserstoryformat,theyworkexclusivelywiththeProductManagertoproducethemandonceheishappythesearecompletehesignsthemoffandtheProjectManagerraisesaworkrequesttosecureanarchitectstimetodoane2edesignidentifyingimpactsontherespectivecomponentteams.Oncecompletetheworkrequestsareraisedontheimpactedcomponentsandtestteamrequestingestimates,astrustedindividualsdetailedestimationiscarriedoutbythemostseniorengineersandtestersintheteams.OnreceiptoftheestimatestheProjectMangeragreesanychangestothebusinesscaseandforecastedtimelineswiththeproductmanager,releasesfundingandcommitsthecomponentteamstothedeliveryscopeandtimelines.TheProductManagerbreathesasighofreliefandtheProjectManagergetsreadytotakethedeliveryintotheSDLC.Oncethedevelopmentstarts,theengineeringteamstartswritingcode,andtestingteamstartswritingtestscriptsfromtherequirements.Atthesametime,ourprojectmanagerhastorequestdevelopmentandtestenvironmentsthathavetobebuiltbyoperationsteamanddeliveredbythetimedevelopersarereadytodeployfirstbatchofcode.Onceenvironmentisdelivered,developersmanuallybuildanddeploythefirstreleasetotestenvironmentandbegin“environmentshakeout”.Onceenvironmentisstable,theynotifythetestingteamthattheycanstartexecutingtests,andcontinuetoworkonthenextbatch.Testingteamgoesthroughthetestscriptsandraisesdefects.Somearerelatedtoenvironmentinstabilityandsometoactualbugs.Ourprojectmanagerisstressedoutandhastodrinkheavilyeverynight(or,ifheisinCaliforniaorColorado,resorttootherlessliquidmeasures).Herunsmeetingseverymorningwithdevelopersandtesterswheretheyreviewdefectsandnegotiatetheirpriority.
SDLCProcessisasfollows:
CaserelatedQuestions1. Whatanti-patternsdoyouseeinthecurrentorganizationandpractices,why?
SmartbankcurrentlyemploystraditionalSDLCorwaterfallmethodologyforitsproductdevelopmentinitiatives.Thisprocessismoreappropriateforprojectswithclearlydefinedgoalsandconcretebusinessrequirements,e.g.,infrastructurebuild-out,buildingconstruction,carmanufacturing,etc.Modernsoftwaredevelopmentisamuchmoredynamicprocess,wherebusinessrequirementschangefrequentlybasedonmarketinnovations,e.g.,VirtualReality,anduserfeedback,e.g.,A/Btesting.SomeofthemajorrisksandpotentialimpactassociatedwithSDLCsoftwaredevelopmenteffortsare:
Risk Impact1. Requirementmisses2. Changesinscopemid
project3. Poorlydefinedgoals
andobjectives4. Insufficientchange
management
• “BigBang”approachopensproducttopotentialfeaturereworkwhichmayresultsinlowercustomersatisfactionandlaunchdelays– Lowcustomersatisfactionwillresultinlossrevenues– Rolloutdelayswouldmeanincreaseindevelopmentcosts
• Clientexpectationsnottestedandverifiedonafrequentbasis• Notabletoreacttomarketchangesquicklyandefficiently
5. PoorLevelofEffort(LoE)estimation
6. Insufficientresources
• Productlaunchandrolloutdelays• Slowreactiontoresourcegaps
7. Lackofstakeholderinvolvement
8. Poorcommunications
• Opensstakeholdertopotentialsurprises• Internalclientsmayfeeltheirvoicesorneedswerenotheardand
addressedTable1.SDLCrisksandimpacts.
2. Howmighttheorganizationalculturebeaffectedbythecurrentsystem?TheculturalimpactofemployingSDLCforsoftwaredevelopmentisthatyouexposetheteamtopotentialrisksthatadverselyimpactteammoraleandjobsatisfactionlevel.Thiswillalsosubjecttheteamtofingerpointingonblameandinstillalackoftrustbetweenteammembers.
3. BasedontheCIOobjectives:a) Howwouldyoure-organizetheteams?
Fromthecasestudynarrative,IsurmisedanorganizationalstructurethatissimilartotheonedepictedinFigure1.Iwouldanswerthisquestionintermsofshort-term,mid-term,andlong-termgoals.Shortterm,Iwouldnotmakeanybigchangestotheorganization;instead,Iwouldidentifyapilotteamtoimplementtheagileprocessforproductdevelopment.ThemakeupofthispilotteamisillustratedinFigure2.Oncetheagilepilotisin-place,tested,andverifiedby
theorganizationonitsnimblenessandeffectivenessinmeetingthedynamicbusinessneeds,thenIwouldstartfocusingmid-termorganizationalstructure.Formid-term,Irecommendthefollowingorganizationalchanges(seegreyboxesinFigure3):
i. HireaVPofProgramManagementroleii. MoveDirectorofProjectManagementundertheVPofProgramManagementiii. MoveDirectorofQAundertheVPofProgramManagement
TherationaleforfactoringoutProgram/ProjectManagementandQAresponsibilitiesfromtheVPofEngineeringroleisthreefold:(a)theCIOneedsonepersontoownthetruestatusofaproject;(b)projectmanagementandQAareorthogonalprocessestodevelopment;and(c)thisstructureallowstheVPofEngineeringtofocusondesigninnovationandsoftwaredevelopment.
Figure1.CurrentSmartbankorgchart.Longterm,IfullyexpecttheAgile/ScrumprocesstobepromulgatedanddeployedacrossSmartbankfirmwide,atwhichpoint,SmartbankwillbereadytoconsidertheadoptionoftheScaledAgileFramework(SAFe®),asillustratedinFigure4.SAFewillenableSmartbankexecutivestorunitsbusinessinanagilefashion,i.e.,enablethebusinesstorapidlyrespondtocompetitiveforcesbyiterativelydeliverproductsthatquicklyadoptnewtechnology,userexperience,andinnovativefeatures.AsSAFeisalongtermstrategyforSmartbank,IrecommendaseparatestudytodeterminetheappropriateorganizationstructuretosupporttheScaledAgileFramework.
Figure2.Agileteammembersandtheirresponsibilities.
Figure3.Mid-termorgchart.
CIO
VPofProgramManagement
DirectorofProject
Management
DirectorofQA
VPofEngineering
CreagveDirector
DirectorofEngineering
ReleaseManager
VPofOperagons
DirectorofSupport
Level2Support
Level3Support
VPofCustomerService
CallCenter
Level1Support
BusinessGroup
ProductManagement
ProductManagers
Figure4.SAFe®⎯ ScaledAgileFramwork.
b) Whatmethods&practicesmightyouadopt,why?
IrecommendthatSmartbankadoptAgileMethodologyasitsproductdevelopmentprocess(seeFigure5).Byembracingthisdevelopmentmethodology,Smartbankwillbeableto:BusinessGoal AgileDeliveryBenefits
Respondfastertoconsumerdemands
Agiledictatesthatproductrequirementsbedisaggregatedintouserstoriesandeachassignedabusinessvalue.Theinitialfocuswillbetodeliverfeaturesthatdeliverthehighestvalueandrequiretheleastamountofeffort,akaMinimalValueProductorMVP.
Increaseengineeringquality
AgilealsorecommendsthatdevelopersembraceTestDrivenDevelopment,whichrequireseachfeatureoruserstorytoincludeacceptancecriteria(asdefinedbyProduct)thatallowdeveloperstoincludebothpositiveandnegativetestcaseswhichwillbeusedtovalidateeachfeatureasitsbeingdeveloped.ThiswillideallycutdownthenumberofbugsfoundduringQAintegrationtesting
BusinessGoal AgileDeliveryBenefitsBuildexperiencescustomerswilllike,reducingthecostoffailure
ByshorteningtheproductdeliverycycleorSprintcadence,e.g.,aproductreleasewillbedeployedeverytwoweeksandintroducingtheconceptofA|Btestingduringdeployment,thesechangeswillallowthebusinesstodeliverproductfeaturesiterativelyandfrequentlywhichwillallowSmartbanktoquicklyimproveclientexperienceandreducethecostoffailures
Table2.Agilebenefits.
TheAgileprocessentailsthesetupandrunningofthefollowingmeetings:Meeting
TypicalDuration
Purpose
DailyStandup 10–15min
• WhatdidIdoyesterday?• WhatamIdongtoday?• Isthereanythinginmyway(blockers)?–ForScrumMaster
totackleSprintPlanning
4Hours • Atthebeginningofeachsprint,teamwillprioritizehighestvaluefeaturefromtheproductbacklog
• Teamwillselectenoughfeaturestofillthesprintcycle,e.g.,twoweeks
BacklogGrooming
4to6HoursOncea
monthorquarter
• Productowner’smeetingtoreviewnewbacklogitemswithdevelopers
– Reviewuserstories– AssignStoryPointstoeachuserstory– ProductwillprioritizebacklogitemsbasedonLoE
andbusinessvalueProductDemo 2Hours
normallyonthelastdayofSprint
• Attheendoftwoweeks,theteamhastwohourstodemotheresultantworktoprojectstakeholders
• UsuallydrivenbyProductownerbecause– Givesproductownerastakeintheoutcome– Solidifiestherelationshipwithstakeholders– Ensuresstakeholderssharevisionwithproduct
owner– Developersmaystrugglediscussionproduct’svalue
• GetfeedbackfromstakeholdersRetrospective 2Hours • Reviewlessonslearnedfrompriorsprint
• Normallyhappensonthelastdayofeachsprint• Eachteammemberwillanswerthequestions
– Whatwentwell?– Whatcouldhavebeendonebetter/faster?– Thisisthemostimportantmeetingbecauseit
fosterscontinuousimprovementoftheagileprocessTable3.Agilemeetings.
Figure5.Agiledevelopmentmethodology.
c) Whattoolswouldyouexpecttoseebeingused,howandinwhatteams?AreaofResponsibility ToolsRecommendationExecutiveManagement
• AtlassianConfluenceforreadingprojectdashboard,whichincludesscheduleandstatuses
AgileProjectManagement
• AtlassianJIRAforagileprojectmanagement(includingsupportforKanbanboards)
• AtlassianConfluenceforcommunicatingprojectdashboardorstatus
• SlackforintraandinterteamcommunicationsProductManagement • AtlassianJIRAfordefiningproductrequirementsoruserstories
• UXPinforUXscreendesignandwireframesDevelopment • EclipseforIDE(thisalsodependsontheprogramminglanguage,
e.g.,Python,Java,PHP,etc.)• GitHubforSCCS• AtlassianJIRA/Confluenceforuserstoriesandproductepics
Design • UXPinforUXscreendesignandwireframesQATesting • AtlassianJIRAforrecordingandtrackingsoftwarebugs
AreaofResponsibility ToolsRecommendation
• AtlassianBambooforcontinuousintegration,deployment,andreleasemanagement
Table4.RecommendedtoolsforAgiledevelopment.
d) Whatchallengesareyoulikelytofacetobuildingthesortofteamyouwant?Givenmyexperience,themajorchallengesintransformingfromSDLCtoAgileareasfollows:
i. Training⎯It’simperativethateveryoneonthesprintteamgetstrainedonthesameagilemethodology.TheymustpracticethisandevolveittofitSmartbank’scompanyculture.Allofthelearningfromthepilotmustbedocumentedandpromulgatedthroughouttheorganization
ii. AdoptionofTestDrivenDevelopment⎯DevelopersmustembraceTDDaspartoftheirdevelopmentprocess,otherwise,QAduringintegrationtestingwillbecomequitetedious
iii. Nay-sayers⎯Asinallorganization,therewillalwaysbeskepticsorpeoplethatdon’tbelieveinyourvision.Onewaytoaddresstheseconcernsistomakesureyouhaveaverysuccessfulpilot.Thepilotmustbeabletodemonstratethevaluepropositionofagilemethodology.Oncethepilotprogramiscompletedandsuccessful,acommunicationprogramwillneedtobedevelopedtoadvertiseitssuccesstotherestofthefirm.
e) HowwouldyougoaboutestablishingworkingrelationshipswithintheorganizationandmanagerswhomayormaynothaveboughtintotheCIOvision?Givenmyexperience,Irecommendthefollowingcommunicationsteps:
i. CIOshouldkickoffthischangeprogrambyholdinganall-handsmeetingandsendingoutangroup-widee-mail
ii. TheProgramManagershouldsetupindividualmeetingswithstakeholderstoreinforcethechangeprogrammessagesandsolicittheirinputandfeedbackontheirissuesandconcerns.Aresponsetotheseissuesandconcernsmustbedevelopedandcommunicatedbacktothekeyexecutives
iii. Awebsiteorblogsiteshouldbecreatedtocommunicatethevisionofthistransformationaswellascapturefeedbackfromstakeholdersontheirissuesandconcerns
4. Whataresomeofthehighlevel/generalrisksyouforeseeinsuchanengagement?Theanswertothisquestionsimilartomyresponseto3(d).Thebiggestriskislackofuniformtraining.ThisisespeciallyprevalentinteamsthatarealreadypracticingAgile.IfindAgilepractitionersdifferfromcompanytocompanybecausepeoplehaveevolvedthisprocesstofitthecompanycultureorimplementedworkaroundsuniquetotheirproductsorworkflow.
5. Whatmechanisms,toolsormethodswouldyouusetoidentifyandmanagemoregranularrisks?
Thetoughestpartofriskmanagementisgettingtheteamtogenerateallthepossibleprojectrisksthroughbrainstormingandcollaboration.Oncealistofrisksisidentified,anytoolscanbeusedtotrackthem,e.g.,asimpleExcelspreadsheet,Worddoc,GoogleDoc,GoogleSheet,etc.Allweneedtotrackare:
a) RiskEvent⎯Whatisthepotentialissue?b) EventTrigger⎯Howdoweknowwhenithashappened?c) Impact⎯Whathappenswhentheriskoccurs?d) DegreeofImpact⎯High/Med/Lowe) ProbabilityofOccurrence⎯High/Med/Lowf) MitigationPlan⎯Whatcanwedotoreduceitsimpactand/orprobabilityofoccurrence?g) RiskOwner⎯Whoownsthisrisk?
Non-CaserelatedQuestions:1. Talkaboutyourexperiencesrunningdistributedagileteams?Howdistributedwerethose
teams?Whattoolswereused?Throughoutmycareer,Ihaveworkedwithonshore,near-shore,off-shoredevelopmentteamsandtheirhybridconfigurations.AtUBSandDisney,thedeveloperswerebasedinIndia;atHBO,thedeveloperswereonthewestcoast,i.e.,LAandSeattle;andatFrankly,thedeveloperswereinVietnam.Thebiggestissueworkingwithdistributedagileteamsispickingtherighttimezoneformeetings.Tool-wise,I’veusedvideoconferencing,telephone,Gotomeeting,JIRA/Confluence,Slack,UXPin,etc.,tofacilitateteamcollaboration
2. What'sthebiggestchallengeyoufacedwhensupportingmultipleScrumteamswithinarelease?Tellushowyoutrackedtherelease?ThebiggestchallengewhensupportingmultipleScrumteamswithinareleaseissynchronizingthedeliveryaswellascommunicatingandproblemsolvingoninter-dependentissuesbetweenScrumteams.Irecommendthefollowingmethodstotracktherelease:
a. Duringdailystandupsforthescrumteams,reserveaslotoftimetodiscussissuesthataredependentonotherscrumteams.Ideally,ifpossible,therecouldbea5minuteoverlaptimebetweendailystandupmeetingssobothscrumteamcanhearabouttheinter-dependentissues.Shortofthat,it’suptotheScrumMastertocommunicatetheseissuestotheappropriateScrumteamandseektheirresolution
b. DocumenttheseinterdependentissuesinJIRAandtagtheappropriateteammembersforownership
c. Ifrequired,theScrumMastershouldmeetwiththeindividualteammember(s)thatcanresolvetheinter-dependentissuesoutsideofthestandingscrumagilemeetings(seeTable3)
3. HowhaveyouhelpedorganizationstoimplementContinuousIntegrationand/orDelivery?Whattoolsandtechniqueswereused?WhatdifferencedidCImake?AtFrankly,weusedacombinationofGitHubandJIRABambooplugintomanagecontinuousintegration.CIallowedustoshortenourtestanddeploymenttimeframefrom1.5weeksto3days.
4. What'syourexperienceofDevOps?Whattoolsandtechniqueswereused?Whatdifferencesdiditmake?DevOpsistheprocessofautomatingsoftwaredeliveryandinfrastructurechanges.Itaimsatestablishingacultureandenvironmentwherebuilding,testing,andreleasingsoftwarecanhappenrapidly,frequently,andmorereliably.IhadexperiencewithDevOpsatFranklywhenwemigratedourinfrastructurefromourdatacentertoAmazonAWS.WeusedGitHub,Bamboo,AWStoautomateourdeploymentscripts.Itshortenedourreleasecyclefrom6hoursto2hours.
5. Inyourlatestroledescribeanysignificantchangesyoupersonallymade?Whatwastheresultofthosechanges?Howdidyoumeasuretheoutcome?WhenIfirststartedatFrankly,IwastoldthatwewereanagileshopbutIsoondiscoveredthatwewerereleasingourproductsona6to8weekcycle,whichboggledmymind.Infact,IdiscoveredthatFranklywasreallypracticingSDLC;theonlythingagileabouttheirprocessisthattheconducteddailystandupmeetings.
Itookthefollowingstepstoassessandremedythissituation:
a) Embedmyselfinthedevelopmentprocessb) Observeandrecordmyobservationsc) IdentifyprocessandresourcegapsrelativetoastandardScrumprocessd) Assessrolesandresponsibilityconflictse) Developalistofrecommendationandsyndicatethemwiththeteamf) Executeagainstmyrecommendations
Asaresult,Iwasabletochangeoursprintcadencefrom6weeksto2weeks.
6. Tellusaboutthelasttimeyoufaceddifficulties?Whatdidyoudotoovercomethem?Isthereanythingyouwoulddodifferently?ThelasttimeIhaddifficultyatworkwasdealingwithapersonnelissueatFrankly.ThissituationaroseduringmyAgileassessment(seemyresponsetoquestion5above).OneoftheproblemsIuncoveredwasthattheProductManagerwasverypossessiveandcontrollingofherdeliverables.Sherefusedtocollaboratewithotherteammembersbutalwayshadanexcuseforlatedeliveryofherendproducts.ThewayIdealtwiththissituationwastoconductaRACI(Responsible|Accountable|Consulted|Informed)analysisonherrolesandresponsibilitiesrelativetootherscrumteammembers.IthenpresentedthisanalysistomyCTOandSVPofProducttogettheirfeedbackandbuy-in.Wethenjointlypresentedourrecommendationtotheproductmanager.Asaresult,shemodifiedherbehaviorandbecameamuchmorecollaborateteammember.Inretrospect,Iwouldfollowthesameprocesstoovercomethesetypesofissues.
7. DescribeasituationwhereyouhadtotransformanorganizationwithatraditionalwaterfallSDLCintoonewithamoreAgileSDLC?Sameasmyresponsetoquestion5.