确保您构建和购买有效的定制软件开发项目的第一个关键是确保您真正需要的是定制软件,而不是打包的解决方案,并有充分的理由来确定。根据一项调查,75%的企业和it高管预计他们的软件项目会失败,其中不到三分之一的项目能够在一年多的时间内按预算按时完成。构建和购买比较分析的一种方法是,询问是否有一个打包的软件解决方案能够提供超过80%的以下功能:
支持或自动化独特的业务流程和事务
处理行业或业务线特定的信息和数据
满足独特的隐私或安全要求
促进和集成旧式应用程序和数据
以更低的成本替换或帮助整合现有解决方案
替换或帮助整合现有解决方案以提高生产率
创造新的机会或提高竞争优势
增长适应不断变化的需求。如果要做出决定,合作是关键,那么一个重要的初步考虑是从主要参与者那里购买,并确保他们在项目上的沟通与合作。合作者包括发起人、用户、开发人员,甚至包括组织外部的客户和业务合作伙伴。”
协作意味着“与业务用户就需求进行协作,在全球开发团队之间共享知识,并在开发和运营团队中协作,以提高质量和响应能力。”要求
是必要的。协作的关键成就之一是对软件需要做什么(而不是不需要做什么)有一个清晰而共同的愿景。已确定“组织需要有效地定义和管理需求,以帮助确保满足客户需求,同时解决合规问题并按计划和预算进行”和“需求定义和管理是一项有可能实现以下目标的活动:高,快速ROI。“根据我们的“良好”要求,
正确(技术上和法律上可行)
完整(表达完整的想法或陈述)
清晰(明确)
一致(与其他要求无冲突)
可验证(可确认应用程序符合要求)
可追溯性(仅识别和跟踪)
可行(可在成本和进度内完成)
模块更改(可以更改而不会产生太大影响)
与设计无关(设计没有具体的解决方案)。在定义需求(可能不止一次地改变)之后,应用成熟的现代开发方法和实践可以帮助快速有效地交付有效甚至创新的软件。需要考虑的开发方法:敏捷开发将需求分解为易于使用的功能,并通过增量开发快速实现这些功能。随着功能的部署,反馈循环有助于识别和修复缺陷。Devops是开发和运营的结合。它是一种基于敏捷的方法,将软件开发和It操作集成到软件设计、开发、部署和支持中。快速应用程序开发是一种非线性方法,它将设计和代码构建压缩为一个相互关联的步骤。扩展敏捷框架提供了一种将敏捷方法扩展到大型组织(如全球开发团队)的方法。需要考虑的技术和实践:
开源是对公众和开发社区开放的软件源代码。例如,Linux是一个开源操作系统。它可以通过重用软件组件来提高开发效率,通过避免专有体系结构来提高互操作性。通过在云中托管开发环境,基于云的开发将云计算的优势带到了软件开发中。这些环境支持编码、设计、集成、测试和其他开发功能,以构建本地和云本地应用程序,并实现云技术承诺的成本控制、速度和按需便利性。人工智能使软件能够模拟人类的决策和学习。它可以用来改进开发过程。例如,自然语言处理(计算机和软件理解人类语言的能力)可用于分析需求文本,并根据最佳实践提出改进建议。机器学习和建模等人工智能技术也可以通过应用获得并集成到应用程序中