一个愚蠢的首相。
dumbpm的Python项目详细描述
哑巴
一个愚蠢的首相。
目前,它只对项目进行优先级排序:实际上,它相当愚蠢。
pms(项目经理、产品经理、人员经理、pokemon masters等)的整个理念是,他们都会做一些可能需要自动化的任务,但同时这种自动化应该是尽可能愚蠢的。有太多的变化因素会影响这些任务,所以你最好雇一个项目经理(或者一组研究人员来做自动化工作)来做聪明的事情,而不是在互联网上随便找一个软件。此外,如果我们让它保持沉默,人们只要阅读代码,了解正在发生的事情,如果他们真的想。
如果你有什么建议的话(但没什么聪明的!)你想让邓波姆帮你做的事,打开一个问题让我知道。
优先顺序
给出一个定义如下的项目表,它按照可选的指定预算内的优先级输出一个项目列表(优先级设置为“数据问题”)。
优先级列表被建模为具有以下值函数的Knapsack Problem的精确解:norm(value) / ((norm(cost) * norm(duration)) + norm(rigging)
。真的很蠢。
$ dumbpm prioritize --help usage: dumbpm prioritize [-h][--budget [BUDGET]] filename positional arguments: filename CSV file with projects definition optional arguments: -h, --help show this help message and exit --budget [BUDGET] Max budget allowed
项目格式
项目定义发生在具有以下结构的csv文件中:
Project
:项目名称Value
:项目价值Cost
:项目成本Duration
:以时间单位表示的项目持续时间Rigging
:用于调整结果的任意值(对,作弊!);项目优先级越高Alternative
:逗号分隔的与此项目不兼容的项目列表(例如,制作午餐与购买午餐)
任何未指定的字段都将填充0。
列的标题有点松(例如,project、projects、project等都可以)。值得注意的是:钻机和索具都可以工作;同样的备降场和替代品;如果这是你的东西,PQ可以用来代替成本。
Project | Value | Cost | Duration | Rigging | Alternatives |
---|---|---|---|---|---|
Buy a better espresso machine | 5 | 4 | 2 | 9 | |
Buy ambient parfume for the back | 1 | 1 | 1 | ||
Find and remove source of bad smell | 5 | 2 | 4 | 10 | |
Find better coffee vendors | 4 | 2 | 6 | 5 | |
Buy smart component for roaster | 3 | 5 | 2 | Build in-house roasting notification system | |
Introduce a periodical suggestion survey for treats | 3 | 2 | 6 | ||
Buy a more modern sign | 3 | 3 | 1 | ||
Contact a designer to re-think the front | 5 | 5 | 6 | ||
Buy beds for powernaps | 1 | 3 | 1 | ||
Import treats from France | 2 | 4 | 2 | ||
Build in-house roasting notification system | 3 | 5 | 6 | Buy smart component for roaster |
示例
$ cat projects.csv Project,Value,Cost,Duration,Rigging,Alternatives Buy a better espresso machine,5,4,2,9, Buy ambient parfume for the back,1,1,1,, Find and remove source of bad smell,5,2,4,10, Find better coffee vendors,4,2,6,5, Buy smart component for roaster,3,5,2,,Build in-house roasting notification system Introduce a periodical suggestion survey for treats,3,2,6,, Buy a more modern sign,3,3,1,, Contact a designer to re-think the front,5,5,6,, Buy beds for powernaps,1,3,1,, Import treats from France,2,4,2,, Build in-house roasting notification system,3,5,6,,Buy smart component for roaster $ dumbpm prioritize projects.csv 01 Buy ambient parfume for the back 02 Buy a more modern sign 03 Find and remove source of bad smell 04 Buy a better espresso machine 05 Find better coffee vendors 06 Buy beds for powernaps 07 Buy smart component for roaster 08 Import treats from France 09 Introduce a periodical suggestion survey for treats 10 Contact a designer to re-think the front $ dumbpm prioritize projects.csv --budget 1001 Buy ambient parfume for the back 02 Buy a more modern sign 03 Find and remove source of bad smell 04 Buy a better espresso machine