标签: extreme-programming

单元测试bash脚本

我们有一个除了Java代码之外还运行一些bash脚本的系统.由于我们正在尝试测试可能会破坏的所有内容,并且这些bash脚本可能会中断,我们希望对它们进行测试.

问题是很难测试bash脚本.

有没有办法或最佳实践来测试bash脚本?或者我们应该退出使用bash脚本并寻找可测试的替代解决方案?

testing bash tdd automated-tests extreme-programming

101
推荐指数
8
解决办法
6万
查看次数

Python代码库的持续集成系统

我开始研究一个带有Python代码库的业余爱好项目,我想设置某种形式的持续集成(即每次签入时运行一组测试用例并向负责人发送唠叨的电子邮件与测试失败的人类似于CruiseControlTeamCity.

我意识到我可以在大多数VCS中使用钩子来做到这一点,但这要求测试在与版本控制服务器相同的机器上运行,这不像我想的那样优雅.有没有人对适合Python代码库的小型,用户友好的开源持续集成系统有任何建议?

python continuous-integration extreme-programming

56
推荐指数
7
解决办法
8810
查看次数

结对编程进行面试

我们公司一直在考虑取消我们的面试程序,让每位候选人与一些程序员坐下来进行4-5个小时,然后进行一些配对编程.

我在理论上喜欢这个想法,但我不确定你怎么能真正让每个候选人都公平.你怎么评价他们?难道他们的输入真的不取决于每个程序员当天的工作吗?

任何关于这是一个好主意/坏主意或如何让它工作的想法都是我在这里寻找的.

干杯!

编辑:

结果 - 根据要求

我们将像以前一样进行面试的第一步.电话紧接着面对面.我们将带回3名开发人员与团队的所有7名成员坐在一起,而不是将他们带回第三次也是最后一次烧烤.我们决定让团队决定谁被雇用.

出于几个原因,我们得出了这个结论.我们相信这将使开发人员能够选择他们正在工作的人.第二个原因是群体动态.我们认为拥有一个良好的团队动力是非常重要的,直到你雇用一个人之后很难说,如果他们适合或不适合.

因此,最终的结果是我们将继续进行结对编程会议,但采用完全不同的方式,并采用与最初预期完全不同的方式.

对这种方法的任何想法或批评都非常受欢迎!(这个编辑作为下面的答案发布,所以如果你认为这不是最好的方法,请随时选择downvote)

pair-programming extreme-programming

40
推荐指数
7
解决办法
2万
查看次数

哪里可以找到最好的用户故事模板?

我想在一个新项目中实现用户故事,在哪里可以找到一个好的模板或敏捷开发中使用的其他模板?

agile templates methodology extreme-programming

35
推荐指数
4
解决办法
5万
查看次数

敏捷的神话和误解

敏捷有哪些神话或误解?

有一些与敏捷有关的误解可能会导致普通新人陷入困境.敏捷世界有什么误解,你如何证明这是一种误解呢?


更新:敏捷神话总结

  • 敏捷不允许文档
  • 敏捷方法无法扩展
  • 敏捷意味着没有计划
  • TDD涵盖了所有单元测试需求
  • 结对编程总能产生更好的代码
  • 敏捷是解决软件工程问题的银弹解决方案(有一个银弹解决方案)
  • 敏捷不需要预先设计
  • 我们正在做scrum所以我们不需要做TDD,重构结对编程等.
  • 人们可以从一本书中学习敏捷
  • 敏捷只适用于琐碎的项目
  • 敏捷总是使用"用户故事"

阅读以下答案,了解有关上述神话和更多神话的更多信息.

agile scrum extreme-programming

31
推荐指数
7
解决办法
9096
查看次数

Scrum和极限编程有什么区别?

几年前,我参与了一个绿色的田野项目,在那里我们进行了极限编程.我也看到很多人提到Scrum方法.

有人能告诉我Scrum和XP之间的主要区别吗?

agile scrum methodology extreme-programming

25
推荐指数
1
解决办法
3万
查看次数

小团队的项目方法

我们公司的每个项目通常都是1-4位开发人员/艺术总监/撰稿人,您建议使用哪种方法?敏捷?XP?争球?别的什么?(我知道它们都是基本相同概念的变体,是的)

agile scrum methodology extreme-programming

19
推荐指数
2
解决办法
6781
查看次数

YAGNI - 敏捷的做法一定不能命名?

随着我越来越多地将敏捷思维吸收到我的工作方式中,yagni("你不会需要它")似乎变得越来越重要.在我看来,它是过滤错误的优先事项并决定下一步不会起作用的最有效的规则之一.

然而,yagni似乎是一个在SO处几乎没有低声说过的概念.我运行了强制性搜索,它只显示在一个问题标题中 - 然后是次要角色.

为什么是这样?我是否过高估计其重要性?

免责声明.为了抢先回答,我相信我会反对,让我强调yagni是快速和肮脏对立面.它鼓励您将宝贵的时间和精力集中在获得您需要的部件上.

以下是一些人们可能会问的非正式问题.

我的单元测试是根据用户要求或框架结构选择的吗?

我是否安装(并测试和维护)仅在那里的单元测试,因为它们不属于框架?

我的框架生成了多少代码我从未看过(但有一天仍然可能会咬我,即使是yagni)?

我花了多少时间来处理我的工具而不是用户的问题?

对编程时,观察者的角色价值通常在于"yagni".

你使用CRUD工具吗?是否允许(不,鼓励)您将其用作_RU_工具或C__D工具,或者您只需要一个或两个时创建四个代码(加上四个单元测试)?

agile unit-testing extreme-programming yagni

15
推荐指数
1
解决办法
2090
查看次数

Scrum:由非技术PO管理的待办事项中的技术项目?

如果"将服务器从v1升级到v2"或"提高启动性能"或"重构登录模块以降低代码复杂性"等技术项目应该进入产品待办事项,如果是,那么非技术产品所有者应该如何确定它们的优先级与其他更实用的积压项目?

是否应该单独积压技术资料?我们是否应该与两个人共同发挥PO作用,可以优先考虑产品积压的功能和技术内容?

agile scrum development-process extreme-programming backlog

12
推荐指数
2
解决办法
4267
查看次数

以敏捷的方式实现用户故事

我是敏捷/ TDD世界的新手,并试图了解一些基础知识.这与我应该实现用户故事的方式有关.

例如,假设我有一个假设的内容管理系统,我有2个以下的用户故事:

故事1:
作为内容作者,
我需要能够创建新闻文章,
以便它们可以用于吸引用户访问网站

故事2:
作为编辑,
我需要能够查看现有文章,
以便我可以查看它们以提高质量

我接近这个的方式是,

  • 我会抓住其中一个用户故事
  • 打破我需要将用户故事的一部分分成更小的任务
  • 逐个执行这些任务,并提出测试以涵盖特定任务
  • 以TDD方式实现任务

我的困境所在的区域作为用户故事一部分.
特别是在这些示例中,他们间接暗示了一些身份验证,授权相关的要求,因为用户故事提到了两个用户类别.

所以我的问题是,我是否应该有任何控制身份验证/授权的任务/测试来完成这些用户故事
或者
我应该只关注我需要部分用户故事来尝试实现这些功能,并等待对于任何特别提及认证,授权相关要求的用户故事?

您的所有输入都非常受欢迎.

干杯.

tdd agile extreme-programming user-stories

11
推荐指数
2
解决办法
3672
查看次数