Top Banner
CASE STUDY Scenario Smartbank’s CIO feels it needs a change to compete on a level playing field with smaller, more nimble competitors, they want their IT organization to be able to: respond faster to consumer demands increase engineering quality build experiences customers will like, reducing the cost of failure. Each CIO team sits in their own directorate and are brought together on a matrix basis to deliver change, apart from the support team who provide a ticketed service for test/prod deployments and provide 1st and 2nd line support, 3rd line support comes from the components. The product team sits outside of the CIO within the business of the bank. Project Lifecycle The e2e project lifecycle starts with an initiative from the product team, they secure early financial approval and source a project manager to develop a high-level business case, he secures an architects time to provide rough estimates, completes the business case allowing for the creative team and BA’s to be funded and brought onto the project. Work requests are raised into the respective directorates to secure them. Once the BAs and UX designers are mobilized they begin working with the product team to define the requirements and experience, generally these take the form of a wireframe and supporting spreadsheet of MoSCoW requirements in user story format, they work exclusively with the Product Manager to produce them and once he is happy these are complete he signs them off and the Project Manager raises a work request to secure an architects time to do an e2e design identifying impacts on the respective component teams. Once complete the work requests are raised on the impacted components and test team requesting estimates, as trusted individuals detailed estimation is carried out by the most senior engineers and testers in the teams. On receipt of the estimates the Project Manger agrees any changes to the business case and forecasted timelines with the product manager, releases funding and commits the component teams to the delivery scope and timelines. The Product Manager breathes a sigh of relief and the Project Manager gets ready to take the delivery into the SDLC. Once the development starts, the engineering team starts writing code, and testing team starts writing test scripts from the requirements. At the same time, our project manager has to request development and test environments that have to be built by operations team and delivered by the time developers are ready to deploy first batch of code. Once environment is delivered, developers manually build and deploy the first release to test environment and begin “environment shakeout”. Once environment is stable, they notify the testing team that they can start executing tests, and continue to work on the next batch. Testing team goes through the test scripts and raises defects. Some are related to environment instability and some to actual bugs. Our project manager is stressed out and has to drink heavily every night (or, if he is in California or Colorado, resort to other less liquid measures). He runs meetings every morning with developers and testers where they review defects and negotiate their priority.
12

Agile case study

Apr 12, 2017

Download

Technology

Sandy Lee
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile case study

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.

Page 2: Agile case study

SDLCProcessisasfollows:

Page 3: Agile case study

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

Page 4: Agile case study

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.

Page 5: Agile case study

Figure2.Agileteammembersandtheirresponsibilities.

Figure3.Mid-termorgchart.

CIO

VPofProgramManagement

DirectorofProject

Management

DirectorofQA

VPofEngineering

CreagveDirector

DirectorofEngineering

ReleaseManager

VPofOperagons

DirectorofSupport

Level2Support

Level3Support

VPofCustomerService

CallCenter

Level1Support

BusinessGroup

ProductManagement

ProductManagers

Page 6: Agile case study

Figure4.SAFe®⎯ ScaledAgileFramwork.

b) Whatmethods&practicesmightyouadopt,why?

IrecommendthatSmartbankadoptAgileMethodologyasitsproductdevelopmentprocess(seeFigure5).Byembracingthisdevelopmentmethodology,Smartbankwillbeableto:BusinessGoal AgileDeliveryBenefits

Respondfastertoconsumerdemands

Agiledictatesthatproductrequirementsbedisaggregatedintouserstoriesandeachassignedabusinessvalue.Theinitialfocuswillbetodeliverfeaturesthatdeliverthehighestvalueandrequiretheleastamountofeffort,akaMinimalValueProductorMVP.

Increaseengineeringquality

AgilealsorecommendsthatdevelopersembraceTestDrivenDevelopment,whichrequireseachfeatureoruserstorytoincludeacceptancecriteria(asdefinedbyProduct)thatallowdeveloperstoincludebothpositiveandnegativetestcaseswhichwillbeusedtovalidateeachfeatureasitsbeingdeveloped.ThiswillideallycutdownthenumberofbugsfoundduringQAintegrationtesting

Page 7: Agile case study

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.

Page 8: Agile case study

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

Page 9: Agile case study

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.

Page 10: Agile case study

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?

Page 11: Agile case study

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.

Page 12: Agile case study

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.