我同意纪尧姆的观点:如果你想从头开始建立一个部门,你需要集中精力。你需要建立你的团队,让每个人都成长为他们的新职责,相互了解等等。试图同时进入太多的方向是走向失败的方向。
因此,请确定您想要开发的技术。由于您的示例中的主要目标是内部开发,因此内部需求将决定您的决定。以这个主要目标来建立你的团队。
对于内部开发,您至少需要两个已经了解公司及其流程的人。(两个是因为当第一次重大危机袭击你时,一个人肯定会生病或在度假)。另一方面,你需要一些局外人,他们不被“我们一直这样做”的思维定势,他们可以跳出框框思考。出于上述原因,这些人也应该至少是两个人。作为团队负责人,您的工作是平衡这两个团队并将他们整合到一个团队中。
对于未来的增长,始终考虑有机增长。不要将团队规模增加 200%,在这里雇佣一个新人,在那里雇佣另一个人(或女孩)。慢慢建立你的团队。当您承担一个新项目时,请始终考虑扩展您的团队专业知识。在每个项目中尝试新的东西。这可以是一个新的源代码库、一个自动化的日常构建过程、一个编写规范或文档的新系统,甚至是一种不同的技术(例如,当您通常使用 .Net、Delphi 或 C++ 进行开发时使用 Java)。只要确保你永远不会 尝试在一个重要项目中取得重大进展。(我曾经在一家公司工作,该公司决定从 VB 6.0 切换到 .Net 以完成他们之前尝试过的最大项目。他们幸存下来。勉强。)
这样,您的部门将缓慢但不断地扩展其能力。然后,当有机会为外部客户进行开发时,您将已经积累了完成它所需的大部分知识。
哦,是的,smacl 也是对的:如果您希望您的部门长期生存,您需要可靠的 QA/QM。
从第一天开始制定(并遵循)您的 QA 规则。使它们尽可能短而灵活。添加您发现丢失的内容,并丢弃证明不必要或不切实际的内容。
不确定这是你想知道的,但我觉得有必要说出来;-)