As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened,
visit the help center提供指导。
9年前关闭。
在另一个应力释放版本之后,软件工程师会遇到什么?好吧,我们小组中遇到的第一件事是我们公开发布的错误。压力释放后,我们作为软件工程师遇到的最大问题是意大利面条式代码,也称为
big ball of mud。
The time and money to chase perfection are seldom available, nor should they be. To survive, we must do what it takes to get our software working and out the door on time. Indeed, if a team completes a project with time to spare, today’s managers are likely to take that as a sign to provide less time and money or fewer people the next time around.
You need to deliver quality software on time, and under budget
Cost: Architecture is a long-term investment. It is easy for the people who are paying the bills to dismiss it, unless there is some tangible immediate benefit, such a tax write-off, or unless surplus money and time happens to be available. Such is seldom the case. More often, the customer needs something working by tomorrow. Often, the people who control and manage the development process simply do not regard architecture as a pressing concern. If programmers know that workmanship is invisible, and managers don't want to pay for it anyway, a vicious circle is born.
但是,如果真的是这样,那么每个长期软件项目最终都将最终导致很多麻烦。
我们知道,这种情况永远不会发生。怎么来的?因为有关经理不将架构视为紧迫问题的说法是错误的。至少在今天。 IT领域的管理人员非常清楚,可维护性是业务的关键。
business becomes dependent upon the data driving it. Businesses have become critically dependent on their software and computing infrastructures. There are numerous mission critical systems that must be on-the-air twenty-four hours a day/seven days per week. If these systems go down, inventories can not be checked, employees can not be paid, aircraft cannot be routed, and so on. [..]
因此,寻求使系统远离泥潭的业务是企业的核心。该系统仍可维护。该系统确实有效,并且您可以像程序员一样证明它确实有效。您的经理是否问您今天是否已完成编码,她问您是否可以立即完成具有A,B和C修复的发行版,还是询问要发行的软件是否确实有效?并且您证明它有效吗?什么?
现在我的问题是:
我们必须采取什么方式证明我们的经理和/或利益相关者我们的软件有效?我们的软件单元测试的那些绿灯是否足够好?如果是的话,那岂不是只能证明我们的泥泞大球还在做我们期望做的事吗?该软件是可维护的吗?您如何证明您的设计是正确的?
[稍后添加]
克里斯·佩 bool (Chris Pebble)在下面的回答是让我的团队走上正确的道路。质量保证绝对是我们正在寻找的东西。谢谢克里斯。与利益相关者达成一致的质量检查政策,不是我们团队所追求的逻辑结果。
后续问题是该质量检查政策应包括什么?
让我的涉众可见该buildserver的运行情况
让构建服务器不仅“仅构建”,而且添加属于质量检查策略的测试
我的利益相关者就我们的开发过程达成了协议(protocol)(开发人员互相检查代码是其中的一部分)
更多..
一些更多信息:我领导的团队正在构建其他软件团队使用的Web服务。这就是为什么中断的Web服务会立即造成金钱损失的原因。当presentationlayer团队的开发人员或实际的测试人员无法前进时,我们会立即承受压力,必须尽快修复错误,从而导致快速的黑客攻击。
[稍后添加]
感谢所有的答案。确实,这与“信任”有关。如果利益相关者不信任该软件,我们将无法发布软件,这些利益相关者正在使用使用我们Web服务的网站来主动测试我们的软件。
当出现问题时,我们测试人员的第一个问题是:是服务层问题还是表示层问题?指导我制定质量保证政策,以确保我们的软件可以进行他们所进行的测试。
因此,我现在(现在)可以设想与测试人员建立信任的唯一方法是:
-与当前的测试团队交谈,仔细检查他们能够手动执行的测试(从测试脚本和场景中进行),并确保我们的团队已将这些测试作为已经针对我们的Web服务进行了检查的单元测试。在我们发布presentationlayerteam必须集成的版本之前,这将是“签核”的良好起点。需要花一些时间来澄清为所有这些场景创建自动测试将需要一些时间。但是,绝对可以确保我们 build 的产品切实可行。
我是一名优秀的程序员,十分优秀!