4. NavalPlan: Open Web Planning 4
NavalPlan is a project management
tool that helps you to plan, monitor
and control any kind of project
5. NavalPlan: Open Web Planning 5
●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.
6. NavalPlan: Open Web Planning 6
Two key ideas:
●Web: Runs on the browser. Based on
HTML/CSS/Javascript. No plugins required.
● Open: Free Software. AGPL.
In the coming months NavalPlan will be renamed to LibrePlan.
8. Main screens 8
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.
13. Project Scheduling – Gantt view 13
Gantt diagram
List of tasks on the left
Dependencies: S-S, E-E, E-S
Constraints: ASAP, No later than, etc
Task, Task groups, Milestones
15. Project Details - Work Breakdown Structure 15
Menu:
• Save
• Filter tasks
• Tabs: wbs, general data, progress,
criteria, labels, etc
16. Project Details - Work Breakdown Structure 16
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
17. Resources Load 17
Shows load per resource:
• Green: under 100%
• Yellow: 100%
• Red: above 100% (overloaded)
18. Resources Load 18
Resource is overloaded
Allocated to two tasks that happen simultaneously
100% loaded
19. Resources Load 19
Graph showing total capacity,
assigned load and overloading
20. Allocate hours to a resource manually or Advance allocation 20
using a function: plain, polynomic, sigmoid
Zoom level: year, month, week
22. Main Features 22
● 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.
23. Dynamic roles 23
●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).
24. Dynamic roles – Basic use case 24
● 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%).
25. Powerful management of calendars 25
● 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”.
26. Company view 26
● 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).
–Apartfrom 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.
27. Resource balancing 27
● 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.
28. Progress, costs control and integration 28
● 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.
29. Technology & Architecture 29
● 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.
30. Community 30
● 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.