编写公司范围内的开发人员手册


17

我在一家小公司工作。在我被雇用之前,公司的软件开发部门由一个自学成才的工作人员组成。现在,我已经为公司编写软件了几年,我的任务是建立正式的公司范围内的软件开发实践。目前,除了

编写代码,对其进行测试,将其放入.zip文件中,然后将其发送给客户端。TDD和版本控制的加分。

我的老板要我写一份软件开发人员手册,该手册定义了我们用来完成工作的一般流程,协议,工具和指南。换句话说,他想要一本“这就是我们在这里所做的”书,以使新员工更容易熟悉我们的处事方式,并帮助我的老板了解他的奴才在做什么以及他们的工作方式它。

从我的角度来看,我正在奠定基础,并且需要正确完成。您将如何选择此类手册的主题?您可以提供一些示例主题吗?

旁注:如果重要,我们主要是Microsoft .NET商店。我们正在研究诸如XP和Scrum之类的敏捷实践,但我们可能必须对其进行大量修改以使其在我们公司中正常工作。


3
您当前的流程非常糟糕。您是否有公司的支持来更改您当前的流程,这不会便宜,所需的更改类型会花钱。关于该主题的书籍很多,其中大多数实践都有工具,而这些工具不需要大量的工作即可实现。
拉姆猎犬,2012年

购物手册主题?
蚊蚋

1
@gnat好点。参见编辑。
菲尔(Phil)2012年

良好的编辑(您显然遵循了链接)。我还将更改您认为哪些主题很重要...改为类似“您如何衡量主题的重要性...”之类的方式,就我所知
蚊蚋

1
我真的不关心如何衡量主题的重要性,因为我认为我已经可以做到这一点。相反,我正在寻找示例。附有示例时,我一直认为抽象问题的答案会更好。参见编辑。顺便说一句,我感谢您的帮助使我的问题变得更好。
菲尔(Phil)

Answers:


20

我会将其细分为

  • 现有员工-名称和职称(最好带有照片)
  • 应用程序,登录名,要知道的数据和已提交的许可请求
  • 书签到公司站点和与业务相关的关键外部站点
  • 公司用于通讯,电子邮件,会议室预订,共享屏幕的应用程序
  • 公司相关活动的程序,例如费用收据,预订旅行
  • 开发人员机器设置。详细描述设置新的开发人员计算机的过程。通常,“预计”只需要一天,但实际上通常需要3-5天。
  • 开发过程,如何跟踪,分配和更新工作以及使用哪些工具。
  • 如何测试,测试什么,何时测试,在哪里测试。
  • 编码标准,包括文件命名约定和特定于语言的标准。
  • 如何处理错误,在哪里进行记录,如何进行修复。
  • 部署过程中,对于生产推送需要了解的关键事项是什么。
  • 如何记录,记录什么,何时记录。
  • 填充物的位置,例如代码,数据,标准,文档,链接和其他资产的位置。

使其模块化,还可以使您或其他人分别进行更新,例如,员工的姓名和职位会随着人们的来去而频繁变化。

对于每个部分,我都会尝试从“新手”的角度来编写它。最重要的是确保对新手来说确实有意义。您的老板显然不是审查此内容的合适人选,因为他不是目标受众。他是对的,只是要确保内容不会他测试。另外,“新手”都只有“ 1周”才能成为新手……而且只有一种观点。因此,很可能(并建议)与每位新员工一起完善文档。实际上,将他们分配给他们的第一周是一项非常好的任务,即“更新新手手册”。

对于敏捷/ SCRUM:

做敏捷和SCRUM最困难的部分是“真正”地做。

为了阅读,我将从http://agilemanifesto.org/开始,然后从那里开始。

我还将阅读著名的http://www.halfarsedagilemanifesto.org/,它加重了您实际上必须包含所有方面才能使其工作的事实。如果您必须为组织大量修改敏捷,那么人们可能会想从中获得好处-而没有使用正确的流程。这个事实本身应该被提出来避免任何半定的态度。


6
我喜欢您编辑它的频率。怎么... 你敏捷。:)
Phil

一般而言,我们不一定要修改敏捷原则。我们只会修改诸如XP之类的特定实践,因为我们实际上没有人力来实现所有必需的角色。这可能是另一天的另一个问题。
菲尔(Phil)

抱歉,由于该问题已被修改,我暂时删除了答案。
菲尔(Phil)

1
奖励积分,如果您设置了公司Wiki来保存此信息...
Spencer Rathbun 2012年

嗨,斯宾塞,这很有趣。我也刚开始使用带有markdown的github Wiki。关于它们如何比较的任何想法。显然,许多人从代码中了解github,从SO中了解markdown,因此很容易被采用。
迈克尔·杜兰特

4

听起来您将不得不在记录实践之前引入一些实践!

a)源代码控制-如何存储源代码和进行版本控制

b)版本管理和跟踪-您如何进行构建,为版本编号,将当前候选版本与先前版本进行比较

c)问题管理-您如何跟踪版本中的错误。

这些是非常基本的东西,但是它们可能要花很多时间(并且可能要花钱)来实现。


2
+1使其保持简单并专注于重要问题。我们真的不需要编码风格的“大政府”指令。
kirk.burleson,2012年

3

我将在开发人员手册中包括的主题:

  • 部门内的角色/职位及其相应职责
  • 开发人员机器软件要求(即所需的开发环境)
  • 在何处以及如何访问源代码存储库
  • 正在使用的开发工具(例如IDE)
  • 编码风格/标准
  • 文件标准
  • 测试过程
  • 建立过程
  • 部署过程
  • 支持和问题管理流程
  • 在哪里可以获得本手册的最新版本

请记住,该手册仅应包含特定于开发的项目,而不应包含公司范围的信息(应在员工手册中)。


2

使用源代码控制

  • 您正在使用哪个源代码控制工具。
  • IDE中常用命令/工具的语法。
  • 分支/合并策略。
  • 提交的单位应该是什么?文件检出/未提交多长时间了?
  • 提交/签入表示什么级别的“完成”?编译?单元测试通过了吗?已审查?
  • 提交/签入的注释中应包含哪些内容。
  • 回滚过程。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.