Questions tagged «project-management»

项目管理是规划,组织,保护和管理资源以实现特定目标的学科。

2
私人Github存储库上的合作者是否应该分叉存储库?
目前,我正在一个项目上,我们将源代码保存在Github上的私有存储库中,我们每个人都作为合作者。 我们尚不清楚如何将我们的每项工作分开。 我认为我们需要做的是: 我们每个人都需要分叉存储库 当我们准备推送代码时,我们会向项目负责人的仓库提交拉取请求,而后者可以同时以此为契机进行代码审查 对于私有存储库,这是应该用于分叉的,还是我使情况变得过于复杂?

5
当潜在利益相关者过多时,如何启动开发项目
我刚刚在大学里担任(唯一的)Web应用程序开发人员。 该学院有许多完全不同但编码很差的遗留系统。它们主要是用PHP内置的,它们处理诸如出勤,考试结果,评分等问题。 我的第一项工作是构建一个包含大量此类数据的系统,该系统目前驻留在各种数据库中,而没有任何友好的API可以将其提取出来(现有系统使用普通PHP编码,没有数据和视图的分离)有了一个新的平台来记录有关学生的牧草信息,并以一种有用的方式将其呈现给教师和高级职员,以便他们可以快速应对学生的问题。 在我们的第一次会议上,有18个人!没有代表多数的明确领导者或声音。没有可识别的客户。这次会议从教师的次要功能的详细实现思想转变为关于是否应使用Excel电子表格进行数据输入的争论! 可以想象,我的头在最后旋转。我实际上有很多好主意,但是我听不见。在我加入营销机构开发团队之前,这对我来说是一个非常新的角色。我们有明确定义的角色:项目经理,客户,设计师,开发人员。 我想知道是否有经验丰富的开发人员或管理人员可以为我提供一些指导,说明如何将我的同事们带入一个类似于项目团队的项目。是敏捷之路吗?您将如何处理所有不同的声音?显然,某些过程需要非常迅速地落实到位,我只是不确定那是什么。

5
代码审查落后于交付/测试周期
在我们的敏捷过程中,我们有2周的冲刺。每天(每天一次)交付任务,测试团队会在第二天甚至同一天立即完成测试。 我们也有开发人员代码审查,需要一些时间(1-2小时),因此每周安排3次:星期一至星期三至星期五。开发人员聚在一起,建议如何改进/重构代码。 我们的问题是,在代码审查后提出“行动项目”时,大多数任务已经过测试。测试人员不想重新测试已经通过测试的内容。他们不在乎内部开发人员的变更。 我们误解了敏捷过程吗?代码审查是否与每日发布/测试周期不兼容?我们无法每天进行代码审查,因为它们占用了每个人的时间。

5
Scrum可以使用产品待办事项列表中的技术规范而不是用户案例吗?
在我目前在公司工作的我们开始进行Scrum项目。说服经理们从瀑布式迁移到Scrum并不难。我们正在做一个从头开始重建平台的项目。因此,(大多数)功能是已知的,大多数改进都是技术性的。 在这种情况下,拥有技术任务而非用户故事是合理的。我们的积压工作涉及各种技术任务,例如: 将数据库类从MySQL重写为PostgreSQL。 实施系统日志记录。 重写对象缓存。 站立时出现的事情包括需要长时间的“研究任务”,但它们从未完成。此外,团队成员在冲刺中声称需要添加计划外任务。 Scrum Master应该如何处理?难道对于这样的项目来说,Scrum不是要走的路吗?

5
当他们的团队多年来缺乏产品创新,不使用项目mgmt方法并保持不良的软件开发实践时,如何做为开发人员?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我有兴趣知道如何处理当前的软件开发流程,该流程多年未变,最终会导致产品和团队失败。是的,解决这个问题的更简单方法可能是换工作,但是有了这种经济,说起来容易做起来难。但是,如果您有特定的示例,并且在相同的情况下曾经或多次出现,并且认为解决这些问题的最佳解决方案是离开公司,那么请支持您的回答。关键是,这个问题确实有答案,特别是如果该主题的多个专家最终指出最好的路线是:路线A。 我知道成千上万的开发人员曾经或正在经历类似的情况。这是公司从在市场上排名第一变为最后甚至退出市场的主要原因之一。希望本文中的答案能够帮助其他面临类似障碍的开发人员。在小型或大型开发团队中,通常会发生以下情况: 一些开发人员似乎并不在乎并决定顺其自然,而宁愿让代码充满很多代码味道,保持开发流程不变, 其他人厌倦了不变,辞职并搬到另一家公司, 其他人似乎害怕说话,宁愿保持沉默, 有时,很少有开发人员或只有一个开发人员试图说出要改进产品的情况,并告诉团队遵循最佳编码实践的重要性和对客户,用户和团队的益处。这些类型的开发人员通常由于诸如公司提供的收益,软件公司提供的收益很少,产品具有很大的潜力等原因而决定留在团队中。 我们团队中的产品仅是公司从中获得收入的一小部分,因为它拥有大量产品(该公司不是软件/硬件公司;因此,至少在目前,没有持续的专利诉讼可创造工作机会)不稳定)。这些年来,我从其他开发人员的经验中学到的东西是,要真正认识一个开发团队,需要花费时间,而不是几天或几周,而是几个月。在面试过程中,团队是否要雇用您或需要您;它们使一切听起来很棒,并且它们可能会告诉您您想听的内容。但是,当您开始在该团队中工作并开始深入研究代码并迈向完整的SDLC流程时,现实就不同了。这是作为开发人员时,您开始看到自己从事的工作的现实。这种现实使得很难从一家公司转移到另一家公司,因为很难知道您所迁移的公司是好是坏。是的,您可以阅读Glassdoor的评论等。但是,这些在线评论中有多少是真实的,而不是来自HR? 考虑到经理从一开始就一直拒绝更改,而以前的开发人员已经这样做了多年,那么解决以下概述的问题的最佳方法是什么? 多年来缺乏产品创新:产品具有巨大的潜力,并为公司带来了可观的收入,但产品看起来像20年前制造的。一些用户抱怨该产品不友好,不直观,而另一些用户则提到该产品已用于Gmail等应用程序,并且由于不具有类似功能而在使用该产品时感到沮丧。这里的主要问题是,当您作为开发人员尝试对产品进行更改并开始将产品的主要元素移开几个像素(以使其更加用户友好或直观)时,经理会慌张并告诉您把它放回原处。如果您尝试添加对用户有利的功能,经理会要求您删除它,因为“用户习惯于按原样进行处理等。” 我认为您理解了变革,改进和创新的阻力(即使您作为开发人员提供了强有力的利益主张,经理也不愿意改变)。公司在该领域有一些竞争对手(其中的几个产品更具竞争力),但是公司以某种方式保持了现有客户多年。 缺乏项目管理协调:因此,一些项目交付较晚,存在错误,有些客户抱怨(客户也报告错误),或者在交付项目之前预算太快等。我已经提供了它们一些项目协调技巧,并且现在定期使用这些想法来跟踪项目和要完成的任务的进度。 不良的软件开发实践:在大多数(如果不是全部)文件上看到代码异味,没有文档,代码冗余,在同一文件上混合了前端层和后端,过时的开发工具,没有真实的测试环境或测试工具(只需复制和粘贴)文件从开发环境到生产环境,然后手动进行测试,看情况是否良好并发布)。我用于开发和测试的大多数开发工具都是团队不知道的,因为团队仅使用2个IDE进行代码开发,而源代码控制仅适用于开发环境。其他开发人员试图使用最新的框架来改善当前问题,但是经理不喜欢它,因为“如果离开,那么谁来维护该代码?让我们保持现状”,其中一些开发人员已经离开并搬到另一家公司。 综上所述,我确定其他公司的许多开发人员也会遇到类似的情况,但是由于情况不同,开发人员可能更愿意留在团队中而不是去其他公司,原因是(工作便利,工作灵活性,公司收益或只是因为还没有一个更好的机会)。我没有一家完美的公司,但是作为开发人员,您将如何处理和解决所有这些问题,以保持积极的态度,并最终促进变革,以改进产品并改善软件开发流程(无论您是否有很多)多年的开发经验还是仅几个)?我知道这是一篇很长的文章,但是我希望提供更多细节,以增加获得更多有用反馈的机会。 非常感谢您的反馈和时间

5
冻结的项目-我应该留给我后面的人什么?
因此,我一直在从事的项目将无限期冻结。如果再次冻结项目时,可能不会将其分配给我或当前团队中的任何人。实际上,我们是在项目冻结之前继承了该项目,但是先前的团队没有任何东西可以帮助我们甚至了解项目的基本需求,因此我们浪费了很多时间来很好地了解项目。我的问题是,您认为我们应该怎么做才能帮助后世的人们最好地了解项目的需求,我们做了什么,为什么要这样做等?我对​​我们为什么应该离开的其他想法持开放态度。一些对其他人也可以在该项目上工作的曲目。 我们已经采取的一些步骤: 技术文档(不完整,但至少有一些); 源控制系统的历史; 估算项目的哪些部分需要改进以及我们为什么要这样做; 一堆单元测试。 我们已完成的所有票证的问题跟踪器(编辑) 您如何看待我们已经准备好的东西,我们还能做什么?

4
通过使用单元测试超时来衡量方法的性能是一个好主意吗?
在有非功能性需求的项目中,该非功能性需求指定了特定操作的最长时间执行时间,QA必须在精确负载下使用精密硬件检查专用设备上此动作的性能,硬件和负载均在需求中指定。 另一方面,对源代码的一些错误更改可能会严重影响性能。在源代码到达源代码控制并由QA部门验证之前尽早注意到这种负面影响,这可能会因为QA部门报告问题而浪费时间,而开发人员稍后再修复它会造成损失。 为此,这是一个好主意: 要使用单元测试有花了执行相同action²时间的想法ñ倍, 要在C#中通过属性使用每次测试超时[TestMethod, Timeout(200)]? 我期望这种方法会出现几个问题: 从概念上讲,单元测试并非真正做到这一点:它们应仅测试代码的一小部分,仅此而已:既不检查功能需求,也不进行集成测试,也不进行性能测试。 考虑到这些测试不存在初始化和清除功能,或者它们太短而无法影响结果,Visual Studio中的单元测试超时是否真的可以衡量预期的结果? 用这种方法衡量性能很难看。在独立于硬件,负载等因素的任何计算机上运行基准测试,就像进行基准测试一样,表明一种数据库产品总是比另一种数据库产品更快。另一方面,我不希望这些单元测试是确定的结果,也不希望质量检查部门使用这些东西。这些单元测试将仅用于提供有关预期性能的一般概念,并且实质上是在提醒开发人员,他的最后修改破坏了某些内容,从而严重影响了性能。 对于这些测试,无法进行测试驱动开发(TDD)。首先,在开始实施代码之前它将如何失败? 性能测试太多将影响运行测试所需的时间,因此此方法仅限于短期操作。 考虑到这些问题,如果将此类单元测试与质量保证部门的实际性能指标结合使用,我仍然觉得很有趣。 我错了吗?还有其他问题使其完全不能使用单元测试吗? 如果我错了,那么在源代码到达源代码控制并由质量检查部门验证之前,警告开发人员该源代码的更改严重影响性能的正确方法是什么? ¹实际上,单元测试只能在具有相当硬件性能的开发人员PC上运行,从而缩小了永远无法通过性能测试的最快计算机与永远无法通过性能测试的最慢计算机之间的差距。 ²实际上,我的意思是一段相当短的代码,需要花费几毫秒来运行。

10
解决已知错误后,其他地方可能会出现新错误的原因是什么?
在讨论中,我的一位同事告诉他,在尝试解决错误时,他目前的项目有些困难。他说:“当我解决一个错误时,其他地方就会停止工作。” 我开始考虑如何发生,但无法弄清楚。 当我太累/困得无法正确执行工作并无法全面了解正在处理的代码部分时,有时会遇到类似的问题。在这里,问题似乎持续了几天或几周,与我同事的关注点无关。 我也可以想象这个问题是在一个非常大的项目,一个管理不善的项目中引起的,在这个项目中,队友不知道谁在做什么,而对其他人的工作有什么影响可以改变他们正在做的事情。这里也不是这样:这是一个只有一个开发人员的相当小的项目。 对于旧的,维护不善且从未记录过的代码库,这也可能是一个问题,只有真正能够想象变更后果的开发人员才在几年前离开了公司。在这里,该项目才刚刚开始,开发人员不使用任何人的代码库。 那么,由一个专注于自己的工作的开发人员编写的全新的,小型代码库中的此类问题可能是什么原因呢? 有什么帮助? 单元测试(没有)? 正确的体系结构(我很确定代码库根本没有体系结构,并且编写时没有任何初步思考),需要整个重构吗? 配对编程? 还有吗

8
如何处理推动旧系统的管理?
我目前正在带薪实习中,并且负责维护由过去五年来由多个开发人员(在不同时间)开发的过时系统。管理层同意“该系统具有生命支持”,并且我从当前使用该系统的最终用户那里收到定期报告的错误报告。 管理层现在希望将该项目再延长一年,在此过程中,用户群几乎增加了两倍。 作为一名实习生(或任何入门级职位),我该如何“退缩”?我已经写了一份报告,陈述了我的担忧,尽管它是开放式文档。是否有用于建议更改的协议或文档类型?我是否可以提出建议,还是应该继续支持旧系统? 要澄清的是,软件开发不是我公司的主要业务。因此,不存在内部协议。此外,该项目根本没有正式文档,也没有需求文档。发展是非常特别的。

2
在迭代过程中更改估计值可以吗?
我们已经开始由4个开发人员组成的团队使用Agile / Scrum。我们进行了故事估算,并在产品积压订单中订购了故事Primed故事。 我们从对复杂度从1到5的基于点的估计开始,而不是通常的1,2,3,5,8,13 ....等 在处理了几个故事之后,我们觉得一些估计为4点的故事应该只有2个,而其他估计为2点的故事要复杂得多,应该估计为5个。我想知道: 在迭代过程中更改我们的故事估算值可以吗? 是否可以使用当前估计点从1到5,而不是通常的1,2,3,5,8,13 ....等 尽管我个人认为这两种情况都不应该,但是由于我自己的理解还不是很清楚,我需要支持自己(尽管任何好的参考资料都会很好!)


5
当同事们忽略这个过程时该如何站起来?
我面临的问题: 我的团队成员在没有准备好功能/技术文档的情况下就开始进行项目工作-即使我们公司的流程要求这些内容在开始之前也应存在。 我的团队成员接受便宜的,非结构化的解决方案,并且会在软件中实施真正的恶意入侵,而在项目管理人员指出他们“时间有限”时不会三思而后行。 我的团队成员开始进行与另一个团队的未完成项目一起工作的项目,该项目尚未经过测试和未完成。(造成大量额外工作)。 软件的改进和整个阶段没有得到适当的计划,当后端开发人员必须开始工作时,通常会导致前端/设计没有完成。 自从我在这里开始工作以来,这些问题已被无休止地讨论了多次。每个人都同意,最重要的是我们必须执行该流程,这意味着后端开发人员只有在处理完所有事情后才能开始。 这些问题一直在发生-直到我对工作本身和我的一些同事感到非常恼火,我才真正变得消极。 我的团队成员抱怨很多-但只能互相抱怨。They keep on going - whatever the situation is。结果? 我变得不安全,也许是我吗? 这就是应该发生的事情吗? 我的问题?How can I say no against work ignoring the process if everyone else seems to mindlessly accept?。 这看起来并不像一些烦人的开发人员那样,他们一直都在寻找东西。

6
如果愿意,是否应该允许开发人员使用VSS?
我向公司介绍了Mercurial。我喜欢它,但这是我的第一个版本控制经验。我将其与NetBeans PHP一起用于Web开发。 另一个从事公司内部应用程序开发的开发人员喜欢使用Visual Source Safe,并且不想切换。他在Visual Studio环境中工作。 除此以外,所有其他开发商都购买了Mercurial。不过,在大多数情况下,我们所有人都非常独立地工作。 我正在努力朝着正确的方向发展这个部门,我已经为每个人在Kiln上建立了一个帐户,我希望也能使每个使用Fogbugz的人都走上一条路(因为目前没有维护任何错误数据库。)从未使用过VSS,但我听说过非常糟糕的事情。 如果他愿意,只允许他继续使用VSS会更好,还是让他加入Mercurial符合最大利益?

2
对Haskell中的GUI库的建议[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 正如Haskell Wiki本身所言: Haskell有大量的GUI库。不幸的是,没有标准的标准,而所有标准或多或少都是不完整的。通常,低级别的贴面进展顺利,但级别较低。高级抽象是实验性的。需要受支持的中级GUI库。 我学院的一位教授要求我和其他三个计算机科学专业的学生考虑为Haskell开发GUI库。他对该项目的最初想法是在OpenGL之上编写一个层,该层模仿Smalltalk中的形态库。但是,这只是一个建议,其他系统绝对值得考虑。 这将我们带到一个实际的,包含多个部分的问题。 我们的图书馆应该争取什么抽象水平?Haskell Wiki似乎强烈表明将首选中级GUI库。但是,仍然欢迎使用高级图书馆。 我们的图书馆应基于什么建造?(例如OpenGL) 您希望看到什么现有的GUI库模仿我们的库(如果有),为什么?(例如PyGame,Morphic,Swing等) 您希望我们的库实现或避免哪些功能?例如,Gnome的好人可能会认为“最小化”按钮是不必要的。 您有什么一般性建议吗? 您会给这个假想库一个聪明的名字吗?(例如HOT-Haskell Opengl Toolkit; HAWT-Haskell Advanced Windowing Toolkit)

7
一周内的项目/开发训练营[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我们的团队正在考虑进行“一周内的项目”(训练营),我想知道是否还有其他人有这样做的经验或任何建议? 其背后的想法是摆脱办公室的干扰,相互激励,并在团队中建立我们的纽带,以便在短时间内提出创新和有利可图的产品。 计划是让整个开发团队(大约5个开发人员),设计师,项目经理,几个销售和市场营销人员在会议中心/酒店呆上一个完整的工作周。我们将完全专注于构建一个Web应用程序(预先计划)并在一周之内将其发布并投放市场。我们将工作很长的一天,但在晚上,我们将作为团队一起玩乐。为了确保我们不会因日常客户支持而分心,将有几个团队成员留在办公室。诸如Firebrand这样的培训公司也使用了类似的“沉浸式”方法。 好主意?糟糕的主意?我们应该如何激励团队? 任何想法/经验/建议将不胜感激。 干杯

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.