每个软件产品都需要大量投资,承诺保持或关闭它

决定构建和发布新的软件产品意味着在多年的生命周期中做出重大承诺并承担成本。 但是,人们对这些长期承诺的规模和性质及其对业务模型的影响往往不甚了解。 软件即服务改变了客户的期望 许多人仍然将他们计划的软件应用程序作为一个谨慎的产品来展示,该产品将作为项目进行定义,构建和交付。 但是,自从使用Word 95并在两年后需要改进和新功能时购买Word 97以来,用户和客户的期望已经发生了巨大变化。 软件即服务已为用户和客户设定了以下期望: 随着时间的流逝,软件变得越来越有用和有效 始终保持性能,可靠性和安全性 升级后,现有产品将可以使用其新的操作系统或硬件 无论是生产移动和桌面应用程序,还是提供真正的SaaS,您都必须在产品的生命周期中进行资源开发和投资,以从这些产品的第一个版本到生命周期终止,以满足这些期望。 您的产品部署在不断变化的环境中 过去,您可能会看到客户每4年更新一次新PC和Windows版本。 您可以计划升级软件以使其在新系统上运行,或者启动一个项目进行更改并向客户收取新版本的费用。 那个世界已经一去不复返了,Chrome是世界上最受欢迎的浏览器,它在2016年发布了八个主要版本更新,甚至Windows也在不断升级。 大多数B2B产品都与其他产品集成,这些产品中的每一个都在不断改进中,不断做出重大更改并逐渐淘汰旧的API版本。 如果您有集成,则需要不断发布产品更新,以保持数据畅通。…

进化软件架构的指导原则

在瀑布项目的黑暗年代,我们在大型前期建筑和设计上投入了大量资金。 对系统进行了深思熟虑,并在其生命周期内记录了文档。 所有这一切都是在任何人削减一行代码之前发生的。 一旦一切就绪,几乎没有改变的空间。 十二个月后,我们经历了可怕的回归测试周期,最终发布了一个产品,结果发现我们的客户需求已经发生了变化,我们最终构建了没人想要的东西,但是至少它是精心设计的! 值得庆幸的是,我的朋友那些日子已经一去不复返了,大型的前期设计在敏捷开发中没有立足之地。 通过敏捷开发,团队仍然可以完成架构工作,但是工作方式却大不相同。 敏捷团队没有采用大型的前期设计来决定整个系统的体系结构需求,而是采用了渐进和演进的方法。 但是,设计,构建和维护健壮的体系结构并不是免费的。 您需要在整个过程中始终专注于体系结构,并遵循一些指导原则。 演化架构为我们提供了企业架构的大多数优势,而没有试图准确预测未来所带来的问题。 这里有许多有用的技术和原理,可以帮助您在产品的整个生命周期内保持干净的体系结构。 “最好的体系结构,需求和设计来自自组织团队。” 敏捷制造原则 最后责任时刻 最后一个负责任的时刻不是鼓励拖延,而是说您应该尽可能拖延决策,但不要再拖延了。 等待做出设计决定所需的时间越长,您掌握的信息就越多,您就越能正确地进行设计。 在项目中过早做出决策的风险很大。…

如何使用混合/离子平台开发低成本的移动应用程序?

对于组织或单个移动应用程序开发人员而言,软件开发的一个关键方面是移动应用程序。 地球上几乎每个人(超过20亿人口)都拥有一种智能手机或另一种智能手机,这些智能手机可以运行各种应用程序。 这使创建移动应用程序成为每个程序员或企业家都想做的事情。 但是制作移动应用程序的问题在于与其开发相关的技术。 当前有两种操作系统统治着移动世界:iOS和Android,并且它们都有各自的特定开发平台。 iOs具有Objective-C和Swift,而Android具有良好的’ol Java。 学习这两种技术中的一种或两种以开发移动应用程序足以使许多开发人员无法使用。 好吧,直到混合平台问世。 混合/离子平台或框架使开发人员可以使用他们已经熟悉的技术创建移动应用程序:HTML,CSS和JavaScript。 与此有关的另一件有趣的事情是,移动应用程序开发人员只需编写一个代码库,然后就可以在各种平台(iOS,Android或Microsoft)上重用。 聊够了,让我们跳到如何制作一个可以在Android或iO上运行的简单混合应用程序。 您需要做的第一件事是选择要使用的混合开发平台。 有很多不错的选择。 Apache Cordova,Telerik,PhoneGap等。出于本文的目的,我们将使用Apache Cordova进行开发。 要开始使用这些混合工具,您需要先向提供者注册。…

软件测试人员优先考虑错误的技巧– Ellora Sarkar –中

软件测试人员优先考虑错误的技巧 在测试软件应用程序时,测试人员会发现各种错误或缺陷。 但是在单个应用程序中发现的各种错误的性质和严重性不同。 这些错误中的一些需要立即修复,而其他的则可以顺序修复。 测试专业人​​员经常将错误分为四个不同的类别,即严重,高,中和低。 严重错误:这些错误通常会阻止质量检查专业人员继续进行测试过程。 这就是为什么; 测试人员必须在24小时内修复关键错误,这一点至关重要。 高优先级错误:这些错误会影响软件的功能和可用性。 高优先级的错误必须在该软件的商业发布之前得到修复。 中级错误:通常,此类错误仅影响软件的性能和可用性。 因此,可以在软件发布后对其进行修复。 低优先级错误:由于这些缺陷对应用程序的功能和性能的影响很小,因此可以在将来修复。 测试专业人​​员需要根据其严重性以及对应用程序功能,性能和可用性的影响,将每个错误标记为严重,高,中或低优先级。 他们必须记住一些简单的技巧,以便以最合适的方式对错误进行优先级排序和标记。 优先考虑在软件应用程序中发现的错误的简单技巧 分别评估缺陷的严重性 通过单独评估错误,测试人员可以更准确地评估错误的严重性。…