前篇提要
项目管理是个苦差事,都说没有金刚钻,别揽瓷器活。我们要想让项目正常进展,按时交付客户,就要找到好的工具辅助自己,工欲善其事必先利其器。
1.项目管理工具
在日常IT项目管理中,我们都希望摒弃原来的人治,而来使用自动化项目管理工具,既能减轻项目管理者的负担,又能留下项目管理轨迹。现在的项目管理并不是单纯的就以前说的一个工程项目,现在只要涉及到不同部门不同人员要在一段时间内完成的一件事情我们都可以以一个项目来管理,通过项目管理,可全面管理项目组业务,加强跨部门沟通协调,有效配置和共享资源,减少计划拖延和降低运营成本。
目前市面上的项目管理工具众多,我就以用过觉得还不错的两款介绍给大家吧。
号称最好用的项目管理工具,这个也是大刘在项目组首先推广使用的一个。通过在桌面,网页,移动端上三位一体的无缝融合,软件平台使用node.js、mongoDB构建,启动快速,同步方便,其在web端的设计和体验非常好,另外,软件整体以团队项目管理为核心,并围绕主要功能增加了资源共享,素材分享等功能,设置了团队成员动态的时间流板块,同时还支持项目或任务回顾。整个页面的设计非常的小清新。
项目卡片式视图,比较直观,不过对于小型项目团队来说,一页里面的4个项目已经是极限了,当然不乏有项目项目数量较多的。可以打星标,设置重点项目,总体是比较扁平化的设计。
官网上说非常直观的任务版,可以自己设置筛选类别,针对每一个任务,你可以分解子任务、搭载附件、设定截止日期,而且也可以随时开展讨论。但是实际上用起来比较复杂,基本上所有的事情都要通过这个来记录的话,又加上了GTD的形式,很多情况下项目组成员只是把这个作为记事本用,扁平化的记录,也不利于模块的层次展开,总之小型敏捷项目用起来是没差的。
这个说实话是个好功能,不过我觉得里面集成一个文档管理工具可能会更好,例如金山快盘,360云盘之类的,因为项目组一般都会有自己的文档管理系统,而且例如金山快盘,百度云盘之类的更为专业和具体,关键是容量够大,开发视频什么的只要能知道就能存放,而不用担心大小问题。
Teambition企业版的没有用过,免费版的支持10个人以内的项目团队成员,基本上已经能够满足大部分项目组的要求了。总体说还是个很好的软件,尤其是UI体验上,Mac上使用起来简直就是享受。
从界面上来说,算是一款比较简洁的产品,在功能上主要分为任务、项目、日历、文档和讨论。和Teambition真的很像,我们看看免费版的功能模块
基本上什么都有,企业IM的是个亮点,不过说实话很多公司因为网络环境限制,一般用RTX,微信,QQ的更多,因为通用而且功能更强大。
基本上和Teambition差不多,不过让我觉得有亮点的地方,是在每个任务底下都可以设置检查项,拖拽进行任务分配之后,可以设立检查项,来查看每一个任务的进度,同很多协作软件一样,可以在任务底下进行讨论或@。�Worktile在移动端的设计非常简洁,功能也相应减少,同时安装包也很小。
�Worktile的审批模块,基本上可能当成一个移动OA来使用了,而且覆盖了项目周边的各项流程。另外值得一提的是,Worktile提供了2个使用解决方案:研发解决方案和电商解决方案,�其中研发解决方案应该是现在最为完善的项目管控流程了。
其中的代码共享,在Worktile企业版现在内置支持绝大多数主流的代码托管服务,包括:GitHub、BitBucket、Coding、CSDN Code、GitCafe、SVN、Git、GitLab,绑定这些应用,当在仓储上发生某些事件后,相关人员可以在Worktile 中收到通知,可以及时地查看。如果有更高要求的IT公司,建议使用这个企业版的整体解决方案。
2.软件开发工具
有了项目管理工具,接下来就得组织项目组的小伙伴们开始上手干活了。一个项目开发小组,基本上成员角色由前端UI设计,后端开发,系统架构Leader就可以开张了。
▶前端UI设计,一般由2名同学组成
▪ 平面设计
▪ 前端工程师
平面设计的同学基本上Photoshop,SketchBook,AI,几把刷子搞定界面原型,好处是软件功能完备,要什么有什么,劣势是时间成本过高,现在的需求基本上要求1-2天就要出来原型图,因为客户的时间也很宝贵。现在团队也在往快速原型设计上转变,比如现在市面上比较火的 墨刀 和 �Axure RP ,都是比较好的快速原型生成工具。
前端工程师的话,就是要把原型图通过HTML+CSS完整展现的人。团队现在用的前端神器Sublime Text,基本上各种插件一装,用起来就是飞一般的感觉。
大刘把现在用的Sublime插件分享下,每个前端同学喜好不同,基本上这几个就够用了。
BracketHighlighter,点击括号,对应的括号展示,标签配对的时候非常有用。
Emmet (Zen Coding),用了这个,写起HTML,CSS就是享受,尤其是网页布局,运算符加上嵌套标签,快速DIV布局分分钟就搞定。
SidebarEnhancements,在侧边栏的文件上右击时,这个插件提供了大量更多的选择。打开,查找,复制和粘贴,等等
ConvertToUTF8,使Sublime Text支持除UTF8外多种编码,尤其是中文支持。
SFTP,基本上SFTP,FTP协议都支持了,配置好插件后,直接保存就能同步到远端,或者通过菜单实现远端与本地的双向同步,非常好用。
▶后端开发
ZendStudio,Sublime,PHPStorm
项目组后端开发的同学,基本上以上3个软件都在混用,因为项目组基本上以PHP为主程使用,所以ZendStudio用的最多,不过Sublime和PHPStorm也有同学在使用,当然这都是个人喜好和习惯问题了,软件无所谓好坏,用的舒服就够了。
▶项目协作
TortoiseSVN,Git
目前项目组里使用TortoiseSVN为代码版本集成工具,一般小型项目通过分出一个trunk主干和一个开发分支branch就够了,除非你的项目迭代开发非常快,需要多分出几个分支,按照客户要求快速开发实现后,合并到主干上发布。Git因为之前只在Github上做过使用,现在的项目中,也准备接入使用,现在Git是大趋势,多学点不是坏处。
3.代码审查工具
首先要清楚一个问题,为什么要进行代码审查?
答案很简单,因为写程序的是人,不是机器,只要是人不论是新手程序员还是资深高级的架构师,也会不时的犯错,虽然手工的代码审查永远不可能像自动化测试和脚本化的手动QA那样严谨,但是代码审查执行所需的时间更短,并且很容易发现自动化测试理解不了的问题。如果这些问题拖到以后则会更为严重,修复会变得更加困难。
那么第二个问题来了,谁有权限来做代码审查工作呢?
答案也很简单,所有的项目小组成员。
多一双眼睛来检查代码总是令人喜闻乐见的,但这也不是主要原因。我们真正想要实现的目的是提高初级程序员的技能。在审查时,他可以知道这些高级开发人员是如何编写代码的。最重要的是,这将有助于他理解如何批判性地阅读别人的代码,一两个月后,他甚至能够审查自己的代码,从而提高了他最终提交到存储库中的代码质量。(引自http://www.codeceo.com/article/importance-of-code-reviews.html)
代码审查工具?算了吧,不论是出于锻炼新人的角度,还是为了更细致发现系统架构的问题,我宁愿多花一些时间来安排项目组成员Review自己和小伙伴们的代码。
End
说了这么多,有了好工具只是一个必要条件,不论是前端UI还是后端编程,没有扎实的基本功,再好的开发工具也是摆设,好的软件开发者,工具仅限于是工具,只能作为标准化流程,和减轻项目负担的一种手段,努力提升自己才是王道。