虽然Scrum在理论上很容易并且在实践中很难,但我想听听你对Done的定义; 即什么是门(单元测试,代码覆盖率> 80%,代码审查,负载测试,perf.test,功能测试等),您的产品必须经过,然后才能标记产品"完成"
我相信敏捷只不过是螺旋模型的另一种实现.我是Spiral的大力支持者(螺旋模型是一个软件开发过程,结合了设计和原型分阶段的元素,努力结合自上而下和自下而上的概念的优势)从一开始就看到了许多项目在不知道它们在Spiral世界中运行的情况下实现了Spiral.自从敏捷开始普及之后,螺旋的概念开始被忽略了一点.我相信对于复杂的项目,螺旋仍然是最好的选择,但我想更好地理解敏捷和螺旋技术之间的相似点和不同点.谁能解释他们的差异/相似之处?
我发现软件开发最令人沮丧的方面之一就是找到问题的解决方案,忘记它,然后在将来遇到同样的问题而忘记你以前如何解决它.或者编写一些有用的代码,然后在以后的项目中找不到这段代码.
我的一般问题是:如何在编程时跟踪每天学到的所有新内容?有没有人有系统的方法来捕捉知识,并在将来轻松有效地应用它?
更新:感谢您的回复,以下是您提出的建议:
社会
代码存储库
桌面
我对TDD的看法很复杂.虽然我相信测试,但我对测试驱动我的开发工作的想法存在疑问.
当您编写代码来满足为接口编写的一些测试时,您可能会将重点从构建可维护代码,从简洁设计和声音架构转移到您.
我有一个问题,没有测试驱动.有什么想法吗?
在处理固定价格软件开发项目时,我经常发现自己必须估算项目在设定价格之后但在工作开始之前(或者在开发过程中很早)的总小时数.不幸的是,这些类型的项目最好使用迭代/敏捷方法开发,这意味着我们不会(并且实际上不能)进行完整的前期设计.
在典型情况下,我们将签订具有X特征和Y美元的合同.签订合同后,工程部门需要估算完成X功能所需的小时数.预先需要此信息有几个可能的原因,包括:
•Y美元转换为可用的Z小时,因此我们必须确保时间(X)<= Z,可能通过缩小X的范围.
•已设置交货日期,因此我们必须分配适当的资源以满足该日期.
Kelly Waters对估算敏捷有一个有趣的看法:http://www.agile-software-development.com/2009/04/agile-estimating.html不幸的是,这些都是难度的估计,使用积分系统,而不是转换为小时.
在我看来,我们需要能够做两件事之一:
•获得具有大量灵活性的合同,以适应敏捷开发流程.
•弄清楚如何为尚未设计的功能提供合理准确的前期估算.
在大多数情况下,第一种选择当然不是一种选择.有没有人对如何在敏捷开发场景中生成前期估计有任何建议/指导?
或者,有没有人看到通过其他一些流程变化解决我们问题的另一种选择?
如何使用敏捷方法向项目中的客户收费?
每小时?然后在项目开始之前就必须建立起很大的信任.
每次迭代?会有很多预算决定,这可能需要时间.
每个项目?当你不知道范围时,你怎么能这样做?敏捷的本质是不要编写一个大的前期设计/规范.
Visual Studio Scrum 1.0和MSF对Agile Software Development v5.0流程模板的区别有多大?
有人用过一个吗?
我们目前正在使用外部工具(TRAC)在我们的开发过程中实施Scrum,因为MS在TFS2010中提出了额外的过程指导,这两件事使我对核心感到困惑!
不确定,哪一个采用!
大家到目前为止的答案很棒 每个人都非常有助于找到问题的根源,并帮助确保我的合作伙伴和我在同一页面上.我认为很多是因为我们没有谈到我们对发布时间表和一般工作流程的实际意图.
在这样做的过程中,我遇到了一些我从未想过要解决的相关问题,可能会在以后发表更多帖子(可能在程序员 - 堆栈交换中)
我和我的一位大学朋友在网络应用程序上工作.
我们正在使用MySQL和PHP开发我们的站点,并计划在前端使用一些jQuery.我们的目标是手机和平板电脑.它最终将涉及大量众包数据.我不想多说具体的项目想法.(如果您认为我应该提供更多细节,请对此发表评论.)
我们有一个原型,并有一些GUI模型.我们的想法既抓痒,也似乎是以前从未尝试过的事情.
我们希望遵循37signals的书"REWORK"中的原则.本书的一大部分是早期推出产品的想法.它讨论了为什么我们应该专注于我们产品的核心,我们应该忽略所有额外的东西.
基本上是为可销售产品尽量减少可能性的想法,以便我们可以发货并开始获得反馈.我们对这意味着什么都有不同的看法,它将我们拉向不同的方向.
我认为这本书只讨论最小功能,但他觉得这也是关于代码设计的.我认为有些事情现在值得做,以加快速度,但他希望我们尽可能快地赶时间并完全跳过这些问题.
我想做一些准备工作,因为它会节省大量的时间.就像从OO开始,设计一个完整的数据库模式,花时间设置像xCSS这样的东西,并将我们的问题分解为单独的步骤.
[我明白他的方式:]他想冲过去,甚至如果它意味着写恐怖/草率的代码,只要它得到设计出了门.他不想在基本的代码基础设施上花费时间或者在我们采用或干燥原则时重构.他不想花时间来决定需要做什么,他只是想做.例如,他认为对svn进行小的改动只是开销.
据我所知,他不希望我们卷入浪费时间做一个完美的系统,但我认为这会路太远,而不是什么37signals的崇尚.
它本质上是一个乌龟VS野兔的问题,我不知道该如何向他解释,他将拍摄自己的脚,如果他没有至少做一些简单的节省时间的代码设计的选择,和向下突破的问题和工作在小的离散块上.
否则他是一个优秀的开发者,并且能够做得很好.
准备多少太少,多少太少?
在我们的项目开始时,我们应该关注哪些高回报的事情?
在这个开发阶段,我们应该如何判断什么是值得工作的,代码明智的(不是特征)?
是否值得花费执行之类的东西XCSS等系统,将使其更容易从一开始就写干净的代码的时候?
你会如何向他解释细粒度任务的价值并进行小的原子变化.
您对代码做了哪些事情导致更快的发货时间?
我会接受最能改变他/我心灵的答案.您可以随意回答我列出的任何问题,以及我们的目标语言中的示例奖励积分.参考其他37signals的工作可能会有所帮助.
基本步骤是Agile software development什么?
您如何使用敏捷方法开始一个新项目?
我正在使用Visual Studio Team Services(以前是Team Foundation Service,而不是Team Foundation Server),我需要将团队项目流程模板从Agile迁移到Scrum.
Doe有谁知道怎么做?
agile ×10
scrum ×3
methodology ×2
architecture ×1
azure-devops ×1
iteration ×1
mysql ×1
organization ×1
php ×1
schedule ×1
sdlc ×1
tdd ×1
tfs ×1
tfs2010 ×1