WeekAssignment - Planning - · PDF fileGantt Chart with ER Diagram, UML Diagrams, CAD Drawings...

Preview:

Citation preview

WeekAssignmentProjectKick-off&Planning

Hans-PetterHalvorsen

https://www.halvorsen.blog

WeekAssignment1. ProjectStart:DefineTeams&Roles2. CreateaSoftwareDevelopmentPlan(SDP)3. TeamBrainstorming(What/How?)4. DevelopmentTools– InstallnecessarySoftware– GetStartedwith“VisualStudioTeamServices

(VSTS)”SeeNextSlidesformoredetails...

AllDocuments,Code,etc.shouldbeuploadedtoVisualStudioTeamServices!

Introduction

Hans-PetterHalvorsen

ProjectKick-off&Planning

“ClosingtheDeal”– TheSoftwareProjectcanStart

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

RequirementsAnalysis

Design

Implementation

Testing

Maintenance

PlanningDeployment

SRS

SDD

STD

Code

InstallationGuides

UserGuides

GanttChart

withERDiagram,UMLDiagrams,CADDrawings

TestDocumentation

SoftwareRequirementsSpecifications

SoftwareDesignDocumentsSystemDocumentation

TestPlan

ProjectPlanning

End-UserDocumentation

SystemDocumentation

SoftwareTestDocumentation

SDPSoftwareDevelopment

Plan

GanttChart

TheSoftwareDevelopment

Lifecycle(SDLC)

Requirements/Design Alpha

Beta RCRTM

Furniture,Flowersandsmalladjustmentsmissing

Buildingstructurefinished,Insideworkontrack

Foundationfinished,buildingstructurestartedPlansmadeandapproved

ReadyforSaleorMovein

A“proof”thatyoucandoit,PoC(ProofofConcept)

DefineTeams&Roles

• ProjectStart:OrganizeyourselfintoTeamsintheclassroomandselect aProject

• Max5Teams• 3-4studentsineachTeam

SeeNextSlidesformoredetails...

TeamsandRoles• Customer/Stakeholders• ProjectManager• SoftwareArchitect• UXDesigner• Developer• Tester• etc.

UXDesigner Programmer

SoftwareTester

ProjectManager

SoftwareArchitect

Collaboration!

Customer/Stakeholders

Eachofyoushouldbealltheserolesinthisproject

SoftwareTester

SystemEngineer

ProjectManager

Programmer/Developer

SoftwareTeams

SoftwareArchitect

UXDesigner

Stakeholders

ASystemEngineerisageneralpersonthatcouldbeaProgrammer,Architect,Designer,Testerindifferentphasesintheproject,orhecouldbeatesterinoneprojectandaprogrammerinanotherproject– allinoneperson.Thatisusuallythecaseinsmallcompanies,whileinlargercompaniestheseroles(designer,tester,programmer)couldbeafull-timejob. 10

Eachofyoushouldbealltheserolesinthisproject

Team1 Team2

Team4

Team3

Team5

PartialDelivery1 PartialDelivery2

PartialDelivery3

PartialDelivery4 PartialDelivery5

IndependentSofwareDevelopmentTeam

CompanyManagement

CustomerTotalDelivery

CEO,CTO,ProjectLeader(s)

ReportStatusandProgresstoManagement

ReportStatusandProgresstoCustomer

Software+Documentation

Software+Documentation

TotalDelivery

ProjectOrganization

Stakeholders

ProductOwner

ScrumMasterProductBacklog

DevelopmentTeam3-9persons

SprintBacklog

Sprint

DailyScrumMeetings

SprintReview

ScrumTeamsandRoles

YouwilllearnmoreaboutAgileSoftwareDevelopment(andScrum)later

Developers

ScrumTeam

RequirementsAllintheTeamshouldbeScrumMasterduringtheSemester

TeamSkills

• Getanoverviewoftheskillsinsidetheteam• Whoisbestsuitedforthedifferentpartsthatshallbesolvedintheproject?

SoftwareDevelopmentPlan(SDP)

• CreateaSoftwareDevelopmentPlan(e.g.3-7pages)

• Alsoreferredtoasthe“CommunicationPlan”orjust“ProjectPlan”

• TheSDPisadocumentthatdescribestheProject,Resources,Communication,Schedule(e.g.Ganttchart),Tools,etc.

SeeNextSlidesformoredetails...

SubmitinCanvas

SoftwareDevelopmentPlan(SDP)

ASoftwareDevelopmentPlan(SDP)isallabouttheInternalCommunicationwithintheDevelopmentTeamandhowitCommunicateswithrestoftheOrganization,theCustomers,etc.

DocumentLocation?

• WewilluseVisualStudioTeamServices(VSTS)tostoreandshareProjectPlanningandSourceCode

• WeshouldalsoshareRelease/FinalDocuments(Wordfiles,Excelfiles,Visiofiles,etc.)inVSTS

• WhileWorkingdocumentsmaybestoredinOneDrive(Word/Exceldocs)orGoogleDrive/DocstomakeiteasyfortheTeamtoworkonthesamedocumentssimultaneouslyinrealtime(Co-Editing).

SharingDocumentsGoogleDocs

Word+OneDrive

TheTeamcanCollaborateandEditDocumentsSimultaneously

2typesco-authoring:• Regularco-authoring• Real-timeco-authoring

https://support.office.com/en-us/article/Document-collaboration-and-co-authoring-ee1509b4-1f6e-401e-b04a-782d26f564a4

OneDrive&Office• OneDriveisapersonalcloudfilehosting,storageandsyncservicefromMicrosoft.

• InWindows10,theOneDrivedesktopappisinstalledandcomesnativelywiththeoperatingsystem.

• AndifyousignintoWindows10withaMicrosoftAccount(MSA),OneDriveisalsoenabledbydefault.

• IntegratedwithOfficeProductslikeWord,Excel,etc.

Real-time co-authoringissupportedonWordforWindowsDesktop2016,andWord,PowerPoint,andExcelOnline.

https://support.office.com/en-us/article/Document-collaboration-and-co-authoring-ee1509b4-1f6e-401e-b04a-782d26f564a4

SoftwareDevelopmentPlan(SDP)ASDPnormallyincludethefollowingsections:1. Introduction:Thisbrieflydescribestheobjectivesoftheprojectandsetouttheconstraints(e.g.,

budget,time,etc.)thataffectsthemanagementoftheproject2. ProjectOrganization(TeamDescription) Thissectiondescribeshowthedevelopmentteamis

organized,thepeopleinvolvedandtheirrolesintheteam.SoftwareProcessModelDescription(Scrum,XP,Waterfall,...),etc.

3. RiskAnalysis4. HardwareandSoftwareResourceRequirements5. WorkBreakdown(WBS,WorkBreakdownStructure):Breakdowntheprojectinintoactivitiesand

identifiesmilestones6. ProjectSchedule:Showsdependenciesbetweenactivities,theestimatedtimerequiredtoreach

eachmilestone,allocationofpeopletoactivities.(5)and(6)istypicallydoneinaGanttChart(createdine.g.MicrosoftProject)

7. MonitoringandReportingMechanisms:DefinitionoftheManagementReportthatshouldbeproduced,whentheyshouldbeproduced,etc.

8. Tools thatyouareusing

Example1

I.Sommerville,SoftwareEngineering:Pearson,2015

Note!Sommerville usethename“ProjectPlan”insteadofSDP

Ch.23ProjectPlanning

SoftwareDevelopmentPlan(SDP)A. ProductDescriptionB. TeamDescriptionC. SoftwareProcessModelDescriptionD. ProjectDefinitionE. ProjectOrganizationF. ValidationPlanG. Configuration/VersionControlH. Tools

http://proquest.safaribooksonline.com/book/software-engineering-and-development/9781449691998/appendix-a/303?uicode=telemark

Example2

Formoredetails,see“EssentialsofSoftwareEngineering”,FrankTsui;OrlandoKaram;BarbaraBernal,3ed.,Jones&BartlettLearning

HereisanotherExampleofSDP:

Dependingonthesizeandcomplexityoftheproject,theplanitselfmaytakeseveralhours

toseveraldaysorweekstodevelop

AppendixA

SoftwareDevelopmentPlan(SDP)A. ProductDescription:Describetheproductandtheclientingeneral.B. TeamDescription:Describethestrengths/skillsneededfortheteammembersofthisproduct.Giveoverviewof

Teammembersandtheirskillsandroles.C. SoftwareProcessModelDescription:Describethemodel(e.g.,iterativeScrum,XP,ormodifiedwater- fall)tobe

usedforthisproject.Includejustificationsfortheprocessmodelchoice.D. ProjectDefinition:Describetheusersandtheuserenvironment.Includenovice/expertdescriptions.Consider

creatingdifferentpersonaswithdifferentneedsandmotivations.Fortheuserenvironmentincludethesoftwareusedpreviously,othersoftwareusedinconjunction,andthelookandfeelofthecontemporarysoftwaregenre.Canincludeusecasesoftheproduct,workflowdiagrams,and/orbusinessflow.

E. ProjectOrganization:Includeworkbreakdownstructure(WBS)oftheproject:thescheduleoftheteam'stasks;dependenciesofthetasks;estimatedtimeforeachtask;andPERTandGanttchartswithcriticaltime,budget,andBIDtotheclientwithsignaturerequired.

F. ValidationPlan:Createsomedraftinputandoutputscreensaslow-levelprototypetovalidatetheinitialunderstandingoftheproduct.

G. Configuration/VersionControl:Specifytheprocessandattributesforversioncontrolofallprojectandproductartifacts.

H. Tools:Providealistofmajorsystem,subsystem,andtoolsrequiredfordevelopment.

GanttChart• YoumaycreateasimpledraftoftheGanttChartusingMSProjectthisweek.

• Importantmilestones,deadlinesandavailablehumanresourcesshouldbepartoftheProjectPlan(seethecourseschedule)

• ItshouldbeincludedintheSoftwareDevelopmentPlan(SDP).

• Moredetailswill/shouldbeaddedintheNextWeekAssignmentaftertheRequirementsAnalysis

Brainstorming

• PerformaBrainstormingsessioninsideyourTeam,i.e.,findoutwhatyoushalldoandhowtodoit(thebigpicture– notdetails yet)

• WriteaSummary(e.g.,1-5Pages)

SeeNextSlidesformoredetails...

BrainstormingTheBrainstormingshouldinclude:• High-levelSoftwareRequirements– Whatyoursystem/applicationsshoulddo

• High-levelSoftwareDesign– Howyourapplicationshallworkandoperate– Whatisthepurposewiththeapplication– Simpleuserinterfacedesign sketches,flowcharts,etc.

Note!Thiswillbeafirstdraft,moredetailswillbe/shouldbeaddedlater.

High-LevelRequirements

DetailedRequirementsvs.

High-LevelRequirements• WHAT shouldthesystemdo?• Whoshouldusethesystem• Whatisthepurposewiththesystem?• Performance• Whatpartsshouldthesystemconsistsof• WhatPlatformsshouldbeused(PC,Tablet,Web?,...)• etc.- UseWordsandFiguresinordertodescribetheseRequirements

DetailedRequirements• WhatPlatformsshouldbeused(Windows,iOS,...)inmoredetail• ToolsandLanguages• SoftwareArchitecture()• Frameworks(.NET,ASP.NET,...)• DetailedGUIdesignsketches• UMLDiagrams• ER(Database)Diagrams• CADDrawings• etc.

Thesethingswillbethefocusthenext2-3weeks(notthisweek)

TypicalSoftwareDocumentation

High-LevelRequirementsandDesignDocuments

UserManuals

SystemDocumentation

InstallationGuides

TestPlans

TestDocumentation

DetailedRequirementsandDesignDocuments

ERDiagram(Database)UMLDiagrams(Code)

Time

Start

Finish

HowtoTest/WhattoTest

CADDrawings,etc.

1.Planning

2.Testing

3.End-userDocumentation(Thepeoplethatshallactuallyusethesoftware)

TechnicalStuff

Howtouseit

Howtoinstallit

Proofthatyouhavetestedandthatthesoftwareworksasexpected

(Thestakeholders,thesoftwareteam;architects,UXdesigners,developers)

(QApeople)

(SuperUser/ITdep.)

WHATHOW

(EndUser)ProjectM

anagem

ent(Ga

nttC

hart,etc.)

(SRS)(SDD)

(STP)(STD)

SoftwareDevelopmentPlan (SDP)

2.Requierements/Design

“TraditionalSchoolProject”vs.“RealLifeSoftwareDevelopmentProject”

One Reportwith“everything” SoftwareDevelopmentPlan

RequirementsandDesignDocuments

SystemDocumentation

TestDocuments

InstallationGuides

UserGuides

One documentwrittenby3-6studentstogether

Manydocumentswrittenbydifferentpeopleandintendedfordifferentpeople

SoftwareinstalledatCustomerorSetupavailablefordownload/DVD

Doesthesystemworks?Hopefully– butneverusedortestedbythereader,Customer(orthestudents?)

Thesoftwareistheheartandneedstoworkproperly– otherwisethecustomercannotuseitandwillnotpayforit!

Weshalldoitlikethisinthiscourse!

DevelopmentTools1. InstallnecessarySoftware:

– MicrosoftVisualStudioEnterprise (MicrosoftImagine)– SQLServer (“SQLServerExpressisrecommended)– MicrosoftVisio Professional(MicrosoftImagine)– MicrosoftProject Professional(MicrosoftImagine)– ERwin (CAERwin®DataModelerCommunityEdition)(freedownloadfromInternet)– SkypeforBusiness(PartofOffice365)– (WebServer:InternetInformationServices(IIS)– PartofWindows,butnotinstalledbydefault)

2. GetStartedwithVisualStudioTeamServices(VSTS)– CreateanAccountandaNewTeamProject– AddTeammembers,giveAccesstotheSupervisors(Stakeholders)– CreateagoodFolderStructureforyourDocumentsandCode– CreateIterations&Areas– UploadDocumentscreatedsofar(SDP,BrainstormingNotes,...)

SeeNextSlidesform

oredetails...

VisualStudioTeamServices

Hans-PetterHalvorsen,M.Sc.

(VSTS)

VisualStudioTeamServices(VSTS)• WewilluseVisualStudioTeamServices(VSTS)asoursoftwarecollaborationplatformforoursoftwarelifecyclemanagement(SDLC).

• HerewewilladdRequirementsandDesigndocuments,addTasks,SourceCode,reportBugs,etc.

• VSTSislocatedhere:http://www.visualstudio.com

TeamFoundationServer(TFS)vs.VisualStudioTeamServices(VSTS)

https://en.wikipedia.org/wiki/Team_Foundation_Server

TeamFoundationServer(TFS)

VisualStudioTeamServices

(VSTS)

“TeamFoundationServer”(TFS).Thisissoftwareyoucaninstallonaserverinyourownnetwork.YouandyourteamcanthenhookupVisualStudiotothatserveranduseTFS.Youhavetobuythesoftware,buylicensesforusersanduseyourownserver.

“VisualStudioTeamServices”(VSTS)isanonlineversionofTFS– hostedbyMicrosoft.Youdon'tneedtoinstallanything,youjustpayamonthlyfee(until5usersisforfree).VSTSisavailablefromhttp://www.visualstudio.com

vs.

VisualStudio

VisualStudiodon'tcareifyouuseTFSorVSTS.YoujusthookitupusinganURL.

• TeamFoundationserver/VisualStudioTeamServices(VSTS)isanApplicationLifecycleManagement(ALM)system,– i.e.,thesystemtakescareofallaspectsinsoftwaredevelopment– fromplanning,requirements,coding,testing,deploymentand

maintenance.– AgileandScrumworkflowareincluded

• TFSisaSourceCodeControl(SCC),BugTracking,ProjectManagement,andTeamCollaborationplatform

• TightlyintegratedwithVisualStudioasMicrosoftisthevendorofbothVisualStudioandVSTS

• Cloudbasededition(HostingService):“VisualStudioTeamServices”(VSTS)

WhatisTFS/VSTS?

TFS/VSTS

TFS/VSTS

Visual Studio

LabVIEWServer Clients

FileExplorer

Repository

Services

TeamExplorer

MSSCCIProvider

PowerTools

MS Excel

MS Project

Others

Web Access

SQLServer(TFVC)

TeamFoundationServer(TFS)isanApplicationLifecycleManagement(ALM)system

Git

Eclipse

RequirementsAnalysis

Design

Implementation

Testing

MaintenancePlanningTheSoftware

DevelopmentLifecycle(SDLC)

Deployment

TFS/VSTS

TFS/VSTSisanApplicationLifecycleManagement(ALM)System

SourceCodeControl(SCC)

BugTracking

ProjectManagement

CollaborationPlatformScrum

Agile

VisualStudio

SDLCManagement

MSExcelMSProject

VSTSRepository

WorkingwithVisualStudioTeamServices

Developer#1 Developer#2

Developer#3

VisualStudio VisualStudio

VisualStudio

SQLServer

SQLServer

SQLServer

CreateDocuments,Code,DatabaseScripts CreateDocuments,Code,DatabaseScripts

CreateDocuments,Code,DatabaseScripts

GetLatestVersionGetLatestversion:Somebodyelsemayhavemadesomechangesinthecode,documents,etc.Makesureyoualwaysgetthelatestversionbeforestartworking.

CheckIn:WhenCreatingNewCode/DocumentsorhavemadeChangestoExisting.MakesuretoCheckInoften!

CheckOut:Wanttomakechanges?YouneedtoCheckOutfirst!

LatestversionofCode/DocumentsisalwaysontheServer.Youwillalsofindpreviousversions,historyofwho/whenCheckInandOut,etc.

Cloud/Internet

CopyofCode,Database&Documents

CopyofCode,Database&Documents

CopyofCode,Database&Documents

❗Itisrecommendedthatyouingeneralworkwithdifferentpartsofthecodetoavoidproblems(->Module-based)

VisualStudioTeamServicesEachTeamneedstocreateaVSTSAccount:

https://usnYY-teamX.visualstudio.com

www.visualstudio.com

TypetheNameofyour Project

Makesuretoselecttheseoptions!!

Scrum

TeamFoundationVersionControl(TFVC)

DonotselectGit!

ProjectStartPage

ClicktoAddTeamMembers

AddSupervisorsasStakeholders

VSTSinVisualStudio

ClickheretoopentheProjectinVisualStudio

VSTSinVisualStudio

44

CreateagoodFolderstructureforyourDocumentsandthe

SourceCode

OpenSourceControlExplorer

CreateagoodFolderstructureforDocumentsandCode

• OpentheSourceCodeExplorerinVisualStudio• DefineproperFoldersinsideyourproject

45

Areas&Iterations

CreateIterations(Scrum:Sprints)forthedifferentreleases,milestones(internalandexternal);e.g.,Alpha,Beta,RC,RTM

“Hierarchicalstructure”foryourdifferentModules.ThedifferentsoftwaremodulescouldbedividedintodifferentAreas

Wanttolearnmore?

https://www.halvorsen.blog

https://www.halvorsen.blog/documents/programming/software_engineering

FreeDownload(PDF)

FreeTextbook,Videos,andotherResources

Hans-PetterHalvorsen

UniversityofSoutheastNorwaywww.usn.no

E-mail:hans.p.halvorsen@usn.noWeb:https://www.halvorsen.blog

Recommended