现在的IT领导者、项目经理和软件开发领导者必须优先考虑预防技术债务。
技术债务会带来深远的负面影响。出于速度或其他原因,开发人员有时会采用不合格方法开发软件,这会导致应用程序难以维护、容易出现安全漏洞,让员工难以使用。为了防止技术债务,领导者可以在软件开发过程的每个阶段部署关键的最佳实践。
在项目开始之前
项目预期是成功软件开发的基石。这里的目标是通过在项目早期采取措施来避免技术债务。
验证架构
在项目开始时,高级团队成员应将时间投入到应用程序的整体架构和新功能上。在项目早期处理这些元素将确保团队能够按计划实施项目要求,并将帮助团队维护这些应用程序,以开发其他版本。
创建项目要求
要求文档应说明应用程序应该做什么,并列出每个应用程序的功能。该文件应提供足够的细节,以便参与应用程序开发过程的每个人都能理解。参与该项目的人员包括软件开发人员、测试团队和文档专家等。
软件开发团队可能创建的其他项目文档包括设计文档,其中包含有关特定功能创建和使用的详细信息。
实施编码标准
该项目应明确编码标准,软件开发团队必须遵循这些标准。创建编码标准将确保整个应用程序的代码一致性,并且,当团队成员开始在项目的不同部分工作时,可简化过渡工作。
软件开发团队还应确保有流程可检查团队是否遵循编码标准,特别是新成员。
创建测试自动化框架
开发人员应该可以访问测试自动化框架,团队将使用该框架来运行自动化测试。该框架应涵盖关于期望、框架使用以及适用标准和流程的说明。
从一开始,软件开发人员就应该构建自动测试脚本,以在整个开发过程中运行。持续运行这些测试脚本将识别代码变更(这会破坏已完成的功能),并防止未来出现问题。
在项目实施期间
随着应用程序开发的继续,软件开发团队必须继续对技术债务保持警惕。有些任务涉及实施提前计划的举措。
运行自动测试
自动测试是利用技术测试新应用程序的过程。这些测试比手动测试更快,并提供远超出手动测试的覆盖水平。软件开发团队应定期运行测试脚本,以确认新代码没有破坏现有功能。
如果测试失败,开发人员可以决定新代码是否需要修复,或者他们是否应该根据新功能更新测试。
执行代码审查
代码审查是指团队成员的一名成员检查另一个人的代码。这种审查在开发过程的早期尤为重要,可以确认开发人员是否遵循项目的编码标准。随着开发人员证明他们正在编写好的代码,审查次数可能会随着时间的推移而减少。
对于不遵循标准的开发人员或者复杂功能,代码审查可以继续进行。
审查功能开发过程
确认软件开发团队正在遵循功能开发流程可以减少意外的技术债务。
例如,在编写代码之前,编写设计文档可确保软件开发人员了解软件功能,并在创建代码之前收到产品经理和项目负责人的反馈。在编写代码之前应编写和审查设计文档,以避免以后在流程中出错。
软件开发团队必须遵循的功能开发过程的其他部分可能包括:在将功能标记为完成之前开发自动测试、更新文档和关闭未结缺陷。
根据技能水平分配任务
团队成员的任务应该与他们的技能和经验保持一致。例如,高级员工应该处理更复杂的任务。
如果初级开发人员参与一项复杂的任务,代码审查可以评估他们的工作,而中级开发人员可以通过审查初级开发人员的代码来获得新技能。
在项目上线后
软件开发团队可能需要在应用程序开发后解决累积的技术债务。以下是团队成员可能需要解决的一些任务。
重构
重构涉及修复代码以解决已知问题。这里的目标不是改变软件功能,而是改进代码,使其在未来更可靠、更容易更新。
软件开发团队应该确保为这一重要步骤留出一些时间。编写得很糟糕但仍然有效的代码通常会保持原状,直到关键问题迫使其更改。这种反应性方法导致技术债务留在产品中。
审查缺陷
虽然完全没有缺陷是理想状态,但如果不大幅延迟发布时间,通常不可能消除所有应用程序问题。在项目接近尾声时,软件开发团队通常只修复关键问题,并等待未来的更新或发布后再解决其余问题。在发布应用程序后,项目负责人应安排时间审查任何剩余的缺陷,并确定每个缺陷的优先级、对客户的影响和修复时间。
当软件开发团队为下一个软件版本创建项目时间表时,团队成员应增加时间来解决上一个版本的问题。
完成文档
在应用程序发布后,团队成员应分配时间完成文档,并将所有项目文档正确存储在项目存储库中。
应确保文档正确并在未来可供访问,这将有助于未来的软件发布。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
翻译
相关推荐
-
AI能源使用增加,技术工作负载限制IT
能源的可用性和成本正在成为技术使用的制约因素,随着企业AI应用程序增加计算需求,IT经理必须计划解决这一问题。 […]
-
生成式AI能耗增加,但尚不清楚投资回报率
在为生成式AI构建商业案例时,IT领导者需要考虑很多成本考虑因素,有些显而易见,有些则是隐藏成本。 其中最明显 […]
-
CrowdStrike事件揭露关于IT的残酷真相
美国立法者希望CrowdStrike首席执行官George Kurtz解释其软件更新如何导致数千次航班取消、医 […]
-
CIO的绿色IT指南:融合技术和可持续性
可持续性为当今企业带来巨大的机遇,但同时也带来重大挑战。这种挑战与数字转型的挑战不相上下,甚至超过数字转型的挑 […]