如何跟踪一个项目无关的怪癖

如何跟踪一个项目无关的怪癖

问题描述:

这有可能是这个问题的答案可能只是标准的bug跟踪软件,如JIRA或FogBugz的,但我有种希望有人在那里知道什么我描述一个更好的系统。如何跟踪一个项目无关的怪癖

我最近的项目是要求批次设置quirkiness进入一个位置,我可以真正开始编码部分。例如:

  • 一系列令人费解的内部公司命令,然后我可以登录SSH。
  • 确保任何进行外部呼叫的第三方类具有内部公司代理选项设置 - 同时还要确保在安装在生产环境中时不会设置这些设置
  • 确保在尝试安装梨之前设置代理包。
  • 其他类似的事情,主要涉及内部IT安全并使其与模块和包配合使用。

个别没有这些东西是一个巨大的交易,我已经写了大量的笔记对自己关于我做了详细的命令和aditions,但目前他们是在一个普通的文本文件,这将是很难记住我需要的东西在哪里。我们也有很多新员工即将开始,我宁愿让他们更容易地设置他们的编程环境。

就像我说的,他们是不是“编程怪癖”正是,但只是谈到关于编程认真开始之前不断的摆弄。关于为我自己和后代的理智记录这些事情的最佳方式有什么想法?这些任务

我们使用wiki来管理这样的操作。让每个人都可以轻松地知道访问信息的通用位置,并在事件发生变化时保持最新状态。

如果有可以自动化这是一个好主意,但如果需要非标准的设置,有人将不得不重复我们总是创造发展环境设置页面的部分。

+4

这里的关键是“共同的地方”。无论您选择哪种方法(wiki,错误跟踪器,Word文档,无论什么),都要确保它是人们需要查找此信息的唯一位置。 – Ipsquiggle 2010-05-03 15:27:01

封装成某种(bash中,蟒蛇,AppleScript的,AutoHotkey的,无论是适当的任务)的脚本。

然后创建各种元脚本来调用它们。例如。 “set_up_everything.bash”。

本质:与其花费时间写下来,你需要做的一切,花时间写一个脚本/程序一切,你需要做的。

如果脚本是用干净,他们也成为文件(就像任何程序)的最终形式。

编辑:

重读你的问题,这也强烈地满足您对帮助新团队成员起床到速度点:让他们运行的脚本,然后咣!如果脚本不起作用(由于环境的差异等原因),它们仍然提供了一个很好的步骤,确切地说明了需要制定的操作和命令。

计划A:排除通过建立一个适当的测试环境中,你可以控制外部系统的依赖。这可能涉及设置虚拟数据库,模拟SOAP服务器(SoapUI Mockservices)等。您应该尝试着将所有外部对象视为黑盒,您可以使用这些模拟/虚拟/存根服务来控制它们,只需最少的重新配置(例如,交换.ini文件)。
理想情况下,它将是一个嵌入式环境“组件”,例如包含任何数据库,可执行文件等的目录zip文件。也许在闪存驱动器上。

不,我不住在这样的乌托邦环境中工作和生活!但是,正如我设想的那样,它应该如何完成。计划B:假设您无法完成上述任务,您将无法与外部人员(如“实时”网络和服务器)进行测试。即您的数据库查询针对其他人的测试数据库服务器运行,并且您希望它获得与上次测试时相同的数据。所以你需要有一套可以运行的最低限度的测试,以确保外部环境与上次相同。可能是去年的上个月的昨天。假设您需要从HR测试数据库中检索员工记录。好的,测试应用程序可确保它可以连接,登录,查询记录,并将结果集与“最后一次正确”结果集进行比较。现在你很好走。如果你还没有到那么远,那就去解决它(修复你的登录,端点,主机名,代理,建立一个帐户,升级驱动程序等等。)在你担心编码/测试/演示其余部分之前系统。这样可以节省大量时间,并且应该在3天后放弃并退出,因为不合时宜的新开发人员应该进行修改。

更新:不管你做什么,检查到版本控制,所以你可以回去,比较等。

编写脚本来自动此。花费在这个过程中的时间将会一次又一次地为自己付出代价 - 您将日复一日地节省时间并节省时间让新开发人员参与进来。

您可能需要一个独立于这些工具的代码库的单独“bin”项目。从更简单的任务开始,并逐步完成所有部分。 SSH可以使用正确的令牌对安全地编写脚本。像capistrano或厨师这样的工具很受欢迎。这种方法一次只能做一件小事,目标 - 也许你无法达到 - 是完全自动化的。

几年前,这听起来像是疯狂的谈话。但是现在,我们每一个项目都可以检查出来,不用浪费时间。 (一个副作用是设置连续集成是微不足道的。)甚至可以有一个按钮,从AWS提供服务器,安装操作系统,所有需要的工具,从github检查我们的应用并部署它。刚刚做了这一天!有信心!