agile case study

Post on 12-Apr-2017

44 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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.

top related