• 看板工具这样选!

    2020-06-15 14:22:39
    或许你正考虑选择一种看板工具,或许你已经在项目跟踪工具里内置了“看板”。那么问题来了:你的工具能让你取得成功吗?问题的关键在于工具的设计是否匹配团队的真实工作方式。现实中的团队不会采用临...

    或许你正考虑选择一种看板工具,或许你已经在项目跟踪工具里内置了“看板”。那么问题来了:你的工具能让你取得成功吗?

    问题的关键在于工具的设计是否匹配团队的真实工作方式。现实中的团队不会采用临时拼凑出来的、规定性的、预定义的流程;相反,他们会增量地运用实践,其流程是不断演进的

    然而,许多目前流行的项目跟踪工具采用了静态定义工作类型和状态转换的机制。也就是说,所使用的过程和工作项类型在项目开始之前就必须确定下来,工具一旦载入这些定义,项目就只能使用这些固定不变的工作项定义,在项目进行过程中很难改变。

    现实情况中,你可能正在使用某种不支持渐进式改进的过程跟踪工具,由于这些工具不是为“消除变革阻碍”而设计的,也许会成为流程改进的障碍。而且,依赖现有工具可能产生对改进的惰性和抵触,影响看板方法进一步发挥运用,也就很难达到预期的成功。很多公司在改进初期使用了JIRA等工具,但随着看板使用的深入,局限性会逐渐显现。

    所以,如果你希望更好地管理创造性知识工作,并通过渐进式改进来获得更好的企业健康度和客户满意度,就必须不断寻找合适的看板工具,必须做好工具切换以及投资的思想准备。

    目前市面上最受欢迎的看板工具主要有两款:LeanKitSwift Kanban。它们的设计和架构都以实现动态定义机制为出发点,旨在促进渐进式过程改进。它们都很漂亮,同时又各有特色。

    为了便于了解你的工具是否能够让你取得成功,以下评估问卷供参考:

    1、是否支持可视化?

    2、是否支持随时修改工作项类型?

    3、是否支持随时调整电子看板墙布局?

    4、是否记录工作项的开始和结束时间?

    5、是否自动生成前置时间?

    6、是否支持自动更新累积流图、分布图、控制图?

    7、是否支持类WIP限制?

    想了解更多关于看板方法的内容,您可以持续关注我们的微信公众号:互联网plus管理新范式。回复看板书单可以看到我们推荐的看板方法书籍。

    如果您在项目管理过程中遇到烦恼,欢迎在我们的微信公众号留言,以便我们为您提供专业的解答。

    展开全文
  • 摘要:本文是软件看板之父David Anderson 博客文章,项目管理系列集锦,包含四个方面的内容:使用看板方法管理项目、使用排序规则制订计划、项目预测、风险审查与阻碍集群。 一、使用看板方法管理项目 ...

    摘要:本文是软件看板之父David Anderson 博客文章,项目管理系列集锦,包含四个方面的内容:使用看板方法管理项目、使用排序规则制订计划、项目预测、风险审查与阻碍集群。


    一、使用看板方法管理项目


    我是项目经理,看板对我来说意味着什么?


    我是项目经理,我的组织正在采用Kanban,它对我意味着什么?以及我应该在工作中如何使用看板?在企业已经实施的看板体系中,你的现有角色并未发生改变,仍然是项目经理。然而,为了在已经实施的看板系统中充分利用可预测性和风险管理,你应该对自己的工作进行适当调整。我们相信,看板方法的理念和实践,会帮助项目经理提升到一个新的高度。


    如何使用看板来制订计划及排列工作优先级?


    通常,项目经理们会问:“如何使用Kanban来制订计划,以及排列工作优先级?”当然,在项目管理中,还有很多的事情要做,但是这两件事非常重要。


    非常重要的一点是:我们应该深刻领会到,看板方法中对项目管理产生重大影响的核心实践是制订更明晰的规则。使用了看板方法之后,项目管理就演变成了一种更好地促进和实施风险管理的活动。项目经理在整个项目交付周期中,负责制订各种规则。这样一来,项目经理的角色,就不仅仅是简单的项目管理者了。通常,项目经理会做好多事情,例如:收集并汇报项目进展、组织会议、制订计划、发布管理与变更管理等。另外或许还有一些更细致的工作,诸如:进行任务分配,或者更为直接的命令和控制方法,以达到完成工作的目标。这样的项目经理,实际是专注于“管人”的,只是在苦苦寻找与特定任务技能相匹配的人。我认为,拥有这种职能的项目经理,其角色更像是“项目秘书”或者“项目协调人”。这不是一种创造高价值的项目管理实践。


    好的项目管理实践应该是:有些活动能够辅以自动化手段,而且团队成员应该在一些约束条件(或者“规则”)下进行自组织管理。在军事组织中,这些约束条件,被称作“约定规则”。以我的经验来看,美国的军队比企业更懂得如何授权。


    关于规则


    所以,我们不再孤立地去谈“制订计划”与“排列优先级”。我们更希望项目经理以区别于传统思维的角度去思考问题,同时也强调一些细微差别和更明晰的概念。


    在看板方法中,我们探讨的是:调度 (scheduling)、排序(sequencing)、选择(selection)(即:3S)以及可选项、承诺、产能分配、风险管理与规避。我们使用预测来替代估算。预期是建立在概率报告基础上的,调度是基于对风险承受能力的评估,与之相对,经济损失是基于特定成果发生的概率。我们教给项目经理们如何建立规则来管理这些活动,如何去调整这些规则去管理项目的业务目标和业务风险。传统意义上的“制订计划”与“排列优先级”这些具体的工作,就会从项目制订的规则中分离出来。计划实际上只是规则所产生的一个附属成果。


    收益


    在项目管理中使用看板方法能够改进产出物的质量,看板方法提高了项目的可预见性,并改进项目可接受的经济指标。整个项目进程更加透明。虽然关注重点是在规则的制订上,但是管理却得到了改进。项目经理转变为主抓风险管理,同样,风险管理也得到了很好的改进。使用看板方法后,项目经理为项目团队和整个组织,创造了更大的价值。


    二、使用排序规则制订计划


    不排优先级,怎么定计划?


    看板方法中,我们不倾向用“排优先级”一词,因为对排优先级这件事来说,并非是做一两次然后形成一份按优先级排序的清单那么简单,在每个工作项在看板系统中被拉动时,都需要动态排优先级。看板方法中,排优先级不再是一种活动,而是当看板系统中形成拉动信号时,根据可选工作的风险情况动态决策所产生的结果。


    基于风险评估进行项目排期


    由于不再专门排优先级,我们的方式是根据排序策略来制订项目排期。排序策略是基于风险信息的,在项目待办列表中的每个工作项要使用某种风险评估框架进行分析(通常是定性分析)。风险的所有维度中,“变化带来的市场风险”是最具影响力的一个。按照这个维度工作项大致可分成5类:必须项(Table stakes)、成本缩减项(Cost reducers)、法规变更项(Regulatory changes)、搅局项或尾随项(Spoilers或Catch-ups,即跟进竞争对手的差异项)、差异项(Differentiators)。在我所著的《Lessons In Agile Management: On the road to Kanban》一书中,对此进行了介绍。这种分类方法也可以加入其他可能的类别。有时,我也会加入诸如“误导类”等其他类别加以充实。然而,这里所提到的5类是最常见的。要点在于选取与项目相关的风险维度和分类方式。如果项目的交付物是某种客户可交付产品或服务,并且需要与市面上的类似产品或服务进行竞争比较,或许所处行业还会受法律监管,那么这种特别的分类方法就会非常有用。




    项目中,如果每个特性或需求都使用这个分类体系加以分类,我们就能够基于风险分类设置不同的策略,并根据这些策略制订排期。


    必备项(Table stakes)在项目生命周期中没有变更风险,因此它们可以先开始。虽然法规变更项(Regulatory changes)也是必备项,如果没有这些项你的项目就无法完工,但它们需要被单独列为一类,因为这些法规会根据政府和法规制定者而进行调整和变化。


    如果可能,最好将法规变更项(Regulatory changes)分成在整个项目生命周期中都不会变化的项、以及哪些会因为监管审查、申诉、或政府和法规制定者的变化而受到影响的项。任何可能变化的日期都需要加以注意,以便能够清楚该项何时不再受变化影响。例如,如果已知某个需求会受到政府换届选举的影响,那么就应当在需求定义中标注出选举的日期。


    (如上图)向上到成本缩减项(Cost reducers)、搅局项(Spoilers)、再到差异项(Differentiators),需求的不确定性的程度就会发生变化,所以,需求定义发生变更或工作项必要性发生变化的风险随之升高。我们不希望接手可能会从范围中删除或因重大变故而受影响的工作项。所以这些项应当推迟到项目更晚些时候再开始。


    创建用于排序和产能分配的策略


    如果项目不存在提前交付的风险,我们就应先对所有的必备项(Table stakes)排序,然后对所有成本缩减项(Cost reducers)排序,然后是所有的搅局项(Spoilers),最后是差异项(Differentiators)。对于法规变更项(Regulatory changes),一旦我们知道它们在项目交付日期前不再受到变更影响,就要尽快排期。


    那些没有交付日期提前风险的项目,大多具有自然规律或与季节性业务或行业相关,例如,常见于服装、服饰、时装制售行业,或者世界杯或奥运会这种重大体育赛事。所以,如果我们遇到了具有这种性质的项目,并且已经评估了变更带来的市场风险,我们便能够为看板系统的排序工作定义出一条简单的策略。具有相同类别的工作项,比如成本缩减项(Cost reducers),能够按照任何顺序加以完成,因为无论多么细致地对它们进行排优先级或排序,都无法获得风险管理带来的好处。当然,前提是因变化导致的风险是我们所专注管理的唯一风险维度(更多风险维度请关注Agilean公众号)。通常,我们还会考虑其他风险维度,所以策略会比这里所描述的更加错综复杂。


    如果存在交付期提前的风险,尤其对于商业产品或服务类的项目,那么我们就应当对冲这种风险。根据战略与市场定位,最有价值的当属搅局项(Spoilers)和差异项(Differentiators),因此,我们应当通过在看板系统中将产能更多分配给具备更高价值、更高风险的项来对冲交付期提前的风险。


    我们可以通过细分需求来使得这种对冲的方式更容易。如果我们的产品或服务面向多个市场细分或用户角色,那么每个需求都应当标记上其所支持的市场细分或用户角色。我们应当让市场人员根据他们的倾向性(更多是基于当前的市场目标)对这些市场细分和用户角色排优先级或排序。比方说,我们希望针对服务于青少年来提升市场占有率,就应给青少年这个细分或用户角色更高的优先级。


    此外,我们应当在项目生命周期内,制定按照一定比例增减产能分配的策略。举例来说,我们希望最开始给必备项(Table stakes)分配80%的产能,项目收尾前降至0%,而最初差异项仅分配10%的产能,项目结束前增长值80%。这种产能分配会影响到系统中的看板(信号),并给出具体的拉动信号来告诉我们在任何给定的时刻应当拉入哪种需求。


    风险是个多维问题


    当然了,这篇文章中只关注单一风险维度,而项目风险是多维的。在这个领域,有太多的知识需要学习,有太多的实践需要思考。因此,我们的排期策略要远比上面描述复杂得多。例如,我们会考虑技术风险。如果某差异项工作项存在技术风险(以前从未做过,并且不清楚如何来做),那么我们应该制定一条策略,规定需要将这种类工作项拆分为两部分。拆出的第1个工作项是用原型判定可行性(或者叫做"spike"),安排在项目早期以便及时为可行性分析提供有用的信息。拆出的第2个工作项是基于新技术能力开发高保真特性。这种差异化特性的实现应当推迟到项目后期再做。


    基于策略的排期胜于传统的待办项排优先级


    没有必要对项目范围内的每一个工作项进行排序。实际上相互独立的工作项不应排序。当看板信号指示有能力开始一项工作时,如果制定了一系列基于风险评估的策略,我们就可以遵循它们来选择工作项。这些策略比按优先级排序的项目待办列表更容易维护,还是一种更强大的风险管理工具。要解释为什么要制订某一条策略是件很简单的事情,而且当环境发生变化,也很容易判断策略是否也需要变更。策略的改变会立刻反应在看板系统中新的工作项选择决策上。因此没必要维护项目待办项列表。确保项目范围内的所有工作项在承诺时得到风险评估,并且根据项目经理所提倡的风险管理方法对项目排期策略进行维护,这些就是所要做的全部。


    总结


    这篇文章,仅仅是给大家一个关于使用看板方法进行项目管理的初步认识,您从中了解到我们如何制订计划,对工作项排序与选择工作项。学习完整的相关技术,您可以考虑参加LKU相关课程。


    三、项目预测


    2008年,看板方法第一次震惊了整个敏捷社区:它不必使用敏捷专家们大力推崇的一些实践,包括带有时限的迭代、优先级的概念,甚至可以不使用估算!问题来了,如何才能借助一种不使用估算的模型来做项目计划呢?答案是:使用历史数据或者具有预测能力的模型构建针对项目产出的概率预测。以下简要介绍一种简便而常用的模型,可用于对项目交付进度作出预测。


    项目预测的统计学支柱


    使用看板时,我们可使用两个关键的理念进行项目预测,一是看板系统所拉动工作的前置时间分布,二是源自排队论的利特尔法则(Little's Law)。


    前置时间分布



    图1 前置时间分布


    图1展示了针对在看板系统中流动的工作项(通常指项目的功能或需求)的前置时间分布。使用类似图中的历史前置时间分布前,我们有必要理解几个假设,以确保选择了正确的数据。此外,还必须相信,将来观测到的表现与过去的相似。对于流动效率低下的工作环境来说,这一点尤其重要。这样的环境中,个体技能和所采用的技术实践对前置时间有重大影响,而需求的规模或者复杂度没有那么大的影响。因此,对于流动效率低下的环境,可以在更换人员、大幅改变需求捕获方式和变更技术工作实践的同时,保持观察到的前置时间分布不会受到重大影响。在流动效率较高的环境下,我们要注意保持个体的技能和经验与采集历史数据时的高度相似,保持工作实践与分析和需求开发方法高度相似。这就可以保证我们可以预期将来的前置时间分布会与现有的数据充分一致,从而使用历史数据进行可靠的预测。


    其次,要作出准确的预测,需要单一模态的数据。要获得这样的数据用于前置时间分布,对于不同种类的工作或不同级别的风险,需要有各自的分布曲线。因此,对需求进行风险评估,根据风险类型对历史数据进行聚类和过滤,是作出准确预测的关键所在。


    再次,要创建最适合自己的分布曲线,要知道应该从过去多久开始对前置时间直方图进行采样。这时候前置时间趋势图就派上用场了。我们可以观察趋势图中系统设计的变化,关注平均时间和数据点变差的分散程度。不连续的点通常反映了系统设计的变更(有望是改进),如果找到这样的点,只需采集到均值和变差分散程度发生改变的点即可。换句话说,我们需要一张能够反映当前状况且不混有早期数据点的数据直方图。还有一种找到这一时间点的方法,就是监控看板系统的流动性,寻找流动性水平发生较大变化的日期。这样的日期可作为制作直方图时数据采样的历史时间起点。


    只要有了针对项目范围内各类风险(服务级别)或各类工作的直方图,并假设项目范围和需求由工作或者风险的类型表示(本系列文章的第二部分已有讨论),我们就能应用利特尔法则对项目进度作出预测。



    图2 利特尔法则


    利特尔法则应用于看板时,可表述为:离开看板系统(所有工作完成后被存档)的工作项的平均交付速度等于系统中看板的数量(即WIP限制)除以平均前置时间。因此,只要我们知道看板系统的WIP限制以及前置时间的均值,就能计算出已完成的工作交付所需时间。


    建立进度预测


    图3展示了在大、中型规模项目中常用的一种简单的三阶段模型。该模型在为期短至六周、长至数年的项目中已验证有效。模型中的参数是笔者所选,读者可更换成适合自己的,不过三个阶段应该足够。假定时间轴的前20%为第一阶段,流动效率相对较低。接下来的60%为第二阶段,流动效率高,一些敏捷专家称这种效率为“超生产力”。在时间轴上剩下的20%的时间里,流动效率降低。笔者2003年出版的《软件工程的敏捷管理(Agile Management for Software Engineering)》一书中首次阐述了该模型。虽然这里描述的概率预测方法早于看板方法,但在看板系统的使用过程中,前置时间的稳定性得以不断提升,从而提高了预测的精准度。



    图3 三阶段项目进度预测


    图3假设项目中的需求是同质需求。换句话说,这些需求属于相同类型,具有相同的风险级别。具体什么意思呢?如果多种需求都通过同样的方式(如用户故事)获取,则这些需求可视为同质需求如果一些需求依赖于供应商,而其他的没有,那么前置时间分布中会有多个模态的数据,因为供应商依赖将会导致某种延迟,从而影响交付时间。在这种情况下就不应对所有需求一视同仁,而要对需求是否具有供应商依赖进行区分。所以,我们要从有无供应商依赖的角度,对需求进行标记。如此一来,需求就不再同质,而是分为两种不同的类别,需要分别进行估算。


    使用产能分配管理需求风险


    我们会按照类型将需求划分为多个批次,并针对各个批次构建模拟仿真。例如,对于如本系列文章第二部分中所描述的调控性需求,我们将其与项目中非调控性需求分开预测。正如第二部分所讨论的,调控性需求一般具有固定的交付日期,并且项目交付日期通常具有法规效力。一批调控性需求需要在项目结束前交付,如此一来,我们可以在看板系统中引入产能分配,在整个项目的生命周期中以稳定的速度拉动调控性需求。


    知道了调控性需求的规模、交付日期和当前的日期,我们就可以计算出需求平均交付速度。通过看板系统可以得出拉动调控性需求的前置时间分布。有了这些参数,就可以计算出调控性需求的在制品(WIP)限制数量。这将成为在整个看板系统中的产能分配。我们在可视化看板上设计一个泳道或者使用不同颜色的卡片用来标记调控性需求。至此,我们已卓有成效地建立了看板子系统,用以按照需要的节奏来拉动调试性需求。从现在开始,可以确保所有的调控性需求在交付项目的截止日期之前完成。


    是否应该对法规变更(Regulatory Changes)需求进行排序?由第二部分讨论可知,这取决于某些这类需求是否仍可能发生变化——原因可能包括游说、管理者决策多变或者是政治领导层的变化。如果需求没有变化,则从业务风险角度来看,调控性需求是同质的,可以按自己喜欢的顺序进行拉动,而不需要对它们进行排序。如果部分调控性需求仍然有可能改变,则这些需求应该推迟到项目的后期。在项目开始和早期阶段,应该对需求进行排序,并且选择那些已知的比较稳定的调控性需求,而推迟不稳定的需求,直到所有不确定因素被消除。


    总结


    尽管使用历史数据构建前置时间直方图、绘制最合适的分布曲线、预测项目完成进度、建立WIP数量限制、构造产能分配并将分配策略付诸实践听起来都比较复杂,而且需要对统计学有基本的了解,但这样进行项目计划实际上却非常高效、简便。由于已对需求进行评估并就风险类别进行了标记,数小时之内便可建立项目预测模型。即便对于周期超过1年、成本超过1000万美元的重大项目,几个人花上不到一天的时间对必要的数据进行收集和分析,就能构建出可靠、高质的预测模型。


    传统的决定性的计划方式中,需要对项目中的工作项逐一评估。相比之下,用本文所介绍的方式做出的概率预测,通常要准确得多(与实际结果更加接近),同时构建起来也快得多,成本也大幅减少。概率预测的一大好处是,不需要让专注于客户所关心的工作的员工停下来,对未来的(经常是带推断意味的)工作进行估算。打断工作是对资源的浪费。许多看板案例研究都显示,消除这种打扰之后,项目的交付速度、前置时间、可预测性和质量等方面都有大幅改观。


    本文介绍了具有三个阶段的预测模型(所谓“Z型曲线”模型)。如果使用LeanKit或者Swift Kanban产品,还可借助蒙特卡罗模拟功能,对项目的结果做出更加靠谱的预测。预测效率更高、成本更低,结果通常也较传统的估算、计划方法准确得多。看板系统让预测能更广泛地用于项目风险管理,同时也让进度管理和产能分配相关的策略更加清晰,从而确保能较好地把控项目。


    四、风险审查与阻碍集群


    本部分阐述了项目经理如何促进风险管理并对平均前置时间与前置时间分布进行控制。其重要之处在于确保在第3部分中所描述的预测在整个项目周期内是准确、可信的。以及描述的阻塞项归类技术最早由Klaus Leopold提出,不仅可以用于管理项目风险,还可用于促进过程改进。


    归类阻塞项(Blockering Clustering)


    上图中的例子是某次阻塞项归类实践的输出。其中这些便签在使用看板过程中收集到的一个月内的阻塞项。每个便签都记录了阻塞原因和阻塞天数。本例中,我们把阻塞归为外部阻塞和内部阻塞,然后再根据根因做进一步归类。


    事件风险分析



    风险 = 可能性 × 影响


    上面这个计算公式大家一定很熟悉,它属于经典的项目管理知识。目的是计算给定的风险事件发生的严重性。通过对阻塞项加以归类,我们就能够得到代入公式所需的信息。如果仔细查看图片,你就会发现,“客户”(德语为"kunde")这个阻塞归类影响共130天(德语为"tage"),若我们准确地知道这个归类的阻塞项总数(这里貌似有13个便签),就能推断出,由于等待客户响应,会造成平均每个为此而阻塞的工作所受到的阻塞影响为10天。因此我们就可以知道,风险(顾客拖延)平均对每个阻塞项的影响为10天。如果在这段时间内,所有我们处理的便签共有65张,则由于某客户而导致某便签被阻塞的可能性为13除以65,即1/5或20%。



    客户拖延的风险 = 20% × 10天


    因此,阻塞项归并实践使用直接从看板墙上收集到的便签,便可以直接得到项目的风险计划。


    风险审查会议


    看板方法第5个主要实践是“实现反馈循环”。目前只有三种具体实践:每日站会、服务交付评审会议和运营回顾会议。在精益看板《现代管理框架中》,我们增加了第四个具体的反馈循环实践,即:风险审查会议。而阻塞项归并则是风险审查会议中关键的协作活动之一。


    过程改进


    阻塞项归类的输出不仅可以预示出项目风险计划,还可以用来促进过程改进。我们可以有针对性地对影响更大的延迟源有针对性地采取风险降低和缓解措施,以图消除延迟源或显著降低发生延迟的可能性及影响。从这个角度来说,阻塞项归类能够在组织内形成某种模型驱动的改进和不断改进服务交付的进化过程。


    作者介绍:David Anderson,软件看板之父,管理咨询公司 DJAA 的 CEO,国际看板认证机构 Lean Kanban University 的核心创始人。拥有近30年的软件开发行业经验,曾在Sprint、摩托罗拉、微软、Corbis等公司从事软件开发管理工作,倡导以敏捷方法进行项目开发。2005年,他将Kanban方法引入软件开发流程并取得显著成效,之后,他将精益与敏捷思想与实践更深入地应用于IT交付、技术创新、产品运营等领域,在深层次催化组织的渐进式变革。曾任全球精益Kanban大会的主席,经常应邀在知名的国际会议上演讲。著作包括:《Lessons in Agile Management》、《Kanban》、《Agile Management for Software Engineering》等书籍。


    本文是软件看板之父David Anderson 博客文章,项目管理系列集锦,由Agilean学院陈玉毅、张明翻译,侯伯薇审校。


    (文章摘自 CSDN,作者:David Anderson,若有版权问题请联系:tous@agileclub.org)

    展开全文
  • It is now 10 years this month that I started work with Microsoft in the Team Foundation Server product unit. In my first week I was given the specification for the tracking software and asked to revie

    本文由David J. Anderson发表于LeanKanbanUniversity。
    这个月我已经在微软Team Foundation Server产品团队工作了10个年头。第一周,我收到了这个跟踪软件的规范,我需要对其进行评审。第四天,我找到了我的上司,并告诉他“这个产品的设计不符合真实软件团队工作的方式。真实的团队不会采用仅用了一天拼凑出来的规定的、预定义的流程,相反,他们会增量地使用实践,并且他们的流程是不断演进的。”问题在于TFS进行项目跟踪需要载入某种过程定义和一系列工作项类型定义的这种机制。这些在项目开始之前就必须确定下来。一旦载入了定义,项目就只能使用这些固定不变的工作项定义,这些工作项定义在项目进行中不能被改变。诸如此类的机制成为了流程改进的障碍。这个问题不只存在于Team Foundation Server,在许多流行的工作跟踪产品中普遍具有这个问题。

    工作跟踪软件的工作方式中,使用了如此静态的工作类型和状态转换定义,原因如下:
    首先,设计这些产品功能的产品经理使用产品的方式,与开发人员、分析人员、架构人员和测试人员使用的方式不相同,并且他们没有管理过不断变更流程的软件开发团队。
    其次,构建一种灵活的工具,使工作类型和状态变化在过程中变化非常困难。虽然可视化变化很微不足道,但是如何处理已有数据?如何处理在制的工作项?这些工作项需要从最初所设想的一系列状态转换为一系列新的状态。并且当状态转化模型发生变化时,在图表中,如何控制数据报表的显示?

    LeanKit和Swift Kanban这类看板工具的设计和架构便是从解决这个问题的背景出发的。这些看板工具旨在促进演进式过程改进并且做得相当优美。

    当客户向我的公司进行咨询或者参加我们的LeanKanban认证培训班时,他们毫无疑问会说他们希望使用看板方法来管理他们的创造性知识工作服务,例如软件开发。在这种情况下,他们会说他们一定会用演进的方式来进行改进,但是通常他们正在使用某种工作跟踪产品,而这些产品不支持演进式改变,而且由于成本或政策原因他们疲于切换到新的产品中。如果无法采用这种为”消除变革障碍“而设计的看板工具,这将会影响到你的预期——现有的软件将产生惰性并成为看板方法成功运用的障碍。

    甚至更糟!一般的跟踪软件不会产生用看板方法进行管理所需的数据。流行的产品JIRA甚至在默认情况下不会产生时间段数据。你可以通过导出数据到Excel和MiniTab来产生前置时间直方图(分布柱状图)或者累积流图。你还可以写代码调用API的方式获得。TFS至少还能够原生的获得这些。

    对一些客户来说,他们快速地使用了一种双模式方法,既使用物理看板墙也使用现有的跟踪软件。物理墙会很快演变并且这个流程很快就会与工具中定义的流程产生不一致了。这带来了更多问题:什么时候更新工具并且什么时候至在物理墙上移动一个工作项?与此同时,数据的收集只能靠人工进行了。

    如果你真要更好地管理创造知识工作者的企业,如果你真的要进行演进式改进来获得更好的健康度和更好的顾客满意度,你就必须在一款合适的看板软件产品上进行投资。你必须为工具切换进行投资。不要为你正在使用的工具的提供商所供应的所谓”看板“所分心。TFS的看板模板对于没有流程并且希望试用一个看板系统的团队来说是个不错的开始,但TFS底层架构还没有改变。TFS的Kanban过程模板不能够促进演进式改进。JiraAgile也不是。太多的工具厂商认为看板方法只是提供了更好的可视化。他们的产品架构不支持演进式改进。我们的社区中活跃5-7年的这些人所做的才是真正的看板软件产品,因为这些软件真的为了使用看板方法而设计。

    所以问问你自己,我们是否真的要改进,是否真要获得持续保健与优秀的顾客服务?如果是,帮你自己一个忙,用一用真的能够让你成功的工具。如果你还没有准备好使用这样一款工具,再问一问你自己,我们真的想要改进和更好的顾客服务吗?或者所有这些活动只是个借口伪装?

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    每周技术抢先看,总有你想要的!

    移动开发

    1. 【软件】移动后端服务平台 Uncode

    2. 【博客】Android四大组件之一:BroadcastReceiver

    3. 【博客】仿QQ列表滑动弹出按钮、长按提示、刷新列表

    服务端开发/管理

    1. 【翻译】AngularJS 是否能满足企业应用的安全需求

    2. 【翻译】Node.js 和 io.js - 在性能上很不同

    3. 【软件】协议复用的代理服务器 Switcher

    4. 【软件】Hadoop 数据管理平台 Apache Falcon

    5. 【软件】微信公众平台Js API WeixinApi

    6. 【软件】AngularJS 的 OAuth2 模块 angular-oauth2

    7. 【博客】基于Cpdetector 检测文件编码

    8. 【博客】浅谈COOKIES、SESSION和安全

    编程语言

    1. 【翻译】Swift 矢量图形框架 SwiftGraphics

    2. 【软件】Akka 的 .NET 开源实现 Akka.NET

    3. 【软件】PHP 内容缓存 Yac

    4. 【博客】JVM运行时内存结构

    系统运维

    1. 【翻译】在加密磁盘中执行代码

    2. 【翻译】在一台 256 兆内存的 VPS 中部署 NixOS

    3. 【软件】数据备份工具 ZBackup

    4. 【软件】设备服务管理系统 Ducter

    5. 【博客】Redhat 6.4 安装 Oracle10g 血泪史

    6. 【博客】Samba日志分析

    7. 【博客】Squid服务日志分析

    软件工程

    1. 【翻译】拷贝一个 Github 的 Pull Request 到 Gitlab

    2. 【软件】开源看板管理系统 LibreBoard

    3. 【博客】使用 Gradle 发布开源项目到 Maven Central

    Git@OSC 项目推荐

    1. Git@OSC 项目推荐 —— Erlang VM 监控工具

    2. Git@OSC 项目推荐 —— ThinkCMF内容管理框架

    3. Git@OSC 项目推荐 —— Dorothy 骨骼动画编辑器

    4. Git@OSC 项目推荐 —— RocketMQ 与 Flume-ng 的消息接收和投递

    5. Git@OSC 项目推荐 ——  Uncode 移动后端框架

    精选活动

    1. OSC 第 61 期高手问答 —  Activiti 实战

    2. 2015 “甲骨文杯”全国 Java 程序设计大赛邀请

    3. 1月25日(本周日)西安 OpenParty 华为开源专场

    4. 开源中国继续招聘 iOS 工程师,送开源内裤哦

    其他类型

    1. 关于 “开源” 软件的一些看法

    2. IKAnalyzer中文分词,计算句子相似度

    3. Android studio 使用心得(三)---从Eclipse迁移到Android studio

    4. 2014 年最热门的国人开发开源软件 TOP 100

    5. 超过 20 款蓝牙相关的开源工具和开发包

    上一期 OSChina 技术周刊:OSChina 技术周刊第十八期

    如果想要收藏所有 OSChina 技术周刊专题,可以直接关注【OSChina技术周刊】标签,打开标签就能看到所有的 OSChina 技术周刊了。

    转载于:https://my.oschina.net/osceditor/blog/371595

    展开全文
  • [转]程序员资料整理

    2017-05-09 17:17:54
    前言一些主流技术资源整理。目录 资料篇 技术站点 必看书籍 大牛博客 GitHub篇 工具篇 平台工具 常用工具 第三方服务 ...Swift .NET C & C++ 其他 游戏开发相关 日志聚合,分布式日志收集 RTP,实时传输

    前言

    一些主流技术资源整理。

    目录


    资料篇

    技术站点

    必看书籍

    • SICP(Structure and Interpretation of Computer Programs)
    • 深入理解计算机系统
    • 代码大全2
    • 人件
    • 人月神话
    • 软件随想录
    • 算法导论(麻省理工学院出版社)
    • 离散数学及其应用
    • 设计模式
    • 编程之美
    • 黑客与画家
    • 编程珠玑
    • The Little Schemer
    • Simply Scheme_Introducing_Computer_Science
    • C++ Prime
    • Effective C++
    • TCP/IP详解
    • Unix 编程艺术
    • 技术的本质
    • 软件随想录
    • 计算机程序设计艺术
    • 职业篇:程序员的自我修养,程序员修炼之道,高效能程序员的修炼
    • 《精神分析引论》弗洛伊德
    • 《失控》《科技想要什么》《技术元素》凯文凯利
    • 程序开发心理学
    • 天地一沙鸥
    • 搞定:无压力工作的艺术

    大牛博客

    GitHub篇

    * Awesome *

    * 书籍资料 *

    * 优秀项目 *

    * 前端 & Node.js *

    * 工作,工具 *

    工具篇

    平台工具

    • Phabricator: 软件开发平台,Facebook出品,现已开源,CodeReview神器(从这个往下一直到GitLab之间的工具统统可以忽略了)
    • Redmine/Trac:项目管理平台
    • Jenkins/Jira(非开源):持续集成系统(Apache Continuum,这个是Apache下的CI系统,还没来得及研究)
    • git,svn:源代码版本控制系统
    • GitLab/Gitorious:构建自己的GitHub服务器
    • Postman:RESTful,api测试工具,HTTP接口开发必备神器
    • Lottie: AE动画变原生代码,设计师必备
    • Sonar:代码质量管理平台
    • Nessus: 系统漏洞扫描器
    • gitbook:https://www.gitbook.io/写书的好东西,当然用来写文档也很不错的(发现不少产品的文档就是用的它)
    • Travis-ci:开源项目持续集成必备,和GitHub相结合,https://travis-ci.org/
    • Trello:简单高效的项目管理平台,注重看板管理
    • 日志聚合:graylog、ELK(推荐新一代的graylog,基本上算作是开源的Splunk了)
    • 开源测试工具、社区(Selenium、OpenQA.org)
    • Puppet:一个自动管理引擎,可以适用于Linux、Unix以及Windows平台。所谓配置管理系统,就是管理机器里面诸如文件、用户、进程、软件包这些资源。无论是管理1台,还是上万台机器Puppet都能轻松搞定。其他类似工具:CFEngine、SaltStack、Ansible
    • Nagios:系统状态监控报警,还有个Icinga(完全兼容nagios所有的插件,工作原理,配置文件以及方法,几乎一模一样。配置简单,功能强大)
    • Ganglia:分布式监控系统
    • fleet:分布式init系统
    • Ansible:能够大大简化Unix管理员的自动化配置管理与流程控制方式。
    • GeoLite免费数据库
    • jsHint:js代码验证工具
    • haproxy: 高可用负载均衡(此外类似的系统还有nginx,lvs)
    • linux OS性能分析工具:dstat,iostat,iotop,nmon
    • kimono:将网页信息转换为api接口的工具
    • 集群管理工具:pdsh,ClusterSSH,mussh(可以用它快速管理Hadoop集群)ipa-server做统一的认证管理
    • influxdb: 分布式时序数据库,结合Grafana可以进行实时数据分析
    • dot: 程序员绘图利器(是种语言,也是个工具)
    • Graph::Easy: (Ascii Art工具)字符流程图绘制,实乃程序员装逼神器。其他类似的工具Asciiflow, vi插件:drawit!
    • spf13-vim: 让你的vim飞起来!
    • Kubernetes: 容器集群管理系统
    • Gatling: 服务器性能压力测试工具
    • systemtap: Linux内核探测工具、内核调试神器
    • Cygwin:Windows下的类UNIX模拟环境
    • MinGW:Windows下的GNU工具集

    常用工具

    • Mac下的神兵利器
    • asciinema: 终端录屏神器
    • Fiddler:非常好用的Web前端调试工具,当然是针对底层http协议的,一般情况使用Chrome等自带的调试工具也足够了,特殊情况还得用它去处理
    • Charles: Mac上的Web代理调试工具,类似Fiddler
    • fir.im免费的移动App内测托管平台
    • wireshark:知名的网络数据包分析工具
    • PowerCmd:替代Windows Cmd的利器
    • RegexBuddy:强大的正则表达式测试工具
    • Soure Insight:源代码阅读神器
    • SublimeText:程序员最爱的编辑器
    • Database.NET:一个通用的关系型数据库客户端,基于.NET 4.0开发的,做简单的处理还是蛮方便的
    • Navicat Premium:支持MySql、PostgreSQL、Oracle、Sqlite和SQL Server的客户端,通用性上不如Database.NET,但性能方面比Database.NET好很多,自带备份功能也用于数据库定时备份。
    • Synergy : 局域网内一套键盘鼠标控制多台电脑
    • DameWare:远程协助工具集(我在公司主要控制大屏幕用)
    • Radmin: 远程控制工具,用了一段时间的DameWare,还要破解,对Win7支持的不好,还是发现这个好用
    • Listary:能极大幅度提高你 Windows 文件浏览与搜索速度效率的「超级神器」
    • Clover:给资源管理器加上多标签,我平时工作的时候就用它,像Chrome一样使用资源管理器,甚是方便啊(这是Windows平台的)
    • WinLaunch:模拟Mac OS的Launch工具
    • OllyDbg: OD大名鼎鼎的反汇编工具,Win平台
    • Fritzing:绘制电路图
    • LICEcap:gif教程制作
    • git,svn:版本控制系统
    • Enigma Virtual Box(将exe,dll等封装成一个可执行程序)
    • Open DBDiff(针对SqlServer)数据库同步
    • SymmetricDS:数据库同步
    • BIEE,Infomatica,SPSS,weka,R语言:数据分析
    • CodeSmith,LightSwitch:代码生成
    • Pandoc:Markdown转换工具,出书用的。以前玩过docbook,不过现在还是Markdown盛行啊。
    • Window Magnet[Mac]:增强Mac窗口管理功能,想Win7一样具有窗口拖放到屏幕边缘自动调整的功能
    • log explorer:查看SqlServer日志
    • dependency walker:查询Windows应用程序dll依赖项
    • Shairport4w:将iPhone,iPad,iPod上的音频通过AirPlay协议传输到PC上
    • ngrok:内网穿透工具
    • Axure:快速原型制作工具,还有个在线作图的工具国内的一个创业团队做的,用着很不错http://www.processon.com/
    • Origami: 次世代交互设计神器
    • 百度脑图:http://naotu.baidu.com/
    • tinyproxy:(Linux)小型的代理服务器支持http和https协议
    • EaseUS Partition Master:超级简单的分区调整工具,速度还是蛮快的,C盘不够用了就用它从D盘划点空间吧,不用重装系统这么折腾哦。
    • CheatEngine:玩游戏修改内存值必备神器(记得我在玩轩辕剑6的时候就用的它,超级方便呢)
    • ApkIDE:Android反编译神器
    • 翻、墙工具(自|由|门、天行浏览器,免费的VPN:http://www.mangovpn.com/),发现最方便还属Lantern,免费用起来超级方便(更新于2015-08-22)
    • 设计工具:Sketch、OmniGraffle
    • MindManger:思维导图
    • MagicDraw:Uml图工具
    • innotop:MySql状态监测工具
    • 墨刀:比Axure更为简单的原型工具,可以快速制作原型
    • Karabiner: Mac专用,修改键盘键位的神器,机械键盘必备
    • Timing:Mac专用,统计你的时间都花在哪了
    • f.lux: 护眼神器,过滤蓝光,程序员护眼必备良品
    • LaTeX: 基于ΤΕΧ的排版系统, 让写论文更方便
    • Antlr:开源的语法分析器,可以让你毫无压力的写个小parser

    第三方服务

    • DnsPod:一个不错的智能DNS服务解析提供商
    • DigitalOcean:海外的云主机提供商,价格便宜,磁盘是SSD的,用过一段时间整体上还可以,不过毕竟是海外的,网速比较慢。国内的就是阿里云了。还有个比较知名的是:Linode,据说速度上比DigitalOcean好很多
    • 移动端推送服务:个推、JPush、云巴
    • LeanCloud:移动应用开发服务,包括:数据存储、用户管理、消息推送、应用统计、社交分享、实时聊天等服务
    • Color Hunt: 漂亮炫酷的配色网站,程序员的福音
    • Heroku: PaaS平台

    爬虫相关(好玩的工具)

    • Phantomjs(Web自动化测试,服务端渲染等)
    • berserkJS(基于Phantomjs的改进版本)
    • SlimerJS
    • CasperJS
    • selenium
    • HtmlUnit(开源的java 页面分析工具,也是个Headless的浏览器)

    安全相关

    • sql注入检测:sqlmap、haviji
    • 端口扫描:nmap
    • 渗透测试:BurpLoader
    • sqltools: sql漏洞利用工具
    • snort: 入侵检测

    Web服务器性能/压力测试工具/负载均衡器

    • ab: ab是apache自带的一款功能强大的测试工具
    • curl-loader: 真实模拟、测试Web负载
    • http_load: 程序非常小,解压后也不到100K
    • webbench: 是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
    • Siege: 一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
    • squid(前端缓存),nginx(负载),nodejs(没错它也可以,自己写点代码就能实现高性能的负载均衡器):常用的负载均衡器
    • Piwik:开源网站访问量统计系统
    • ClickHeat:开源的网站点击情况热力图
    • HAProxy:高性能TCP /HTTP负载均衡器
    • ElasticSearch:搜索引擎基于Lucene
    • Page Speed SDK和YSLOW
    • HAR Viewer: HAR分析工具
    • protractor:E2E(end to end)自动化测试工具

    大数据处理/数据分析/分布式工具

    • Hadoop:分布式的文件系统,结合其MapReduce编程模型可以用来做海量数据的批处理(Hive,Pig,HBase啥的就不说了),值得介绍的是Cloudera的Hadoop分支CDH5,基于YARN MRv2集成了Spark可直接用于生产环境的Hadoop,对于企业快速构建数据仓库非常有用。
    • Spark:大规模数据处理框架(可以应付企业中常见的三种数据处理场景:复杂的批量数据处理(batch data processing);基于历史数据的交互式查询(interactive query);基于实时数据流的数据处理(streaming data processing)),CSND有篇文章介绍的不错
    • 除了Spark,其他几个不错的计算框架还有:Kylin,Flink,Drill
    • Ignite: In-Memory Data Fabric
    • CarbonData: 华为的孵化项目,支持索引的列式存储
    • Ceph:Linux分布式文件系统(特点:无中心)
    • Storm:实时流数据处理,可以看下IBM的一篇介绍 (还有个Yahoo的S4,也是做流数据处理的)
    • Druid: 实时数据分析存储系统
    • Ambari: 大数据平台搭建、监控利器;类似的还有CDH
    • Tachyon:分布式内存文件系统
    • Mesos:计算框架一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享
    • Impala:新一代开源大数据分析引擎,提供Sql语义,比Hive强在速度上
    • presto: facebook的开源工具,大数据分布式sql查询引擎
    • SNAPPY:快速的数据压缩系统,适用于Hadoop生态系统中
    • Kafka:高吞吐量的分布式消息队列系统
    • ActiveMQ:是Apache出品,最流行的,能力强劲的开源消息总线
    • MQTT:Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分
    • RabbitMQ:记得OpenStack就是用的这个东西吧
    • ZeroMQ:宣称是将分布式计算变得更简单,是个分布式消息队列,可以看下云风的一篇文章的介绍
    • 开源的日志收集系统:scribe、chukwa、kafka、flume。这有一篇对比文章
    • Zookeeper:可靠的分布式协调的开源项目
    • Databus:LinkedIn 实时低延迟数据抓取系统
    • 数据源获取:Flume、Google Refine、Needlebase、ScraperWiki、BloomReach
    • 序列化技术:JSON、BSON、Thrift、Avro、Google Protocol Buffers
    • NoSql:ScyllaDB(宣称是世界上最快的NoSql)、Apache Casandra、MongoDB、Apache CouchDB、Redis、BigTable、HBase、Hypertable、Voldemort、Neo4j
    • MapReduce相关:Hive、Pig、Cascading、Cascalog、mrjob、Caffeine、S4、MapR、Acunu、Flume、Kafka、Azkaban、Oozie、Greenplum
    • 数据处理:R、Yahoo! Pipes、Mechanical Turk、Solr/ Lucene、ElasticSearch、Datameer、Bigsheets、Tinkerpop
    • NLP自然语言处理:Natural Language Toolkit、Apache OpenNLP、Boilerpipe、OpenCalais
    • 机器学习:TensorFlow(Google出品),WEKA、Mahout、scikits.learn、SkyTree
    • 可视化技术:GraphViz、Processing、Protovis、Google Fusion Tables、Tableau、Highcharts、EChats(百度的还不错)、Raphaël.js
    • Kettle:开源的ETL工具
    • Pentaho:以工作流为核心的开源BI系统
    • Mondrian:开源的Rolap服务器
    • Oozie:开源hadoop的工作流调度引擎,类似的还有:Azkaban
    • 开源的数据分析可视化工具:Weka、Orange、KNIME
    • Cobar:阿里巴巴的MySql分布式中间件
    • 数据清洗:data wrangler, Google Refine

    Web前端

    • Material Design: 谷歌出品,必属精品
    • Vue.js: 借鉴了Angular及React的JS框架,设计理念较为先进
    • GRUNT: js task runner
    • Sea.js: js模块化
    • knockout.js:MVVM开发前台,绑定技术
    • Angular.js: 使用超动感HTML & JS开发WEB应用!
    • Highcharts.js,Flot:常用的Web图表插件
    • NVD3: 基于d3.js的图表库
    • Raw:非常不错的一款高级数据可视化工具
    • Rickshaw:时序图标库,可用于构建实时图表
    • JavaScript InfoVis Toolkit:另一款Web数据可视化插件
    • Pdf.js,在html中展现pdf
    • ACE,CodeMirror:Html代码编辑器(ACE甚好啊)
    • NProcess:绚丽的加载进度条
    • impress.js:让你制作出令人眩目的内容展示效果(类似的还有reveal)
    • Threejs:3DWeb库
    • Hightopo:基于Html5的2D、3D可视化UI库
    • jQuery.dataTables.js:高度灵活的表格插件
    • Raphaël:js,canvas绘图库,后来发现百度指数的图形就是用它绘出来的
    • director.js:js路由模块,前端路由,Nodejs后端路由等,适合构造单页应用
    • pace.js:页面加载进度条
    • bower:Web包管理器
    • jsnice:有趣的js反编译工具,猜压缩后的变量名,http://www.jsnice.org/
    • D3.js: 是一个基于JavaScript数据展示库(类似的还有P5.js)
    • Zepto.js:移动端替代jQuery的东东,当然也可以使用jquery-mobile.
    • UI框架:Foundation,Boostrap,Pure,EasyUI,Polymer
    • 前段UI设计师必去的几个网站:Dribbble,awwwards,unmatchedstyle,UIMaker
    • Mozilla 开发者中心:https://developer.mozilla.org/en-US/
    • 图标资源:IcoMoon(我的最爱),Font Awesome, Themify Icons,FreePik,Glyphicons
    • artDialog:非常漂亮的对话框
    • AdminLTE:github上的一个开源项目,基于Boostrap3的后台管理页面框架
    • Respond.js:让不懂爱的IE6-8支持响应式设计
    • require.js: js模块加载库
    • select2:比chosen具有更多特性的选择框替代库
    • AngularUI:集成angular.js的UI库
    • normalize.css: 采用了现代化标准让各浏览器渲染出的html保持一致的库
    • CreateJS:Html5游戏引擎
    • Less,Compass:简化CSS开发
    • emojify.js:用于自动识别网页上的Emoji文字并将其显示为图像
    • simditor:一个不错的开源的html编辑器,简洁高效
    • Sencha: 基于html5的移动端开发框架
    • SuperScrollorama+TweenMax+skrollr:打造超酷的视差滚动效果网页动画
    • jquery-smooth-scroll:同上,平滑滚动插件
    • Animate.css:实现了各种动画效果的css库
    • Emmet:前端工程师必备,前身为 Zen Coding
    • React: facebook出品的js UI库
    • highlight.js:专门用来做语法高亮的库
    • GoJS: Html5交互式图表库,看demo更适合层次结构的图表。
    • 10 Pure CSS (Mostly) Flat Mobile Devices: http://marvelapp.github.io/devices.css/
    • CodePen: http://codepen.io/
    • jsfiddle: http://jsfiddle.net/ 前端js,html,css测试利器

    语言篇

    折腾中:Scala、Python、Lua、JavaScript、Go

    待折腾:
    - Racket
    - OCaml
    - Rust
    - Julia

    Scala

    Java

    • 常用的IDE:IntelliJ IDEA(强烈推荐),Eclipse,Netbeans
    • fastutil: 性能更好的Java集合框架
    • Guava: 谷歌的Java工具包,应用广泛
    • Curator:Netflix公司开源的一个Zookeeper client library,用于简化Zookeeper客户端编程,现在已经是apache下的一个独立项目了。Spark的HA也用的这货。
    • Rx(Reactive Extensions)框架:Vert.x, RxJava(Android中用的比较多), Quasar
    • FindBugs: 代码静态分析工具,找出代码缺陷
    • Java反编译工具:Luyten,JD-Gui
    • Drools: 规则引擎
    • Jersey: Java RESTful 框架
    • canal: 阿里巴巴出品,binlog增量订阅&消费组件
    • Web开发相关:Tomcat、Resin、Jetty、WebLogic等,常用的组件Struts,Spring,Hibernate
    • Netty: 异步事件驱动网络应用编程框架,用于高并发网络编程比较好(NIO框架,spark 1.2.0就用netty替代了nio)
    • MINA:简单地开发高性能和高可靠性的网络应用程序(也是个NIO框架),不少手游服务端是用它开发的
    • jOOQ:java Orm框架
    • Janino: 超级小又快的Java编译器,Spark的Tungsten引起用的它
    • Activiti:工作流引擎,类似的还有jBPM、Snaker
    • Perfuse:是一个用户界面包用来把有结构与无结构数据以具有交互性的可视化图形展示出来.
    • Gephi:复杂网络分析软件, 其主要用于各种网络和复杂系统,动态和分层图的交互可视化与探测开源工具
    • Nutch:知名的爬虫项目,hadoop就是从这个项目中发展出来的
    • web-harvest:Web数据提取工具
    • POM工具:Maven+Artifactory
    • Akka:一款基于actor模型实现的 并发处理框架
    • EclEmma:覆盖测试工具
    • Shiro:安全框架
    • joda-time:简化时间处理
    • parboiled:表达式解析
    • dozer: 深拷贝神器
    • dubbo: 阿里巴巴出品的分布式服务框架
    • jackson databind: json序列化工具(fastjson,simplejson)
    • Atomikos: 分布式事务管理
    • BoneCP:性能很赞的数据库连接池组件,据说比c3p0快好多
    • ProGuard: obconfuscation tool, 强大的混淆工具
    • S-99:Scala相关的99个问题

    Python

    • PyCharm:最佳Python IDE
    • Eric,Eclipse+pydev,比较不错的Python IDE
    • PyWin:Win32 api编程包
    • numpy:科学计算包,主要用来处理大型矩阵计算等,此外还有SciPy,Matplotlib
    • GUI相关:PyQt,PyQwt
    • supervisor:进程监控工具
    • PyGame: 基于Python的多媒体开发和游戏软件开发模块
    • Web框架: Django 开源web开发框架,它鼓励快速开发,并遵循MVC设计

    Swift

    客户端

    Framework

    小工具

    游戏

    .NET

    • Xilium.CefGlue:基于CEF框架的.NET封装,基于.NET开发Chrome内核浏览器
    • CefSharp:同上,有一款WebKit的封装,C#和Js交互会更简单
    • netz:免费的 .NET 可执行文件压缩工具
    • SmartAssembly:变态的.net代码优化混淆工具
    • NETDeob0:.net反混淆工具,真是魔高一尺道高一丈啊(还有个de4dot,在GitHub上,都是开源的)
    • ILMerge:将所有引用的DLL和exe文件打成一个exe文件
    • ILSpy:开源.net程序反编译工具
    • Javascript.NET:很不错的js执行引擎,对v8做了封装
    • NPOI: Excel操作
    • DotRAS:远程访问服务的模块
    • WinHtmlEditor: Winform下的html编辑器
    • SmartThreadPool:使用C#实现的,带高级特性的线程池
    • Snoop: WPF Spy Utility
    • Autofac: 轻量级IoC框架
    • HtmlAgilityPack:Html解析利器
    • Quartz.NET:Job调度
    • HttpLib:@CodePlex,简化http请求
    • SuperSocket:简化Socket操作,基于他的还有个SuperWebSocket,可以开发独立的WebSocket服务器了
    • DocX:未安装Office的情况下操作Word文件
    • Dapper:轻量级的ORM类,性能不错
    • HubbleDotNet:支持接入数据库的全文搜索系统
    • fastJSON:@CodeProject,高性能的json序列化类
    • ZXing.NET:@CodePlex,QR,条形码相关
    • Nancy:轻量级Http服务器,做个小型的Web应用可以摆脱IIS喽(Nancy.Viewengines.Razor,可以加入Razor引擎)
    • AntiXSS:微软的XSS防御库Microsoft Web Protection Library
    • Jint:JavaScript解释器
    • CS-Script:将C#代码文件作为脚本执行
    • Jexus:Linux下 高性能、易用、免费的ASP.NET服务器
    • Clay:将dynamic发挥的更加灵活,像写js一样写C#
    • DynamicJSON:不必定义数据模型获取json数据
    • SharpPcap:C#版的WinPcap调用端,牛逼的网络包分析库(自带PacketNotNet用于包协议分析)
    • Roslyn:C#,VB编译器
    • ImageResizer: 服务端自由控制图片大小,真乃神器也,对手机端传小图,PC端传大图,CMS用它很方便
    • UI相关:DevExpress, Fluent(Office 07风格), mui(Modern UI for WPF)
    • NetSparkle:应用自动更新组件
    • ConfuserEx: 开源.net混淆工具
    • ServiceStack: 开源高性能Web服务框架,可用于构建高性能的REST服务
    • Expression Evaluator:Eval for C#,处理字符串表达式
    • http://nugetmusthaves.com/
    • Reactive Extensions (Rx):异步,事件驱动编程包, Rx = Observables + LINQ + Schedulers

    C & C++

    • Thrift:用来进行可扩展且跨语言的服务的开发(类似的还有个Avro,Google protobuf)。
    • libevent:是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。(对了还有个libev呢)
    • Boost:不多说了,准C++标准库
    • Valgrind\Ptmalloc\Purify: 调试工具
    • NetworkServer架构:acceptor->dispatcher->worker(这个不算工具哦)
    • POCO - 开源的C++类库及应用程序框架的集合,它主要提供简单的、快速的网络和可移植应用程序
    • breakpad:崩溃转储和分析模块,很多crashreport会用到
    • UI界面相关:MFC、BCG和QT这类的就不说了,高端一点的还有Html和DirectUI技术:libcef(基于chrome内核的,想想使用html5开发页面,还真有点小激动呢)、HtmlLayout、Duilib、Bolt,非C++的,还有node-webkit也不错,集成了node和webkit内核。

    其他

    游戏开发相关

    • MINA:使用Java开发手游和页游服务器(对了还有Netty,也很猛的,都是基于NIO的)
    • HP-Socket:见有有些页游服务器使用这个构建的
    • Unreal: 虚幻引擎,C++,基于这个引擎的游戏很多
    • OGRE:大名鼎鼎的3D图形渲染引擎,天龙八部OL、火炬之光等不少游戏都用了这个引擎
    • OpenVDB:梦工厂C++的特效库,开源的
    • cocos2d:跨平台2D游戏引擎
    • unity3d:跨平台3D游戏引擎,很火的哦
    • Nodejs:也有不少使用它来开发手游和页游服务器(网易的Pomelo)

    日志聚合,分布式日志收集

    • Scribe:Facebook的(nodejs + scribe + inotify 同步日志)
    • logstash:强大的日志收集系统,可以基于logstash+kibana+elasticsearch+redis开发强大的日志分析平台
    • log.io: nodejs开发的实时日志收集系统
    • Graylog: 易用、功能丰富的日志管理系统, 部署、维护、搜索比ELK简单

    RTP,实时传输协议与音视频

    • RTP,RTCP,RTSP-> librtp,JRTPLIB(遵循了RFC1889标准)
    • 环形缓冲区,实时数据传输用
    • SDL,ffmpeg,live555,Speex
    • Red5:用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。

    原文出处

    展开全文
  • 这些基于云的工具可以帮助开发团队制定软件项目并保持利益相关者的参与。
  • 顶级黑客工具 如何使您的项目陷入困境? 以防万一,您有多种选择。 最肯定的是沟通不畅。 考虑到您无法理解客户的想法,而其他开发人员通常会有完全不同的愿景,因此将所有这些观点结合在一起是成功项目的基石。 ...
  • Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的精美应用! 如今,移动开发者们在同时兼容 iOS 和 Android 时有两种选择:走原生开发路线,把界面和逻辑...
  • vs2017 开发工具颜色 https://stackshare.io/posts/top-developer-tools-2017 最初发布于StackShare 这是您一直在等待的时刻! 好吧,无论如何,这是我们一直在等待的那个。 这是第四届年度StackShare大奖! ...
  • Swift相关 工作、工具篇 优秀项目篇 工具篇 平台工具 常用工具 第三方服务 爬虫相关(好玩的工具) 安全相关 Web服务器性能/压力测试工具/负载均衡器 大数据处理/数据分析/分布式工具 Web前端...
  • http://tools.zhaishidan.cn/ 资料篇 技术站点 必看书籍 ...工具篇 ...平台工具 ...常用工具 ...爬虫相关(好玩的工具) ...Web服务器性能/压力测试工具/负载均衡器 ...大数据处理/数据分析/分布式工具 ...Swift ...
  • 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flut...
  • 2016年前端技术观察

    2016-12-14 14:58:31
    前端技术,从最初的刀耕火种到现在的百花齐放、繁花迷眼,可以说达到了一个前所未有的鼎盛时期。当身边的同事张口闭口都是所谓H5的时候,作为一名前端开发者的我心中越来越多的却是迷惑和不解。...
  • Flutter 1.0 正式版: Google 的便携 UI 工具包       文 / Tim Sneath,Google Dart & Flutter 产品组产品经理   Flutter 是 Google 打造的 UI 工具包,通过一套代码同时在 iOS 和 Android 上构建...
1 2 3 4 5 ... 9
收藏数 176
精华内容 70
热门标签