Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何与团队一起处理php项目?_Php_Project Management - Fatal编程技术网

如何与团队一起处理php项目?

如何与团队一起处理php项目?,php,project-management,Php,Project Management,我做过一段时间的自由php开发人员,独自处理所有编程方面的工作。虽然我和一个图形设计人员一起工作,但所有的编码都是由我完成的 这些天来,我在一个团队里找到了一份工作,负责规划一些项目 所以,我害怕这种新的发展。如何管理团队、划分工作、跟踪变化 我将寻找完整的解决方案。我建议阅读一些关于成功团队管理的书籍。这里有一个很好的起点: 免责声明:我从未读过这本书。我甚至不知道它是否好。不过,同一类别中的其他人可能会对你有所帮助。如果你还没有开始使用版本控制系统,那么你肯定需要开始使用版本控制系统-一些

我做过一段时间的自由php开发人员,独自处理所有编程方面的工作。虽然我和一个图形设计人员一起工作,但所有的编码都是由我完成的

这些天来,我在一个团队里找到了一份工作,负责规划一些项目

所以,我害怕这种新的发展。如何管理团队、划分工作、跟踪变化


我将寻找完整的解决方案。

我建议阅读一些关于成功团队管理的书籍。这里有一个很好的起点:


免责声明:我从未读过这本书。我甚至不知道它是否好。不过,同一类别中的其他人可能会对你有所帮助。

如果你还没有开始使用版本控制系统,那么你肯定需要开始使用版本控制系统-一些好的选择是git(速度非常快,功能齐全)或bzr(速度慢得多,但使用起来更方便)。

这是一个好问题;我相信这是许多人在从自由职业者回到团队环境时所面临的问题

首先,不要害怕!你的同龄人会让你成为一个更好的程序员,只需接触他们独特的做事方式。而且,当你似乎找不到那个让你困惑了好几个小时的打字错误时,你现在可以依靠大量的资源了

在同一个项目上合作并不一定很难。将其分解为模块化块。从设置大纲开始,定义不同函数/方法/代码段之间的I/O,然后给每个人一个“黑盒子”来填充代码

当你们了解对方的长处和短处时,你们可以根据他们的长处来完成重要的里程碑,或者根据他们的短处来帮助他们发展技能

尽快采用版本控制,并尽可能多地投资于学习如何更好地使用它。确保您了解如何创建、使用和合并分支。任何版本控制系统都可以工作。。。我推荐SVN(Subversion)或CVS。我更喜欢颠覆

开发一个bug跟踪系统,并跟踪新特性的待办事项列表。工作不一定非得花哨。如果你是一个新的、小型的操作,你可以通过一个共享的谷歌文档电子表格这样简单的方式来完成。如果你有现金可以花,Atlassian JIRA和FogBugz都是很棒的问题跟踪系统

最重要的是,倾听并尊重新同事的意见,即使他们完全错了。永远不要忘记他们是盟友而不是对手

玩得开心!祝你好运。

这是团队管理最佳实践的一个不错的提纲

  • 使用源代码管理
  • 使用任务跟踪系统
  • 保持时间表
  • 记录您的设计
  • 试验

基于团队的PHP开发的一个重要部分是将功能分解为多个文件。大多数PHP开发人员分为两大阵营;需要学习服务器端语言的Web开发人员,以及正在转向Web开发的软件工程师。前者倾向于将所有代码都写在庞大的扭曲文件中,后者使用PHP编写外观整洁的代码,但在没有表的情况下往往无法掌握布局

为了更好地使用PHP,重要的是两者都要做对。团队开发需要通过包含或使用框架将功能和UI的不同部分分离到不同的文件中。但是请注意,软件端和web端都有相同的解决方案;将模型与控制器从视图中分离,将内容与布局分离

还有一件事:典型的trunk/branch版本控制目录结构不适合web工作。我通常做的是有一个devel和一个活动目录结构。您的开发人员在devel分支中工作,然后当您想要将更改应用到实时站点时,您只需要告诉您的版本控制软件在那里应用相同的更改(Subversion在这方面非常擅长)

祝你好运

我会寻找完整的解决方案

嗯,你的唯一的完整解决方案是雇佣一位专业的软件开发经理

如果您仍然希望自己解决问题,那么您将不得不忘记自己编写代码。您必须集中精力管理任务、源代码和软件质量(测试)。当然,工具是有的,但工具不是完整的解决方案(不管这些工具有多好)。这里有一个比喻:如果你有一把好锤子,它并不一定意味着你所有的指甲都会光滑,永远不会弯曲

因此,管理软件开发团队需要知识和经验,而不仅仅是工具。这与自己编写应用程序有很大不同


勇敢点

关于这个主题,我听到的一个有趣的想法是使用测试驱动开发(TDD),您可以使用PHPUnit或SimpleTest编写测试,然后将其交给开发团队。当测试通过时,任务被视为完成

当我开始与另一位开发人员合作开发应用程序时,我开始使用。这是一种分配任务、跟踪bug和特性、版本等的好方法。我和Subversion一起使用。正如许多其他人提到的,您需要一种方法来分配作业、跟踪bug,当然还有版本控制,这一点至关重要

沟通是最重要的!电子邮件,即将到来的谷歌浪潮,一个免费的IRC服务器,这些都是容易访问的,你的同龄人也会使用。每个人都需要站在同一个页面上,最糟糕的事情莫过于在一个特性或代码块上工作,以发现其他人一直在解决相同的问题


祝你好运!当你领导和管理时,这是一种完全不同的氛围。欢迎团队的建议。

git
也是一个非常棒的版本控制系统,值得注意。您是团队负责人还是团队成员?这个问题是离题的,因为它与您无关