weekassignment - planning - · pdf filegantt chart with er diagram, uml diagrams, cad drawings...
TRANSCRIPT
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:[email protected]:https://www.halvorsen.blog