前言
最近公司搞了一个敏捷开发的平台,需要我们开发需求人员熟悉怎么操作,说实话在这之前虽然也或多或少的知道一点敏捷开发,但是对其没有更加深层次的理解,而且每家公司的要求也是不一样的,另外今天在开会的时候也是受益匪浅,感觉从大佬们那里偷学了很多的知识,所以现在才会迫不及待的开始记录下自己学习的心得吧,下面先来看看什么是敏捷开发吧
一、敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
上面的这句话是从百度百科上面摘抄下来的,其实随着现在微服务架构的兴起,同时也是未来的趋势,他是将大服务拆分成很多小的服务或者叫做微服务都行,这样做的一个很大的好处就是服务与服务之间的耦合性越来越低了,部署起来也是越来越灵活,其实对于开发人员来说也是一种福音,至少我们开发的时候关注的点更加细致了,更加明确了,所以我认为敏捷开发是对微服务架构的一种补充,或者可以说是相辅相成吧。
二、平台
其实上面说了这么多最终的目的还是怎么让开发的流程更加的专业化,首先对于公司来说开发的流程更加专业化,从需求提出到开发到测试到验收的一整套流程在这个平台里面都可以很好的展现,并且还有各种各样的提醒和统计,同时也为公司人员的KPI衡量提供了一个很大的参考,对于个人来说你的需求也变的更加的专业化,有了这一套东西的存在,你的需求变得更加的稳定,从某种程度上来说对程序员也是一种保护。所以好好的用好这个工具是当前的一个重要任务。
三、规划
在开会的时候的时候大佬也跟我们分享了一下怎么使自己进步,一个人进步的最大标志就是不会单打独斗了,开始学会怎么去带领一个团队,不管是一个人还是几个人的团队,这是需要我们考虑更多的,大佬说了,你们在需求讨论后定计划的时候是怎么样去计算开发时间的呢?可能很多的人都是随便估计一个时间,有的根本就不知道需要多少时间,所以就胡乱说了一个数字,其实这个时间是可以比较准确的计算出来的,你可以从以下几个方面去入手:1.需要创建几张表或者几个字段;2.需要写几个接口(前后端分离开发);3.有没有逻辑特别复杂的需求;4.加上改bug的时间;5.另外在前面的基础上增加一点“意外”时间。通过上面的几点的分析你基本上就能够比较准确的知道这个需求需要的开发时间了,然后将自己的排期弄好,这样就能够不慌不忙的把事情完成了。
四、成长
还有一个问题就是很多人都是喜欢做专一的事,这个我不是很反对,对于年轻人来说更多的是深度,特别是对做技术更是这样,只有你的深度有了之后,然后再去追求广度的事,当然如果你希望成为专家,那就另当别论,更多的发展到最后还是需要走向管理岗的,那么这个时候就是需要你得广度了,因为专的那一部分其实已经有人在帮你在做了,其实这个时候的你也没有时间来做专的事了,所以在我们的日常工作中需要在各个方面去学习,不管是是自己的事还是不是自己的事,我说的是留心,不是抢别人饭碗啊,记得头条的张一鸣就说过自己年轻的时候不管是什么事基本上都是主动去干的,所以成功的人绝对不是偶然。所以需要处处留心,处处学习,这样才能有所收获,最后来一句共勉:不要在该奋斗的年龄选择了安逸!