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