首页 > 其他分享 >软件开发血泪史

软件开发血泪史

时间:2023-06-13 14:46:25浏览次数:36  
标签:架构 软件开发 项目 血泪史 问题 我们

在我工作的第一年,我被分配到一个硕大的项目组中进行软件开发工作。这个项目组本来规划为14人团队,但因为招聘困难,我们只有7个开发人员。我们被要求开发一个复杂的web应用程序,需要处理大量的数据处理和用户交互。然而,项目规划及时间表显然没有考虑到实际情况,压力巨大。在项目进度方面,我们始终感到很吃力,这个项目的进度也因此延误了六个月。

在软件开发的前期,我们花费了数周时间来创建项目的基础框架。然而,当项目正式开始时,我们发现基础框架的架构存在一些问题。而当修复问题时,这些问题又会牵扯出其他的问题。我们的每天都在解决这些问题,而没有时间专注于到具体业务实现上。

在项目的中期,我们遇到了一个未知的问题。当我们添加最后一个子系统时,整个应用程序的性能突然下降了,我们的客户端无法与服务器通信。在后来的排查过程中,我们发现了一个底层的缺陷。由于缺乏清晰的架构规划,我们的整个项目代码都很复杂和混乱,我们的后期调试时间也随之变得更长。我们不得不做出像是重新构建底层架构这种关键决策,虽然我们知道时间已经不够。

虽然我们最终完成了这个项目,但我们做的一切完全不值得。这个项目的成本和风险都非常高,开发周期更长,客户体验也略微降低。对于大多数人来说,这已经是一个梦魇般的软件开发窗口体验了。

这个经历让我学到了很多软件开发的宝贵经验。第一,清晰的项目架构规划和代码结构是开发成功的重要组成部分。第二,软件开发项目计划和时间表中一定要考虑到实际情况,不能将工期定的太过乐观。第三,整个项目的成功需要一整个团队的支持。最后,快速响应问题并及时修复问题是避免未来软件发展方面的陷阱的关键因素之一。

因此,在软件开发过程中,只有确定和遵守规划,分配好资源,同时敏捷地处理问题,才能确保最终项目的成功。开发软件的路上并不容易,但是经历这样的血泪史会态塑我们成为更好的软件开发者。

后来我转型成为了一名云服务器代理商,与朋友合伙开设了一家阿里云城市服务商公司,有新购阿里云云服务器的小伙伴可以找我V:cloudbiyu,最低20%的实付价格优惠,从此我也摆脱了开发搬砖工作。

标签:架构,软件开发,项目,血泪史,问题,我们
From: https://www.cnblogs.com/biyu/p/17477439.html

相关文章

  • 最佳软件开发实践
    最佳软件开发实践是一套广泛接受的、在软件开发过程中应用的原则和方法,旨在提高软件的质量和效率。以下是一些常见的最佳软件开发实践:1.**需求分析**:在开始任何开发工作之前,应充分理解和明确需求。这包括与所有相关的利益相关者进行沟通,以确保他们的需求和期望都被考虑到。2.*......
  • 小米java软件开发面经
    面试转载面经小米java软件开发:一面50分钟左右:面试题:1、介绍下项目。2、使用Redis存储手机验证码以及检查是否过期的功能,展开说一下。3、Redis如何清除过期数据?4、Redis的持久化机制。5、RDB和AOF方式有什么区别?为什么提供第三种混合方式?6、Redis缓存异常的三......
  • 租赁小程序开发|人车网租赁软件开发|人车网租赁系统功能
    其实租赁一直存在于我们的生活中,用户群也比较广泛,不受年龄界限的限制。在互联网时代,我们可以将不使用的东西发布到一个受限的租赁平台上,这样既能帮助别人,又能获得一定的利益,这是双管齐下的事情,而这也是租赁小程序发展受到人们欢迎的一个重要原因。那么租赁小程序有哪些功能呢?接下来......
  • 卡车装车软件开发
    一、由于需求功能比较复杂,以下提供大致的代码框架和思路1.卡车类属性:长、宽、高:float类型,表示卡车的长宽高模拟物体frontObject:GameObject类型,用于模拟车厢前部形状起始位置startPosition:Vector3类型,表示卡车放置物品的起始位置方法:GeneratePlacementMarkers():生成可放......
  • 相对导入、绝对导入、软件开发目录规范
    绝对导入和相对导入:1.注意事项:---当导入多个模块的时候,要始终以执行文件所在的位置为基准2.绝对导入:---始终以执行文件所在的位置查找3.相对导入:""" 使用的符号是. 句点符(.) .表示当前路径 ..表示的是上一级目录 """#相对导入就可......
  • 每个软件开发人员都应该知道的50个ChatGPT提示
    在本文中,我们将探讨一些专为软件开发人员量身定制的很棒的ChatGPT-4提示。这些提示可以协助完成代码生成、代码完成、错误检测、代码审查、API文档生成等任务。(更多优质教程:java567.com,搜"人工智能")代码生成[language]为[class/module/component]具有以下功能的命名[name......
  • 软件开发的一些思考2
    看了一些软件设计方面的资料,大致印象是似乎都在强调灵活的设计,减少耦合,目的在于以后有变动时可以减少改动,这样也在一定程度上减少了出错的可能性。现在觉得今后的需求变动难以预料,但是设计时,防止将来可能出现的bug(而不是将来可能的需求变动),似乎更为重要。当然,将来可能出现的bug,......
  • java软件开发工程师实习求职常见面试题
    1、请说出作用域public,private,protected,以及不写时的区别这四个作用域的可见范围如下表所示。说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域   当前类同一package子孙类其他packagepublic   √    √         √      ......
  • QCon 全球软件开发大会(广州站)学习资料放送!
    5月27日,由InfoQ中国举办的QCon全球软件开发大会在广州圆满落幕。Apifox受QCon大会主办方和TGO鲲鹏会邀请,参加了此次峰会,与国内知名科技企业进行了交流与学习。大会为期两天,有近百位国内外技术大咖现场分享前沿技术案例与创新实践,共有十二个专题,近五十余场分享。其中包......
  • 敏捷开发软件开发流程贯穿整个开发流程
    ​这是一个Scrum敏捷单团队敏捷开发示例。1、建立产品路线图首先我们需要为这个项目创建一个产品路线图,产品路线图是一个高层次的战略计划,它描述了产品在未来一段时间可能会如何发展和壮大,产品路线图确保整个产品团队持续关注产品的目标,帮助产品负责人把握产品的战略方向,调整产......