COGS 121 HCI Programming Studio
Spring 2016
Instructor: Nadir Weibel
Amy Rae Fox
Jesse Qin
Jasmine Roberts
Andrew Du
Brian Soe
Website: cogs121.ucsd.edu
Jingchun Zhou
Jacob Browne
Project Managementwhat it is (and isn’t!)
understanding the SDLCmaking a productive teamagile vs. waterfall methods
the role of designtips and tools
What is a Project?
a temporary endeavor undertaken to create a unique product, service or result
Project Management Book of Knowledge, 2004
What is Project Management?
The application of knowledge, skills, tools, and techniques to project activities
to meet the project requirements.
Project Management Institute, 2004
• a discipline and profession
• a set of practices that anyone can (and should!) apply
• governed by the Project Management Institute, which sets standards and administers certifications
• knowledge codified into the PMBOK: Project Management Book of Knowledge
Project Management
www.pmi.org
• management of resources & constraints to meet a goal as efficiently as possible– Resources: Time, money, people, equipment– Constraints: preceding task completion
• a science or an art? – Science: based on statistical means & norms– Art: based on intuition into human behavior
Project Management
Balancing the known and unknown in a chaotic and risk-filled environment in order to achieve a more predictable result
16
The Emergence of Standardized PM
• Organized as a formal Discipline in 1917• Henry Gantt introduced standardized PM tools • Gantt Chart – visual tracking of tasks and
resources, including relationships between tasks• Created out of need and frustration as
industrialization became ever more complex• Little change to PM for another 40 years
Project Management
www.pmi.org
Initiating
Planning
Executing
Monitoring and Controlling
Closing
ScopeTimeCostQualityHuman ResourcesCommunicationRiskProcurementStakeholdersIntegration
5 Processes 10 Knowledge Areas
Project Management Book of Knowledge, 2004
develop project plan
manage project work
collect requirements & define scope
perform quality assurance
manage project team
What’smostrelevanttous?
Project Management in Software Development
Managing the SDLC Systems Development Lifecycle
“Waterfall”
Plan Analyze Design Build Test Deliver
Enter agile…
The Agile ManifestoWe are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Manifesto for Agile Software Development, 2001
AgileProjectManagement
• Premise:softwareprojectsareunpredictableandmarketuncertaintyisgoingtodrivechange.
• Requirementswillneedtochangeoverthelifeoftheproject,andthemoreuncertaintheprojectis,themoretheorganizationshouldplantoadapt
• Projectrequirementsshouldbewrittenasthinverticalslicesoftheoverallsystemandconstructedinsuchawaythattheyaremostlyindependent,whichallowsthemtobeprioritizedandimplementedinanyorder.
AgileProjectManagement
A philosophyA set of practices and methodsResponsive to change Focused on development
Better for all projectsAn excuse to not planBuild first, design laterAn excuse to not document
IS IS NOT
and others…
“Agile”
Plan Analyze Deliver
Design
Build
Test
Deliver
Plan
“Waterfall”
Plan Analyze Design Build Test Deliver
Requirementsthe“needs”thesystemneedstofulfill(functional,non-functional)DesignsdecisionsonhowtomeetrequirementsActivitiesunitsofwork
Featuresimplementationofdesignstomeetrequirements
Milestonescheckpointsinaprocess
Deliverablestangibleoutcomesdeliveredtothecustomer
Concepts
9
ToolsGanttChart:Abarchart.Whilevisuallyappealingonatask/durationbasis,itislimitedbecauseitdoesnotshowtaskorresourcerelationshipswell.Strength:easytomaintainandread.
19
9
ToolsNetworkDiagram:Awirediagram,AlsoknownasaPERTnetworkdiagram.Adiagramthatshowstasksandtheirrelationships.Limitedbecauseitshowsonlytaskrelationships.Strength:easytoreadtaskrelationships.
20
ProjectControlWorkwiththeclienttodeterminetheprojectneeds&constraints(ANALYZE)Defineprojectmilestonesanddeliverables(PLAN)
whileprojecthasnotbeencompletedorcancelled(EXECUTE) Drawupprojectschedule Initiateactivitiesaccordingtoschedule Wait(forawhile) Reviewprojectprogress Reviseestimatesofprojectparameters Updatetheprojectschedule Re-negotiateprojectconstraintsanddeliverables if(problemsarise)then Initiatetechnicalreviewandpossiblerevision endifendloop
Closeproject(DELIVER)21
22
An example…Writingaresearchpaper
23
Requirements:definedbytheassignment,andmyexpectations—>IwilllisttheseinarequirementsbacklogDesignsdecisionsonhowtomeetrequirements—>IwillmakeaproposalsoIcanrememberandgetapprovalfrommyprofessorActivitiesworkIneedtodotomeettherequirements—>Iwillorganizetheworkintologicalunits—aworkbreakdownstructure(WBS)
Featuresthecontentsandqualitiesofthepaper—>Iwillactuallydothework:-)
Milestonesthecheckpointstokeepmyselfontrack—>I’lldefinetheseintheWBSandschedulethemintheprojectplan
Deliverablestangibleoutcomesdeliveredtothecustomer—>I’lldefinetheseintheWBSandschedulethemintheprojectplan
1:RequirementsDefinition{productgoals}
– 20pages– Doublespaced– Onatopicaddressingaquestionoftheeffectivenessofagileandwaterfallmethods
– Includesaliteraturereview– Includesaproposalforaresearchstudy– Includeshypotheses&expectedresults– IEEEcitationformat– Referenceatleast10peer-reviewedpapers
2:WorkBreakdownStructure{logicalunitsofworktoaccomplishgoals}
1. PlanningA. Picktopic&researchquestionB. BrainstormpotentialresearchstudiesC. MakelistofpaperstoreadD. DocumentA-CinaproposalE. Discussproposalwithprofessor
2. ResearchingF. ReadresearchpapersG. Documentkeyideas
3. WritingH. OutlinepaperI. WritefirstdraftJ. Discussdraftwithprofessor
4. Editing&PolishingK. RevisedraftL. CheckreferencesandcitationformatM. ChecklengthandformattingN. ProofreadO. Submitpaper
milestone
milestone
milestone
deliverable
deliverable
deliverable
3:ProjectPlan…partofitactivitynetworkdiagramtofindactivitydependencies
3:ProjectPlan…partofitganttcharttoestimatetimeandschedulewithdependencies
canalsoreflectassigned“resources”(people),andtoseetheirworkallocations(howmanyhourstheyareassigned)
ProjectManagementTools
• Trello• Basecamp• Jira• Asana• Github+ZenHub• Tom’sPlanner• Gantter• Github+Zenhub
28
Trello
• Highlyvisual• Flatandsimple• Boards,ListsandCards
• mobileappsavailable
https://trello.com
Basecamp• MorestructureandPMtools
• to-doswithdeadlines• projecttemplates• timetracking• invoicingtools• filebackupa• synchronizingtools• softwaredevelopmenttools.
• Mobile
https://basecamp.com
Jira• ProjectTracking• Agile,Developmentsupport• ProjectPlanning,IssueTracking
• CodeIntegration• Mobile• ConnecttoLDAPandActiveDirectory
• BugTracking• GitIntegration• 1000'sofAdd-ons• OnDemandorHosted• FreeforOpensourceprojects
• eMailNotifications
Gantter
• Web-based,canaddaschromeextension
• EASYtocreateWorkBreakdownStructure
• Ganttchartwithmultiplepeopleandexternalresources
• GoogleDriveintegration
• Exportcapabilities• FREE
Github+Zenhub
• Githubforfreecoderepositoryandsourcecontrol
• Zenhub(FREEChromeextension)addskanban-styleboardsfeaturestoGithubissues
Cloud-based“connectors”
• Zapier:https://zapier.com/• Cloudwork:https://cloudwork.com/
• IFTTT:Ifthisthenthat:https://ifttt.com/
Amy’sPersonalRecommendation
TrelloFor capturing requirements and sorting them into priorities
+
GantterTurning requirements into a WBS and scheduling w/ dependencies
+
Github+ZenhubSource control + feature tracking linked to commits *
Amy’sAdvice
• Usedeliverableandplanningtemplates• UseasystemlikeGoogleDocsorSlacktorecord&documentyourteammeetings,withspecialattentiontoactionitemsanddecisions
• TakethetimetomakeaGanttchart,andkeepitupdatedbasedonyourprogress
• Keepyourprojectplanfairlysimple(nottoodetailedattheactivitylevel),butsetclearmilestones(withdates!)andsticktothem
• Learnthelingo…itmayhelpyougetajob!36
References
ProjectManagementInsmtute.(2004).Aguidetotheprojectmanagementbodyofknowledge(PMBOKguide).NewtownSquare,Pa:ProjectManagementInsmtute.TaskForceonPMCurricula(2015).PMCurriculumandResources.NewtownSquare,Pa:ProjectManagementInsmtute.Beck,Kentetal."ManifestoForAgileSopwareDevelopment".Agilemanifesto.org.N.p.,2001.Web.25Mar.2016.
Want to learn more about PM practices, certification, templates? See Amy at office hours - before class on Thursdays
1. Customer satisfaction by early and continuous delivery of valuable software
2. Welcome changing requirements, even in late development3. Working software is delivered frequently (weeks rather than
months)4. Close, daily cooperation between business people and developers5. Projects are built around motivated individuals, who should be
trusted6. Face-to-face conversation is the best form of communication (co-
location)7. Working software is the principal measure of progress8. Sustainable development, able to maintain a constant pace9. Continuous attention to technical excellence and good design10. Simplicity—the art of maximizing the amount of work not done—is
essential11. Best architectures, requirements, and designs emerge from self-
organizing teams12. Regularly, the team reflects on how to become more effective, and
adjusts accordingly
Top Related