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 ...