leadership release management continuous integration

20
1 Leadership Release Management Continuous Integration october 9, 2013

Upload: others

Post on 01-Dec-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

1

LeadershipRelease ManagementContinuous Integration

october 9, 2013

2

Significant Semester Requirements

§ 15% Participation:in-class,atmeetings,setupmeetingsintimelymanner,weeklystatusreports(individualgrade)

§ 15% Writing:executivesummary,projectplan,designdocumentation(teamgrade)

§ 15% Deadlines:sprintdeadlinesmetandmeetingplanningdoneintimelymanner(teamgrade)

§ 15% UserTesting:evidenceusershavetested,feedbackreport(teamgrade)

§ 15% UserFriendlyDesign:easy,non-programming,wayforusertochangeclientdata(teamgrade)

§ 25% ClientSatisfaction:clientconsistentlyreportsgoodprogress(teamgrade)

3

Discussion Topics§ Pre-SprintPlanning§ Definetasks/storiesandestimates

§ SprintPlanning§ManagementvsLeadership§ SoftwareReleaseManagement§ContinuousIntegration

4

Pre-Sprint PlanningBeforeSprintPlanningcanbegin,theteamneedstohavethetasks/storiesdefinedandestimated.Thisisdoneaspartofpre-sprintplanning.

§BreakRequirementsintoTasks§ GothrougheachProductBacklogitemselectedfortheSprint.Breaktherequirementsintotasks.

§ShrinkTaskstoImprovetheTask-BasedBurndown.§ Agood,informativetask-basedburndownchartdependsontherebeingmanysmalltaskstoburndown.

5

Sprint PlanningThepurposeofSprintPlanningisfortheProductOwnerandtheteamtonegotiatewhatshouldbeaccomplishedduringthesprint.§SettheSprintBudget§ Firstcalculatetheteam’sSprintBudget.ThisistheavailablenumberofhourstheteamhastoworkontheSprint.

§ Then,makeanyreasonabledeductionsfortimethatteammemberswillnotbeabletospendworkingontheSprint.Deductholidays,anyknownmeetings,anytimelikelytobespentworkingonotherprojects,etc.Basedonpastexperience,deductareasonableamountoftimeforsupport,ifappropriate.

§EstablishStableVelocity§ Useyournormalsprintplanningprocessforeachsprintuntilyoucandemonstratestablevelocity.

§BuildtheSprint§ AddtaskstosatisfytheSprintBudgetandvelocity.§ Identifystretchtaskstocovertimeswhentheteamunder-commitsorover-estimates.

Calculating VelocityVelocityishowfastyouaredevelopingyoursoftware.

InScrum,VelocityishowmuchproductbacklogeffortateamcanhandleinoneSprint.

Let'sconsiderthefollowingexample.

Ateamof5developersworkedontheprojectweareestimating.TheSprintlengthis2weeks.InthisSprinttheycommittedtocompleting25storypoints.

TeamMember HoursWorked

Julie 16

Adam 10

Sam 14

Mary 16

Ann 14

Sum: 70

Theteamdeliveredsoftwareworth25storypointsin70hours.

7

Management vs LeadershipWhatistheDifferenceBetweenManagementandLeadership?

§ Leadershipandmanagementmustgohandinhand.

§ Workersneedtheirmanagersnotjusttoassigntasksbuttodefinepurpose.

§ Managersmustorganizeworkers,notjusttomaximizeefficiency,buttonurtureskills,developtalentandinspireresults.

8

Management vs Leadership§ Themanagermaintains;theleaderdevelops.

§ Themanagerfocusesonsystemsandstructure;theleaderfocusesonpeople.

§ Themanagerreliesoncontrol;theleaderinspirestrust.

§ Themanagerhasashort-rangeview;theleaderhasalong-rangeperspective.

§ Themanageraskshowandwhen;theleaderaskswhatandwhy.

§ Themanagerhashisorhereyealwaysonthebottomline;theleader’seyeisonthehorizon.

§ Themanagerimitates;theleaderoriginates.

§ Themanageracceptsthestatusquo;theleaderchallengesit.

§ Themanageristheclassicgoodsoldier;theleaderishisorherownperson.

§ Themanagerdoesthingsright;theleaderdoestherightthing.

9

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ Helpsmakesoftwarebuildssimple,quickandreliable

§ Helpstakecareofconfigurationmanagement.

§ Helpsdrivesoftwarequality.

§ HelpsoptimizedevelopmentandQAtime.

§ Speedsuptimetomarket.

10

11

12

Release Mgmt in Repository

13

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ Helpsmakesoftwarebuildssimple,quickandreliable.§ Thisisachievedbyemployingthebesttoolsforthejob.Thismeansunderstandingallthevariousbuildtools,seeinghowtheyintegratewiththesystemsthatalreadyexistintheworkplace,andmakinganinformedchoice.

14

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ Helpstakecareofconfigurationmanagement.§ Softwareconfigurationmanagement(SCM)isthetaskoftrackingandcontrollingchangesinthesoftware,partofthelargercross-disciplinefieldofconfigurationmanagement.”

§ SCMpracticesincluderevisioncontrol andtheestablishmentofbaselines.Ifsomethinggoeswrong,SCMcandeterminewhatwaschangedandwhochangedit.

§ Ifaconfigurationisworkingwell,SCMcandeterminehowtoreplicateitacrossmanyhosts.

15

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ HelpsoptimizedevelopmentandQAtime.§ Bygivingthedevteamthefeedbackonthequalityoftheircodeandtellingthemwherethey’regoingrightandgoingwrong,we’rehelpingthemtargettheirefforts.

§ Byprovidingthesesolutionsforthem,doingthebuilds,configurationsandreleases,thedeveloperscangetbusydoingthestuffthey’reskilledatdoing.

§ FortheQAteam,we’refindingdefectsandfailingreleasesbeforethereleasesevengettothem.

16

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ Speedsuptimetomarket.§ Makingbuildsquicker,easierandmorereliable,acceleratestheprocessoffinetuningcodequality.§ ThisalsohelpsidentifydefectsbeforeQAstartsandtheprocessofreleasingthesoftwareintoproductionquickerandsimpler.

§ Thissavessignificantdevelopment,QAandoperationsandsoournew,higherqualitysoftware,canbereleasedefficientlyintoproduction.

17

Software Release ManagementSoftwarereleasemanagementencompassestheidentification,packaging,anddeliveryoftheelementsofaproduct.Thisincludesexecutableprogram,documentation,releasenotes,andconfigurationdata.

Benefits§ Helpsdrivesoftwarequality.§ ThankstotheContinuousIntegrationprocess,andthetoolsthathavebeenbuiltaroundit,it’snowpossibleforustobuildsoftwareeverysingletimeapieceofcodeischeckedin,runasuiteofunittests,analyzethecodeforlazyprogrammingandreportontheamountoftestcoverageaprojecthas.

§ Jenkins isanopen-sourcecontinuousintegration softwaretoolwrittenintheJava programminglanguagefortestingandreportingofdefectsinanautomatedfashion.

18

Continuous IntegrationContinuousintegration(CI)isthepractice,insoftwareengineering,ofmergingalldeveloperworkingcopieswithasharedmainline severaltimesaday.Itsprimarypurposeistopreventintegrationproblems.

ContinuousIntegrationwithautomatedtestexecutionhasseenbroadadoptioninrecentyears.TheideasbehindContinuousIntegrationhavechangedhowcompanieslookatBuildManagement,ReleaseManagement,DeploymentAutomation,andTestOrchestration.

JenkinsisapopularindustryCItoolwhichprovidesaneasy-to-usecontinuousintegrationsystem,makingiteasierfordeveloperstointegratechangestotheproject,andmakingiteasierforuserstoobtainafreshbuild.Theautomated,continuousbuildincreasestheproductivity.

Continuous Integration Example 1Basicconfiguration.

Continuous Integration Example 2Basicconfigurationplusautomatedtesting.