application specific computing - asc.ziti.uni-heidelberg.de · 2017 a. kugel, projects 9 asc larger...

Post on 14-Sep-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2017 A. Kugel, Projects 1

Application Specific Computing

Project Organization

2017 A. Kugel, Projects 2

ASC

Slides and Resources

https://asc.ziti.uni-heidelberg.de/teaching/tools

2017 A. Kugel, Projects 3

ASC

PTG Wrap-Up● Lessons learned (if you actually did PTG …)

– Start early => finish early is a lie if W > 1● Little’s law: L = W / λ

– (L : lead time, W: work items, λ: throughput)

– Overhead on human multitasking is BIG● Makes Little’s law worse!

– Parallel work● PUSH work through system● piles-up work => waste on changes

– Sequential work● PULL work through system● Reduces lead time

2017 A. Kugel, Projects 4

ASC

More on Team Psychology ...● Values and

development square– Friedemann

Schulz von Thun

● Four-sides model– Friedemann

Schulz von Thun

● Drama triangle– Steven

Karpman

2017 A. Kugel, Projects 5

ASC

Projects● Project components

– A goal. Typically not well defined– A deadline. Often arbitrarily close– Some resources. Manpower, money, equipment, ...– Complexity. Management needed

● Management– Requirements– Tasks– Schedule– Risks

Resources

2017 A. Kugel, Projects 6

ASC

Planning Phases● Draft

– Initial sketch– Go/NoGo decision

● Refinement/Analysis– Collect information, brain-storming– Definition of requirements + tasks

● Implementation (of the plan)– Schedule, man-power, budget

● Execution– Perform tasks

● Team? Responsibility? Power?– Controlling

Iterations

2017 A. Kugel, Projects 7

ASC

Planning Process● Similar to SW development process,

e.g. waterfall methodology (Bell, Thayer)

1)Capture requirements

2)Design

3)Implement

4)Evaluate● Iterative!

wikipediaAnalysis

Implementation

Execution

Often different teams at

different phases

2017 A. Kugel, Projects 8

ASC

Simple Projects● Single-person, no-budget

– Still with goal, deadline, complexity and risk● E.g. your master-thesis

● Overall goal + deadline: obvious● Analysis

– Information: topics, literature, skills, external dependencies, ...– Requirements: functionality, performance, language,...– Risks: incorrect assumptions, doesn't work, too slow, too late, ...

Plan-B (several?)● Define tasks, dependencies + milestones

– Plan● Do your work!

– Reserve time for controlling/monitoring

Documentation + data management SWMindmaps, Wikis, etc

Project planning SW

2017 A. Kugel, Projects 9

ASC

Larger Projects● Human + financial resources● Same structure as before plus

– Resource management– Teamwork

● Team (see last session)– Skills: hard (task relevant) + soft (team relevant)– Personal “issues” (team/self-oriented, character, ...)– Cultures (result vs relationship / change vs. stability)– Phases: orientation, conflicts, organization, performance– “Structure”

● Hierarchical: responsibility with leader (… traditional)● Flat: responsibility with team (… agile)

● Even larger projects => ERP (enterprise resource planning)– E.g. openerp.com (now Odoo)

Consider even on short-term

student groups

2017 A. Kugel, Projects 10

ASC

Team Hints● Keep in mind: even small (>1), short-term groups are

teams● Without explicit team-structure “members” will

underperform due to competition for leadership, unclear responsibilities/tasks or personal habit– Results will be sub-optimal and/or late– Work will be less fun– Even with explicit structure the above might happen

● Without leader, members should agree on goals, responsibilities and milestones– As early as possible– Every member can request this to be done

Maybe doesn't matter so much

But this one does

2017 A. Kugel, Projects 11

ASC

Software Tools● Information

– Collection● Textfiles, databases● OneNote (MS)● Wikis: ZimWiki

– Visualisation● Drawings, diagrams● Maps

– Cmap– MindManager (more powerful)

● Plan– MS-Project– Projectlibre– Agile (Kanboard)

2017 A. Kugel, Projects 12

ASC

Information Collection

2017 A. Kugel, Projects 13

ASC

Information Handling Software● Wiki: „The simplest online database that could

possibly work.“ (www.wiki.org)– Wikis are frequently used to collect information on

WWW servers– Users can change content and structure of the data

● Data: text + document attachements (images, multimedia, doc files, etc) + formatting

● Structure: All content is held in „pages“. Page cross-references can be changes

● Zim Wiki is a desktop based Wiki– Multiple „books“– Wiki-like GUI

2017 A. Kugel, Projects 14

ASC

Starting● Start ZIM from menu

or type zim on the command line

● Create or select a notebook– Select default book

2017 A. Kugel, Projects 15

ASC

Configuration● Select plugins

(edit=>settings=>plugins)– Alphabetic sort– Task list– Attachment browser– Screenshot (if avail.)– Calendar– Tags– Calculator

● Edit first page– Text– Tags: @theTag

● Search / Topics– Backlinks: :target

● Search / Structure

2017 A. Kugel, Projects 16

ASC

Get Started Video => Extra Material

2017 A. Kugel, Projects 17

ASC

Pages● Create a couple of

pages and sub-pages● Pages can be moved● Or renamed● Or linked to

– drop to text area● Markdown subset

– Links (http://...)– * Lists

2017 A. Kugel, Projects 18

ASC

Add content● Apart from formatted

text, we can add documents links ...

● and images● We can also add files

via the „attachement folder“ or via the tools menue

● Clicking links starts the application (e.g. openoffice)

2017 A. Kugel, Projects 19

ASC

Search● Search for plain text,

tags (with @) or for backlinks (to current page)

● Adding a backlink to a page (e.g. :top:sub) creates that page

● Pages searchable via desktop tool too (e.g. recoll)

2017 A. Kugel, Projects 20

ASC

To Do's● Pages can contain to-do

items, with due dates and priorities– [] ToDo [d: 01-02-2013]!!!

● All items are listed in the to-do view (need index rebuild)– Not aware of interface to

external calendar tools http://zim-wiki.org/manual/Start.html

2017 A. Kugel, Projects 21

ASC

CMAPs

Demo ...

2017 A. Kugel, Projects 22

ASC

Step 1

Start “CmapTools”

Login with some pwd

2017 A. Kugel, Projects 23

ASC

Step 1.5

2017 A. Kugel, Projects 24

ASC

Step 2● Select root folder in

user area

2017 A. Kugel, Projects 25

ASC

Step 3● Default new map is created automatically● Create new folder, save map into

2017 A. Kugel, Projects 26

ASC

Step 4● Drag sources into new

folder from file browser● Switch between

tree/symbol view● NB: German word for

„Löschen“ is „Keine Treffer“

2017 A. Kugel, Projects 27

ASC

Step 4 -Video => Extra Material

2017 A. Kugel, Projects 28

ASC

Step 5● Create map with concepts (boxes) and propositions

(arrows)● Drag sources from repository view● Use colors, infos, comments, containers, links● Layout options: manual, auto layout● Create sub-maps

2017 A. Kugel, Projects 29

ASC

Step 6● Export CMAP to HTML

– Flat folder structure with all files, except comments

Example: copy “tools” folder from resources into “My_Cmaps”Might need to “fix links” in all cmaps

2017 A. Kugel, Projects 30

ASC

Project Planning Software

2017 A. Kugel, Projects 31

ASC

Planning Software (Traditional)● Basic functionality

– Definition of tasks and milestones● WBS – work breakdown structure

– Allocation of resources● RBS – resource breakdown structure

– Scheduling and dependencies– Monitoring

● Real projects are dynamic– Progress monitoring– Schedule updates

● Options: e-mail alerts, interfaces

GraphicalText/table based

2017 A. Kugel, Projects 32

ASC

Projectlibre● Serves basic functionality

plus dynamic updates● Limited compatibility to

MS Project

http://www.projectlibre.org/

2017 A. Kugel, Projects 33

ASC

Create Project

2017 A. Kugel, Projects 34

ASC

Add Tasks

● Gantt view● Add task names● Edit tasks via

“Infomation” tab

2017 A. Kugel, Projects 35

ASC

Add Resources

2017 A. Kugel, Projects 36

ASC

Assign Resources

2

1

3

2017 A. Kugel, Projects 37

ASC

Assign Dependencies● Set appropriate task

durations● Depends on ...

– Enter task number of predecessor(s)

– GUI: click on 1st task, pull to 2nd task

● Task start/end moved, dependency arrow

● Dependency options– End-Start (EA)– End-End (EE)– Start-End (AE)– Start-Start (AA)

2017 A. Kugel, Projects 38

ASC

Save Baseline● Baseline saves target

schedule– Indicated by gray lines

2017 A. Kugel, Projects 39

ASC

Changes ...● Tasks● Effort● Resource● Example: day off

– Change availability of resource

– Update planning– New Gantt schedule

indicates slip wrt baseline

2017 A. Kugel, Projects 40

ASC

Milestones

2017 A. Kugel, Projects 41

ASC

Resource Utilization

2017 A. Kugel, Projects 42

ASC

Other Views● Pert diagram

(Netzplan)– Project evolution and

review technique– Dependencies, critical

path● WBS (PSP)

– Structure, top-down levels, no timing

● RBS– Resources

2017 A. Kugel, Projects 43

ASC

Large Projects

6 months300 tasks10 FTEs

2017 A. Kugel, Projects 44

ASC

Modern Project Management● Traditional Project Management

– HEAVY! start: requirements, dependencies, etc– Focus on plan and process– Inflexible

● “A good idea at a late time is not a gift, it’s a threat”● Agile Manifesto (agilemanifesto.org)

2017 A. Kugel, Projects 45

ASC

Agile “Workflow” Principles● Improve/optimize process(es)

– Small work packages– Welcome changes (yes!)– Visualize tasks and progress– Responsible (cross-functional) teams

● Tools/Methods– Kanban (not specific to any flow)

● Observe + measure process, limit WIP● Maximize flow, minimize cycle time

– Scrum (Focus: SW development)● Maximize velocity● Defined roles, self organized teams● Iterations (sprints, increments, reviews)

Inspect and adapt

2017 A. Kugel, Projects 46

ASC

Visualize: Task Boards

Pending Finished

AA

BB

CC

DD

In Progress

FLOW

Pending Finished

AA

BB

CC

DD

In Progress

FLOW

Scrum Kanban

2

Limitedtime

Limitedwork

A, B, C, D: concrete work items (e.g. derived from “user stories”)

2017 A. Kugel, Projects 47

ASC

Kanban Comichttps://www.infoq.com/minibooks/kanban-scrum-minibook

2017 A. Kugel, Projects 48

ASC

Example (cont)

2017 A. Kugel, Projects 49

ASC

Example (cont)

2017 A. Kugel, Projects 50

ASC

Effort Tracking● New task estimates

– Priority (P)– Complexity (C)– Duration (D)

● Sort tasks by weight (W)– E.g. W = P/C

● Or: value/duration– Process top (high weight)

to bottom● Record actual effort

– Discipline!● Daily stand-ups

P

E

D

2017 A. Kugel, Projects 51

ASC

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35

Cummulative Flow Diagram

PendingIn ProgressFinished

Task

s

020406080

100120140160180

Remaining work estimate

Initial

Actual

Wor

k [h

]Metrics

Scrum● Burndown chart

Kanban● Cummulative flow

Team’s estimate precision will improve over time ...

Lead time

WIP limited to 4

WIP

2017 A. Kugel, Projects 52

ASC

Applications● Many commercial workflow management

applications– JIRA, Trello, Projectplace, Zoho, …

● Few free options– Self hosted

● kanboard.net (primarily kanban)● kados.info (scrum+kanban)

– Java/webapps● orangescrum.com● scrinch (sourceforge.net/projects/scrinch/)

– Trials/mini: zoho.com, (all free trials)

2017 A. Kugel, Projects 53

ASC

Signup to ASC Kanboard

https://asc-kb.ziti.uni-heidelberg.de

Or sign-up with @stud.uni-heidelberg.de

2017 A. Kugel, Projects 54

ASC

Edit Profile

2017 A. Kugel, Projects 55

ASC

Create (private) Project

2017 A. Kugel, Projects 56

ASC

Project Settings

Create/rename columns, edit task limits etc

2017 A. Kugel, Projects 57

ASC

Limit WIP

2017 A. Kugel, Projects 58

ASC

Modified Columns ...

2017 A. Kugel, Projects 59

ASC

Task Board (1)

Add new task

2017 A. Kugel, Projects 60

ASC

Add a Task

2017 A. Kugel, Projects 61

ASC

Add a Subtask

2017 A. Kugel, Projects 62

ASC

Task with some Subtasks

2017 A. Kugel, Projects 63

ASC

Subtask View and Timer

Subtasks listed in task board

2017 A. Kugel, Projects 64

ASC

Convert Subtask to Task => Task Board (2)

2017 A. Kugel, Projects 65

ASC

Did some Work => TaskBoard (3)

Limit WIP:We cannot have more than 2 items in this column.

2017 A. Kugel, Projects 66

ASC

Taskboard Extras

● Swimlanes– Group tasks

● Categories– Label tasks

● Cover images– Illustrate tasks

● View can be filtered by …– User, category,

status ...

2017 A. Kugel, Projects 67

ASC

Task Overview

2017 A. Kugel, Projects 68

ASC

Project Overview

2017 A. Kugel, Projects 69

ASC

Analytics

2017 A. Kugel, Projects 70

ASC

Activity Stream

2017 A. Kugel, Projects 71

ASC

Gitlab Integration● Creating issue on gitlab (gitswarm) creates

task on kanboard.● Process task until done● Close issue on gitlab● Task gets removed from kanboard● Task history remains in activity stream

● Gitlab has Kanboard included– Limited to issues. Try ...

2017 A. Kugel, Projects 72

ASC

Gitlab Token

Webhook: http://kanboard/?controller=WebhookController&action=handler&plugin=GitlabWebhook&token=2ab2e1631607d485bf729c5a1f206178f6cd31a9b1c69b1733d6f925eaa3&project_id=5

2017 A. Kugel, Projects 73

ASC

ASC Gitlab: GitSwarmhttp://mp-force.ziti.uni-heidelberg.de

2017 A. Kugel, Projects 74

ASC

Create Gitlab Project

2017 A. Kugel, Projects 75

ASC

Setup Kanboard Webhook

2017 A. Kugel, Projects 76

ASC

Useful Links● Kanban and Scrum Book (free):

– https://www.infoq.com/minibooks/kanban-scrum-minibook● J. Preußig, Agiles Projektmanagement, Haufe Verlag● Kanban book (free):

– https://kanbanery.com/ebook/GettingStartedWithKanban.pdf

● Free (temporarily) services:– https://projects.zoho.com (unlimited users, single project free)– https://service.projectplace.com – https://kanboard.net/hosting

● Ziti ASC Kanboard:– https://asc-kb.ziti.uni-heidelberg.de – Sign-up with student email

2017 A. Kugel, Projects 77

ASC

Project PlanningExercises

2017 A. Kugel, Projects 78

ASC

Step 1● Groups of 3

– Preferably different background● Select (invent) project

– E.g. Arduino Robot Control● Set-up team

– Leader? Skills?– Outline goals, responsibilities

● Initial requirements, functionalities – Initial sketch (the HOW) / CMAP

● Strategy – things to do, who does what ● Consider risks (can be virtual)

Orientation(start)

Conflict

Performance

Organisation

Remember:

2017 A. Kugel, Projects 79

ASC

Step 2● Initial plan: projectlibre/kanboard

– Resources (team members, different skills)– Initial task set (for the project) – Task set (for the exercise) – Milestones (for exercise and project)– Save baseline– Task Columns– Subtasks– Time estimates

PL

KB

2017 A. Kugel, Projects 80

ASC

Step 3● Use ZIM to collect project relevant resources

– Plain text, images, screen shots– URLs– Bibliographic information

● Arrange information– Tags– Links

● Search for something (arduinos, robots, motors, kits, ...)● Define requirements/user-stories and checklist

– Can be abstract/non-sense, but from various areas● Use cases, non-functional, functional

● Milestones, dates

2017 A. Kugel, Projects 81

ASC

Step 4● PL: Update plan

– Refine project tasks● Dependencies● Unexpected delays

– WBS + RBS– Check progress (delays), resource utilization, deadlines– Print Gantt and reports

● Kanboard: Track effort– Flow diagram– Lead + cycle time

2017 A. Kugel, Projects 82

ASC

Step 5● Use CMAPs to visualize important project aspects

– For exampe: requirements, specification, implementation (or whatever is important)

– Use different maps with cross-links● Auto layout vs. manual layout

– Use different sources (URLs, images, PDF)– Export one particular map to WWW for public

distribution● Make sure all links are valid

2017 A. Kugel, Projects 83

ASC

Step 6● Documentation

– Use impress (powerpoint) or cmap– Project, goals, team structure– Tool usage: cmap, zim and planner/kanboard

● Screen-shots● Cmap WWW export (.tgz) ● Plan:

– Gannt, Pert/WBS, Milestones● Including monitoring

– Kanboard tasks

– Summary of SW-tool experience

2017 A. Kugel, Projects 84

ASC

Operational Structure● Check SW is working: 10'● Start with step 1

– Team composition (5 persons): 5'● Manager (timekeeper, requirements, checklist)● Expert 1 (HW: boards, robots)● Expert 2 (SW: OS, tools)

– Initial sketch/CMAP: 10' ● Initial plan/projectlibre or Kanboard: 10'● Research/ZIM: 20'

– Individual areas (req/checklist, HW, SW)● Update plan: 10'● Visualize/CMAP: 10'● Summarize, export + document/impress: 5'

– ~ 7 - 10 slides, only screenshots● 2 presentations (one pr-libre, one kanban): 2 * 5'● Sign in to attendance list

90'

2017 A. Kugel, Projects 85

ASC

SW Setup● Example software

– Cmap: http://cmap.ihmc.us/products– Zim: http://zim-wiki.org/downloads.html

● Might need to set private TMPDIR– mkdir /tmp/$USERNAME– export TMPDIR=/tmp/$USERNAME

– Projectlibre: http://www.projectlibre.org/● All tools available in CIP pool except Kanboard (see before)

– CmapTools, projectlibre, zim● Resources

– asc.ziti.uni-heidelberg.de/sites/default/files/up/pub/wt17/projectPlanningAll.pdf– asc.ziti.uni-heidelberg.de/sites/default/files/up/pub/wt17/tools_resources.tar.gz – Cmap: add via “add sources” => select folder “tools”. Select all

2017 A. Kugel, Projects 86

ASC

Happy Planning ...

top related