navalplan talk at linuxtag 2011

32
NavalPlan: Open Web Planning Diego Pino García [email protected] LinuxTag 2011, 12 th May

Upload: libreplan-open-web-planning

Post on 18-Jan-2015

10.886 views

Category:

Technology


2 download

DESCRIPTION

NavalPlan is a project management tool that helps you to plan, monitor and control any kind of project.

TRANSCRIPT

Page 1: NavalPlan Talk at LinuxTag 2011

NavalPlan: Open Web Planning

Diego Pino Garcí[email protected]

LinuxTag 2011, 12th May

Page 2: NavalPlan Talk at LinuxTag 2011

2NavalPlan: Open Web PlannigContents index

Summary:

– Introduction.

– General overview.

– Main features.

– Technology.

– Community.

– Q & A.

Page 3: NavalPlan Talk at LinuxTag 2011

3NavalPlan: Open Web Planning

What's NavalPlan?

Page 4: NavalPlan Talk at LinuxTag 2011

4NavalPlan: Open Web Planning

NavalPlan is a project management tool that helps you to plan, monitor

and control any kind of project

Page 5: NavalPlan Talk at LinuxTag 2011

5NavalPlan: Open Web Planning

● Commissioned by Xunta de Galicia (regional administration body).

● Goal: provide the Galician shipyards a tool that could help them to manage their production processes.

● Scenario: Lots of open projects, interdependency of resources between projects. What's your status? How can you make the best of your resources?

● The solution proposed was NavalPlan, a Gantt planning tool similar to MS Project, but that also helps you to monitor and control the status of your company.

● Developers: Igalia & Wireless Galicia.

Page 6: NavalPlan Talk at LinuxTag 2011

6NavalPlan: Open Web Planning

● Web: Runs on the browser. Based on HTML/CSS/Javascript. No plugins required.

● Open: Free Software. AGPL.

Two key ideas:

In the coming months NavalPlan will be renamed to LibrePlan.

Page 7: NavalPlan Talk at LinuxTag 2011

7NavalPlan: Open Web Planning

General Overview

Page 8: NavalPlan Talk at LinuxTag 2011

8Main screens

Divided in 5 main screens:

● Company view. Global view with all the scheduled projects.

● Project scheduling (Gantt view). Create dependencies, allocate resources, define progress, etc.

● Project details (WBS, Work Breakdown Structure). Create projects, add tasks, decorate tasks with criteria, labels, progress, etc.

● Resources load. Graph with load per resource (underused, fully loaded, overloaded).

● Advance allocation. Fine-grained allocation for every task.

Page 9: NavalPlan Talk at LinuxTag 2011

9Navigation menus

Main menu:• Scheduling• Resources• Administration/Management• Reports

Page 10: NavalPlan Talk at LinuxTag 2011

10Navigation menus

Left-side menu: • Project scheduling (Gantt)• Project details (WBS)• Resources load

Page 11: NavalPlan Talk at LinuxTag 2011

11Company view

Resources loadThere's overloading of resources among projects

View of all scheduled projects

Page 12: NavalPlan Talk at LinuxTag 2011

12Project Scheduling – Gantt view

Menu:• Save• Zoom (year, month, week, etc)• Critical Path• Expand/collapse tasks• Filter tasks• ...

Page 13: NavalPlan Talk at LinuxTag 2011

13Project Scheduling – Gantt view

Gantt diagramList of tasks on the leftDependencies: S-S, E-E, E-SConstraints: ASAP, No later than, etcTask, Task groups, Milestones

Page 14: NavalPlan Talk at LinuxTag 2011

14Project Scheduling – Gantt view

Graphics:• Load• Earned value• Progress

Page 15: NavalPlan Talk at LinuxTag 2011

15Project Details - Work Breakdown Structure

Menu: • Save• Filter tasks• Tabs: wbs, general data, progress,

criteria, labels, etc

Page 16: NavalPlan Talk at LinuxTag 2011

16Project Details - Work Breakdown Structure

WBS tab:• Add new tasks• Structure in form of tree• Tasks can be nested: task elements

and task groups• This structure will appear later in the Gantt view

Page 17: NavalPlan Talk at LinuxTag 2011

17Resources Load

Shows load per resource:• Green: under 100%• Yellow: 100%• Red: above 100% (overloaded)

Page 18: NavalPlan Talk at LinuxTag 2011

18Resources Load

Resource is overloadedAllocated to two tasks that happen simultaneously

100% loaded

Page 19: NavalPlan Talk at LinuxTag 2011

19Resources Load

Graph showing total capacity, assigned load and overloading

Page 20: NavalPlan Talk at LinuxTag 2011

20Advance allocationAllocate hours to a resource manually or using a function: plain, polynomic, sigmoid

Zoom level: year, month, week

Page 21: NavalPlan Talk at LinuxTag 2011

21NavalPlan: Open Web Planning

Main Features

Page 22: NavalPlan Talk at LinuxTag 2011

22Main Features

● Allocation of resources based on dynamic roles (criteria).

● Powerful management of calendars.

● Company view: projects and resources are not something isolated.

● Resource balancing.

● Monitor and control.

● Integration with third-parties.

Page 23: NavalPlan Talk at LinuxTag 2011

23Dynamic roles

● Roles: a need that a resource satisfies. For instance: Work category: plumber, programmer; Location: Madrid, Berlin.

● Roles are dynamic. A person can stay half of the year in Madrid and the other half in Berlin.

● Tasks can expressed in terms of roles: “To complete this task I need a plumber and a carpenter”.

● Generic allocation vs specific allocation

● Specific. A specific resource is allocated to a task.

● Generic. Resources that satisfy roles are allocated to a task (1 plumber and 1 painter).

Page 24: NavalPlan Talk at LinuxTag 2011

24Dynamic roles – Basic use case

● Project:

Task 1: Fix bidet (Needs a plumber)

Task 1.1: Unblock pipes

Task 1.2: Repair handles

● Resource:

Joe (Role: plumber)

● Tasks inherit roles from their parents. Task 1 (needs a plumber) => Task 1.1 and Task 1.2 (needs a plumber).

● Devote 1 resource per day to 'Fix bidet'. As Joe is the only plumber he will be completely devoted to this task (resource load 100%).

Page 25: NavalPlan Talk at LinuxTag 2011

25Powerful management of calendars

● Calendars are highly customizable:

–Derive calendars (Spain → Galicia).

–Define number of working hours per day in a week.

–Define exceptions (public holidays, holidays, etc).

● Resources have calendars. Tasks have calendars.

● Calendars play an important role when allocating resources to a task.

● Example:

–Resource “Peter” has Spain calendar (16-20 May bank holidays).

–Allocate “Peter” to task “Paint walls”.

Page 26: NavalPlan Talk at LinuxTag 2011

26Company view

● A global view of the status of the company

–Resources are shared among projects.

–A resource can be overloaded due to another project (external overload).

–Apart from detecting overload it's possible to know what project is causing external overload (via 'Resource usage' view).

● Example:

–A construction company which builds houses.

–Projects overlap in time.

–Joe and Peter are also employees there.

Page 27: NavalPlan Talk at LinuxTag 2011

27Resource balancing

● NavalPlan is good at spoting overloading of resources.

● Ways to solve overloading:

● Manually (assign another resource, shift task so resource is no longer overloaded).

● Global reassignment:

● Recalculate resource allocations.

● Useful when adding new resources.

● Generic allocation: Distributes allocation among all workers that have less hours.

Page 28: NavalPlan Talk at LinuxTag 2011

28Progress, costs control and integration

● Progress:

–Progress tracking (percentage, units, subcontracted)

–Progress graphs (compared different types of progress)

–Deviations and delay summary view.

● Control of costs and reports:

–Work reports: real imputed hours.

–Cost associated to worker.

● Integration:

–Integration with third parties via web-services (RESTful API)

–Integration with other NavalPlan instances.

Page 29: NavalPlan Talk at LinuxTag 2011

29Technology & Architecture

● 3-tier application: UI, Business logic, Persistence.

● UI: ZK 3.6.X & YUI. Plan to migrate to ZK5 CE soon.

● Business logic: Java 1.6/Spring (MVC pattern).

● Persistence: Hibernate. PostgreSQL & MySQL throughly tested.

● Web-services layer: Apache CXF.

● Other technologies: Jasper Reports, Timeplot, JfreeChart, Jgraph.

Page 30: NavalPlan Talk at LinuxTag 2011

30Community

● Completely developed in the open (wiki, git, mailing-lists, bugzilla, etc).

● In the process of establishing an association for governing the project.

● Association will be initially composed of representatives of public administration and current developing companies, but it'll be open to everyone.

● Training courses from user perspective and developing perspective.

● Some public administration bodies and private companies are joining.

Page 31: NavalPlan Talk at LinuxTag 2011

31Community

● Website: www.navalplan.org

● SourceForge: www.sourceforge.net/projects/navalplan (git, mailing-lists)

● Wiki: http://wiki.navalplan.org/

● Bugzilla: http://bugs.navalplan.org

● IRC: freenode/#navalplan (6-8 people)

● Social channels:

● Identi.ca: http://identi.ca/navalplan

● Twitter: www.twitter.com/navalplan

Page 32: NavalPlan Talk at LinuxTag 2011

32NavalPlan: Open Web Planning

Thanks!

Q & A