hci programming studiocogs121.ucsd.edu/data/uploads/lecture-slides/cogs... · hci programming...

Post on 21-Mar-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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