php项目实践
Last time, we discussed social aspects of teamwork, and how working in a team can both benefit and harm you. There's loads to take into consideration when working with other people, and lots to be gained.
上次,我们讨论了团队合作的社会方面,以及在团队中进行工作如何既有益又伤害您。 与其他人一起工作时需要考虑很多负载,并且有很多收获。
This time, let's talk about practical aspects of teamwork, particularly virtual teams or, in other words, teams with remote members.
这次,让我们讨论团队合作的实际方面,尤其是虚拟团队,或者换句话说,是具有远程成员的团队。
时区差异和团队合作中的瓶颈 (Time Zone Difference and Broken Bottleneck in Teamwork)
When working in a team with remote members, time zone differences can be a huge hindrance. Take for example SitePoint itself – I write for an audience which is, in a large part, US, SitePoint's HQ is in Australia, and I'm based in Croatia. That's three time zones 6-8 hours apart each, which means a full day can elapse before people answer your emails.
在具有远程成员的团队中工作时,时区差异可能是一个巨大的障碍。 以SitePoint本身为例–我为大部分美国读者组成,SitePoint的总部位于澳大利亚,而我的总部位于克罗地亚。 这是三个时区,每个时区相隔6-8个小时,这意味着人们需要整整一天时间才能回复您的电子邮件。
When you have a lot of emailing back and forth, not only among the team members but also among the clients, authors and whoever else, things tend to get messy fast. You need a way to stay in sync with everyone at all times.
当您来回收发大量电子邮件时,不仅在团队成员之间,而且在客户,作者和其他任何人之间,事情都会变得一团糟。 您需要一种随时与所有人保持同步的方法。
Another problem is what I like to call a broken bottleneck syndrome. Usually, when only one person is directing requests to the development team (a filter, team lead or the project owner, for example), that person can become a bottleneck if the requests are coming in too strong or the dev team is too slow or small to implement them. The people feeding that person with instructions then tend to go around him/her, and cause a spillage of (often contradictory) information overflowing the dev team.
另一个问题是我所谓的瓶颈瓶颈症候群。 通常,当只有一个人将请求定向到开发团队时(例如,筛选器,团队负责人或项目所有者),如果请求太过强大或开发团队太慢或开发团队速度太慢或小实施它们。 然后,向该人员提供指令的人员往往会四处走动,并导致溢出(通常是自相矛盾的)信息溢出开发团队。
Yet another frequently encountered issue is multiple people working on the same piece of code. Bad prioritization and organization, in a nutshell. Sometimes, a developer might even end up in bug-jail (that's when you have so many bugs on your previous work, you're forbidden from building anything new until you get out of this jail mode), and this halts further development, especially if other devs depend on your completion of your part.
另一个经常遇到的问题是多个人在同一段代码上工作。 概括地说,错误的优先级安排和组织。 有时,开发人员甚至可能陷入bug监牢的状态(那是当您在以前的工作中有很多bug时,除非您退出此监狱模式,否则您不得构建任何新东西),这会阻止进一步的开发,尤其是如果其他开发人员取决于您是否完成了任务。
These issues can slow down development or even, at times, bring it to a complete halt, and there are several remedies for them. We'll divide them into organic and inorganic solutions.
这些问题可能会减缓开发速度,甚至有时会使其完全停止运行,并且有几种补救措施。 我们将它们分为有机溶液和无机溶液。
有机解决方案 (Organic Solutions)
As I mentioned in the previous article, the importance of a capable lead and a capable filter cannot be understated. The capable lead will be able to formulate tasks properly and divide them into smaller units, while the capable filter will make sure requests that don't make sense or just aren't worth implementing never even reach the ears of the developers. A filter's role is absorbing the requests of the rest of the company, and being the only means of communication between the dev team and the non-technical folk. The filter's strength directly influences the time it takes for a broken bottleneck effect to occur.
正如我在上一篇文章中提到的那样,有能力的潜在客户和有能力的过滤器的重要性不可低估。 有能力的领导者将能够正确地制定任务并将其划分为较小的单元,而有能力的筛选器将确保毫无意义或不值得实施的请求永远不会到达开发人员的耳中。 筛选器的作用是吸收公司其他成员的请求,并且是开发团队与非技术人员之间唯一的沟通手段。 过滤器的强度直接影响发生瓶颈效应所需的时间。
A capable filter needs your help – you need to refuse orders from unauthorized people. Even if you get approached by the CEO, bring the task to the CTO/project lead/team lead before even considering doing it. Your superiors are usually closer to the person making unreasonable or simply out-of-schedule demands, and can nip it in the bud. Fail to resist once, and you set an unhealthy precedent.
一个功能强大的过滤器需要您的帮助-您需要拒绝未经授权的人的订单 。 即使您与CEO接洽,也要考虑将任务交给CTO /项目负责人/团队负责人。 您的上司通常更接近提出不合理或计划外要求的人,并且可以将其扼杀在萌芽状态。 一次无法抗拒,就树立了不健康的先例。
Even if non technical people do somehow breach the barrier, make sure you're tolerant and calm towards them. We all know how utterly frustrating it can be when a marketing person keeps calling a web page a slide, or when a logistics person can't describe an interface in words you'd like them to use and instead compares everything in life to Excel stylesheets, but tolerantly listening and decoding their wishes means you can a) get rid of them faster and b) describe their desires to the lead/filter, so they can approach them, explain things, and maybe formulate a task if it truly is urgent.
即使非技术人员确实以某种方式突破了障碍, 也要确保您对他们宽容并保持镇定 。 我们都知道,当市场营销人员不断将网页称为幻灯片时 ,或者当物流人员无法用您希望他们使用的文字描述界面,而是将生活中的所有内容与Excel样式表进行比较时,这将是多么令人沮丧。 ,但是宽容地聆听和解码他们的愿望意味着您可以a)更快地摆脱他们的愿望,b)向潜在顾客/过滤器描述他们的愿望,以便他们可以接近他们,向他们解释事情,或者在确实很紧急的情况下制定任务。
An enormous help is making sure there is at least some work hours overlap. Setting up your work time so you can have an overlap of at least 2 working hours with the rest of the team and especially the lead is of utmost importance. An overlap in work hours allows you to catch up in real-time, and lets you perform another incredibly important aspect: video and voice calls. If a picture is worth a thousand words, a call is worth a thousand emails. One call can both help you report on your day, dig deeper into unclear tasks and requests, build a better itinerary, register complaints and it has the added benefit of improving your English.
一个巨大的帮助是确保至少有一些工作时间重叠 。 设置您的工作时间,使您与团队的其他成员可以有至少2个工作小时的重叠,尤其是带头至关重要。 工作时间重叠可以让您实时赶上,并可以执行另一个非常重要的方面: 视频和语音通话 。 如果一张图片值一千个字,那么一个电话值一千封电子邮件。 一个电话可以帮助您在一天中进行报告,更深入地研究不清楚的任务和要求,制定更好的行程,记录投诉,这还具有提高英语水平的额外好处。
无机溶液 (Inorganic Solutions)
Under inorganic solutions, there are several applications and web services I'd like to mention. The list is by no means exhaustive, but I've used most if not all of them at times, and I don't recommend something I don't actually stand behind – rest assured that all these do what they're supposed to do, and do it well.
在无机解决方案下,我想提到几个应用程序和Web服务。 该列表绝不是详尽无遗的,但是我有时会使用大多数(即使不是全部),并且我不建议我实际上不支持的内容–请放心,所有这些都按照他们的预期去做,并做好。
Trello is one of the main tools we use at SitePoint. It's more non-developer oriented, more appropriate for editors and managers, but its excellent todo-ish card layout and markdown support make all tasks easily describable and clearly visible. If you communicate with non technical personnel on a regular basis or like to throw ideas around with teammembers, Trello is a good choice. There's a free option, so give it a go.
Trello是我们在SitePoint使用的主要工具之一。 它面向非开发人员,更适合编辑人员和管理人员,但是其出色的待办事项卡布局和降价支持使所有任务都易于描述且清晰可见。 如果您定期与非技术人员进行交流,或者想与团队成员交流想法,Trello是一个不错的选择。 有一个免费的选择,所以去吧。
Basecamp is a popular alternative to Trello, and is basically a glorified team-enhanced to-do list. Like Trello, it supports nesting, discussions and file uploads. It's not free, though.
Basecamp是Trello的流行替代方案,基本上是团队增强的任务清单。 与Trello一样,它支持嵌套,讨论和文件上传。 它不是免费的。
Google Apps can host your entire company's email folio and follow it up with closed-door Google Docs and Google Drive, as well as group messaging, Google Groups, company calendar and much more. Google Apps are an entire suite of applications I wish more companies used. What's more, Google Apps for Business supports Hangouts, so you can communicate via IM with your team, and even send messages to and from your mobile phone. In fact, Hangouts even goes so far as allowing you to join a video call from two locations – for example, if you're getting a video call while you're 5 minutes away from the office, you can answer it and talk on your phone. As soon as you reach your computer, simply hitting "Join this call" will open a stream on the computer as well, and you can hang up on your phone (or leave it on and have multiple camera angles of yourself). It's all extremely fluid, and makes for a truly professional communication environment.
Google Apps可以托管整个公司的电子邮件作品集,并提供闭门的Google Docs和Google Drive,以及群发消息,Google网上论坛,公司日历等等。 Google Apps是一整套应用程序,希望更多的公司使用。 此外,Google Apps for Business支持环聊,因此您可以通过IM与您的团队进行交流,甚至可以在手机之间收发信息。 实际上,环聊甚至可以让您从两个位置加入视频通话-例如,如果您在距办公室5分钟路程的地方进行视频通话,则可以接听并通话电话。 到达计算机后,只需点击“加入此通话”也会在计算机上打开一个视频流,并且您可以挂断电话(或将其保持打开状态,并拥有多个视角)。 这一切都非常流畅,为真正的专业交流环境创造了条件。
FlySpray is a super simple web based open source bug tracking system that can help you handle the simple bugs in day to day work. In my previous company, we used it as a front – we let the non technical people submit bugs and requests there, and then a filter person would weed out the nonsense and describe the proper bugs into more detail. This made sure we never got an incomplete report, which made reproduction and fixing that much faster.
FlySpray是一个基于Web的超级简单的开源错误跟踪系统,可以帮助您处理日常工作中的简单错误。 在我以前的公司中,我们将其用作前台–让非技术人员在那里提交错误和要求,然后由筛选人员清除废话,并更详细地描述适当的错误。 这确保了我们永远不会收到不完整的报告,从而使复制和修复速度更快。
Github is an online social coding network. It's a hub of open source repositories (or closed source if you pay) where everyone in a team can easily collaborate, without the pain of manually setting up a repo on your own servers. BitBucket is a viable alternative, and offers free private repos, as opposed to Github.
Github是一个在线社交编码网络。 这是一个开放源代码存储库(如果需要付费,则为封闭源),团队中的每个人都可以轻松地进行协作,而无需在自己的服务器上手动设置存储库。 与Github相比, BitBucket是一种可行的选择,并提供免费的私人存储库。
Atlassian, the makers of BitBucket, also have various other excellent team collaboration tools like Confluence and JIRA – both allowing you to work with your team in real time and use a single point of data collection. Jetbrains also offers a good set: TeamCity (free professional edition) for continuous integration and YouTrack (unlimited 60 day trial, or 10 user free pack) for issue, request and bug tracking.
BitBucket的制造商Atlassian还拥有其他各种出色的团队协作工具,例如Confluence和JIRA –都允许您实时与团队合作并使用单点数据收集。 Jetbrains还提供了一个很好的集合: TeamCity (免费专业版),用于持续集成,而YouTrack (无限的60天试用版,或10个用户免费包),用于问题,请求和错误跟踪。
If you do Agile Development (more on that in a future article), the best tools for the money are said to be PivotalTracker and GreenHopper (a JIRA Agile plugin) these days. Both tools have some free plans you can try out, but we'll do a more in-depth analysis soon.
如果你这样做敏捷开发(更多的在以后的文章),对于资金的最佳工具,被说成是PivotalTracker和GreenHopper (一JIRA敏捷插件)这些天。 两种工具都有一些免费的计划供您试用,但是我们将尽快进行更深入的分析。
Last but not least, if all you need is a good team based todo list, I can't recommend Wedoist enough – being very similar to Todoist (which I use daily), the interface is streamlined and focused on the tasks at hand. It's everything you've ever seen in all the other Todo apps, but much improved.
最后但并非最不重要的一点是,如果您只需要一个基于团队的好的待办事项清单,我就不推荐Wedoist -与Todoist非常相似(我每天都使用),界面经过简化,专注于手头的任务。 这是您在所有其他Todo应用程序中见过的所有内容,但是有了很大的改进。
If you're the member of a dev team, I recommend a healthy mix of Github and TeamCity, and Trello for discussions. If you're in a managerial position and decide on projects and courses to take, I wholeheartedly recommend Google Apps. If you're in a flexible remote team, use Wedoist and see how it suits you. If you practice SCRUM, add PivotalTracker to the mix.
如果您是开发团队的成员,那么我建议将Github和TeamCity以及Trello完美地结合在一起进行讨论。 如果您担任管理职位并决定要参加的项目和课程,我会全力推荐Google Apps。 如果您在灵活的远程团队中,请使用Wedoist并查看它如何适合您。 如果您练习SCRUM,请将PivotalTracker添加到混合中。
结论 (Conclusion)
This article offered some practical solutions for improving teamwork and productivity in a team. In a follow-up article, we'll be covering practical team based tools in greater detail.
本文提供了一些实用的解决方案,以改善团队中的团队合作和生产力。 在后续文章中,我们将更详细地介绍基于团队的实用工具。
Do you have a favorite collaboration tool? What approaches does your team use to stay afloat in the ocean of problems? Let me know in the comments below, or on Google+.
您是否有喜欢的协作工具? 您的团队使用什么方法来解决问题呢? 在下面的评论中或在Google+上让我知道。
翻译自: https://www.sitepoint.com/becoming-php-professional-practical-teamwork/
php项目实践