All Projects → rodrigosetti → Master Plan

rodrigosetti / Master Plan

Licence: mit
Project Management for Hackers

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to Master Plan

Parjs
JavaScript parser-combinator library
Stars: ✭ 145 (+19.83%)
Mutual labels:  parsing, text
Beeftext
A text snippet tool for Windows.
Stars: ✭ 366 (+202.48%)
Mutual labels:  tools, text
DotGrok
Parse text with pattern. Inspired by grok filter.
Stars: ✭ 26 (-78.51%)
Mutual labels:  parsing, text
Go Parsefix
Fixes simple parse errors automatically. Works great in combination with goimports.
Stars: ✭ 77 (-36.36%)
Mutual labels:  parsing, tools
allot
Parse placeholder and wildcard text commands
Stars: ✭ 51 (-57.85%)
Mutual labels:  parsing, text
Codo Tools
CODO运维工具支持:告警管理、告警自愈、项目管理、事件管理、加密解密、随机密码、提醒管理等
Stars: ✭ 103 (-14.88%)
Mutual labels:  project-management, tools
Corrode
A batteries-included library for reading binary data.
Stars: ✭ 116 (-4.13%)
Mutual labels:  parsing
Svg
Composer and parser for SVG
Stars: ✭ 119 (-1.65%)
Mutual labels:  parsing
Datasets knowledge embedding
Datasets for Knowledge Graph Completion with textual information about the entities
Stars: ✭ 116 (-4.13%)
Mutual labels:  text
Stacktracey
Parses call stacks. Reads sources. Clean & filtered output. Sourcemaps. Node & browsers.
Stars: ✭ 115 (-4.96%)
Mutual labels:  parsing
Cherow
Very fast and lightweight, standards-compliant, self-hosted javascript parser with high focus on both performance and stability
Stars: ✭ 1,539 (+1171.9%)
Mutual labels:  parsing
Keira3
Cross-platform Database Editor for AzerothCore
Stars: ✭ 120 (-0.83%)
Mutual labels:  tools
Useful Dev Tools
⭐️ A list with useful tools that help many Developers. Hacktoberfest ⭐️
Stars: ✭ 119 (-1.65%)
Mutual labels:  tools
Setup Php
GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
Stars: ✭ 1,945 (+1507.44%)
Mutual labels:  tools
Ifcdoc
IFC Documentation and Toolkit
Stars: ✭ 119 (-1.65%)
Mutual labels:  tools
Androidappydevelopertools
A list of cool/useful Apps too help Android Developers
Stars: ✭ 116 (-4.13%)
Mutual labels:  tools
Dateutil
Useful extensions to the standard Python datetime features
Stars: ✭ 1,706 (+1309.92%)
Mutual labels:  parsing
Chordsheetjs
A JavaScript library for parsing and formatting ChordPro chord sheets
Stars: ✭ 114 (-5.79%)
Mutual labels:  parsing
Formatfuzzer
FormatFuzzer is a framework for high-efficiency, high-quality generation and parsing of binary inputs.
Stars: ✭ 117 (-3.31%)
Mutual labels:  parsing
Py Pdf Parser
A Python tool to help extracting information from structured PDFs.
Stars: ✭ 120 (-0.83%)
Mutual labels:  parsing

master-plan

Build Status

Master Plan is a text based project management tool that implements an algebra of projects.

These are the values propositions of master plan:

  • Simplicity: keep project management into a single text file. Under version control, close to your code.
  • Agility: embrace change, by allowing projects to specify uncertainty and allow for refinement anytime.
  • Freedom: master plan is a open specification, not dependent on tools or hosting. There is this current open-source implementation, but anyone can implement tools or visualizations on top of it.

See the wiki for details and examples.

Algebra of Projects

In the algebra of projects, a project is an expression of sub-projects combined using dependency operators. These operators define how sub-projects relate to the higher-level projects in terms of execution and structural dependency, that is, in which order (if any) the sub-projects must be executed, and also whether all or some of the sub-projects must be executed at all.

At some level, sub-projects will be small enough that they don't break down further, in this case, they consist of a unit of execution.

There is also the notion cost estimation and risk. Cost may mean different things depending on the domain, but most usually it's time.

Given all these constraints and structure, master plan will build an optimum prioritization of projects and sub-projects for execution.

The entire definition of a project is defined into a single .plan file using a simple language. There are defaults for most constrains and properties such that things can be less verbose if using the defaults.

The tool is able to build visualizations from the plan file.

Ideally, the plan file should be kept in version control so that execution and planning progress can be recorded.

Command line Arguments

master-plan - project management tool for hackers

Usage: master-plan [FILENAME] [-o|--output FILENAME] [-r|--root NAME]
                   [--progress-below N] [--render-parse-error] [--strict]
                   [-c|--color] [-w|--width NUMBER] [--height NUMBER]
                   [--hide title|description|url|owner|cost|trust|progress]
  See documentation on how to write project plan files

Available options:
  FILENAME                 plan file to read from (default from stdin)
  -o,--output FILENAME     output file name (.png, .tif, .bmp, .jpg and .pdf
                           supported)
  -r,--root NAME           name of the root project definition (default: "root")
  --progress-below N       only display projects which progress is < N%
  --render-parse-error     instead of printing parsing errors, render as an
                           image
  --strict                 strict parsing: every project has to be defined
  -c,--color               color each project by progress
  -w,--width NUMBER        width of the output image
  --height NUMBER          height of the output image
  --hide title|description|url|owner|cost|trust|progress
                           hide a particular property
  -h,--help                Show this help text

Syntax

Comments are C/C++/Java style: line comments start with //, and block comments are in between /* and */.

Everything else are definitions, in the form name [attributes] [expression] ;.

A project name should be unique. Definitions end with semicolon.

Project expressions are expressions where project identifiers are combined via binary operators. Parenthesis can be used to enforce operator precedence. There are three operators:

  • p = a + b - Sum: p is executed when a or b is executed.
  • p = a x b - Product: p is executed when a and b is executed.
  • p = a -> b - Sequence: p is executed when a and b is executed, in order.

Please note that a equal sign (=) can be placed optionally just before the definition of the expression.

Attributes

Following is a list of supported attributes of projects:

Property name Expected Type Description
title text title of the project
description text longer description of what the project is
url URL reference in the web for more context about the project
owner username name of the person responsible for execution
progress percentage how much progress has been made so far (default 0%)
cost number estimated cost (default 0)
trust percentage probability of success (default 100%)

Attributes can be specified between brackets, like, e.g.:

b {
  title "build"
  description "our technology can be built and scale"
} phase1 -> phase2 -> phase3;

Or, optionally, if only "title" is define, as a single string literal, as e.g.:

approvalProcess "approval process" legal -> budget -> executive;

There are "atomic" attributes that should be defined only for projects without expressions: "cost", "trust", and "progress". Defining them and also expressions is an error.

Example of atomic project:

sb {
  title "supplier B"
  trust 60%
  cost 5
  url "www.supplier.b.com"
  owner "partnerships"
};
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].