我的问题是关于开发团队的更一般的工作流程而不是直接编码问题,我不知道这里是否允许这类问题。
我们在多品牌公司中创建了一个类似数字代理商的品牌。我们所有人(目前有4人)都是经验丰富的自由职业者,但我们都没有在一个拥有自己的编码标准,程序,项目管理风格等的认真开发团队中工作。
目前,我们做得很好。但我们绝对认为我们必须改进我们的工作方式。因为,我们只是抓住了截止日期。即便如此,大多数时候我们都会错过最后期限或退出项目的一些很酷的方面。虽然我们努力工作,但我们做得很少。
现在,你可以理所当然地问为什么我们的主管没有做出一些改进。实际上,我们是一个奇怪的群体 - 或者至少我是这么想的 - 我们是我们自己的老板。大多数时候,没有人给我们指示或订单,我们可以自由地做任何我们想做的事情。现在,在我去找他们并告诉他们我的干扰之前,我想学习一些方法来做到这一点,或者其他人如何做到这一点并尝试先应用它。
抱歉,这是一个比我计划的更长的消息。
提前致谢。
答案 0 :(得分:2)
首先,我建议花费不到10分钟的时间来评价您的团队使用“高度不负责任”,但仍然是传奇的Joel Test。
您似乎需要对任何给定点的计划和未完成工作量进行更强有力的概述,同时更加真实地了解团队能力。易于使用且易于学习的项目管理软件可能是一个良好的开端。
因此,FogBugz很棒,我建议至少尝试一下,因为它可以跟踪估计和实际花费的时间。而且我不会以任何方式与Joel有任何关系。
答案 1 :(得分:2)
阅读Software Estimation by Steve McConnell。它会告诉你很多关于估计,目标和愿望之间的区别。 :P
严重。
答案 2 :(得分:2)
我认为,如果没有完全采用敏捷方法,它的一些想法可能会对你有所帮助。对于前。
即使这对你们不起作用,你也应该采用一些过程来改进某些东西。真正的错误是不采用任何一种。
当你有机地成长时,你会发现一些有用的东西,有些却没有,等等。不要盲目跟随任何方法。
答案 3 :(得分:1)
虽然我不想仅仅指向一个链接,但以下关于软件开发方法的维基百科文章是一个很好的起点
http://en.wikipedia.org/wiki/Software_development_methodology
您没有提及您拥有的经验水平,虽然许多信息可能是给您的,但它提供了有关当前方法的其他信息的链接,例如极限编程,敏捷等等。当您正在研究如何改进团队内的项目管理/开发实践时,请使用它。
答案 4 :(得分:1)
我认为你应该研究敏捷方法论(http://en.wikipedia.org/wiki/Agile_software_development),比如scrum.Your的优点是你是一个只有4人的小团队,所以你知道对方的力量和能力这也可以很充分地使用适用于任何类型的项目管理。
从在大多数人都是新手的小团队中工作的个人经验(<1年经验),敏捷有一个非常小的学习曲线,我们使用了一些不同的敏捷方法逻辑,如scrum和xp,有一个方法。工作,大大提高我们的效率,并帮助我们保持最后期限
问候
Shivam
答案 5 :(得分:1)
如果你还没有,我会建议你有一些编码标准。这将帮助您更轻松地共享代码,并且您将花费更多时间在功能上,而不是解密彼此的代码。您没有提到您正在使用的语言,但您可以从类似项目中借用一种语言并根据您的需要进行调整。如果您正在使用其他人代码,则可能需要灵活处理此问题。
我对敏捷方法有很好的体验,特别是对于像你这样的小动力团队。有一个功能列表很重要,然后你需要关注最危险的和/或最重要的项目(本能往往导致从我们更容易开始,这是一个最坏的事情)。
将功能拆分为小组完成的小任务,可以帮助您澄清事情的完成方式。更容易评估较小的任务。扑克策划给了我最好的估计,即使是没有经验的团队,每次我的团队都会变得更好。每个人都应该被包括在这个过程中,特别是那些从中学到很多东西的初级人员。
代码审查彼此的代码,您将通过这种方式学到很多东西,并可以节省调试时间。这可以在每日baiss中成对完成,并且偶尔会给团体代码审查带来最大的挑战。
别担心,努力工作是变得更好的真正解决方案,耐心是关键!