极限编程的相关概念

极限编程的相关概念,第1张

软件开发的过程是:需求分析、设计、编码和测试。

需求分析:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。

设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。

编码:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。

测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。 定义每个用户需求的商业优先级;

制订总体计划,包括用多少投资、经过多长时间、达到什么目的;

在项目开发过程中的每个工作周,都能让投资获得最大的收益;

通过重复运行你所指定的功能测试,准确地掌握项目进展情况;

能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划;

能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。 知道要做什么,以及要优先做什么;

工作有效率;

有问题或困难时,能得到客户、同事、上级的回答或帮助;

对工作做评估,并根据周围情况的变化及时重新评估;

积极承担工作,而不是消极接受分配;

一周40小时工作制,不加班。 灵巧的轻量级软件开发方法

一套软件开发方法是由一系列与开发相关的规则、规范和惯例。重量级的开发方法严格定义了许多的规则、流程和相关的文档工作。灵巧的轻量级开发方法,其规则和文档相对较少,流程更加灵活,实施起来相对较容易。

在软件工程概念出现以前,程序员们按照自己喜欢的方式开发软件。程序的质量很难控制,调试程序很繁琐,程序员之间也很难读懂对方写的代码。1968年,Edsger Dijkstra给CACM写了一封题为GOTO Statement Considered Harmful的信,软件工程的概念由此诞生。程序员们开始摒弃以前的做法,转而使用更系统、更严格的开发方法。为了使控制软件开发和控制其它产品生产一样严格,人们陆续制定了很多规则和做法,发明了很多软件工程方法,软件质量开始得到大幅度提高。随着遇到的问题更多,规则和流程也越来越精细和复杂。

到了今天,在实际开发过程中,很多规则已经难于遵循,很多流程复杂而难于理解,很多项目中文档的制作过程正在失去控制。人们试图提出更全面更好的一揽子方案,或者寄希望于更复杂的、功能更强大的辅助开发工具(CaseTools),但总是不能成功,而且开发规范和流程变得越来越复杂和难以实施。

为了赶进度,程序员们经常跳过一些指定的流程,很少人能全面遵循那些重量级开发方法。

失败的原因很简单,这个世界没有万能药。因此,一些人提出,将重量级开发方法中的规则和流程进行删减、重整和优化,这样就产生了很多适应不同需要的轻量级流程。在这些流程中,合乎实际需要的规则被保留下来,不必要的复杂化开发的规则被抛弃。而且,和传统的开发方法相比,轻量级流程不再象流水生产线,而是更加灵活。

ExtremeProgramming(XP)就是这样一种灵巧的轻量级软件开发方法。

为什么称为“Extreme”(极限)

“Extreme”(极限)是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它XP所不提倡的,则一概忽略(如开发前期的整体设计等)。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。

develop software

开发软件

例句:

1.

The consortium plans to develop software that can be used to create digital publications for a wide range of devices.

杂志协会计划开发一种软件,这种软件能够被用来为众多的设备创作数字出版物。

2.

Using simple designs to communicate with customers, extreme developers iteratively develop software prioritized on what is needed the most.

极限程序员与客户交流过程中使用简单的设计,并以迭代方式优先开发软件最被需要的部分。

3.

It offers tools to make it easier to develop software for its chips.

它提供一些工具使得基于它的芯片的软件开发更加简单。

程序员其实只是一个青春饭,因为程序员基本都是苦逼的加班狗,很少说哪个公司的程序员可以朝九晚五的,而且每年都会有更多新鲜的血液注入程序员行列,跟年轻人相比,他们有更多的时间,没有家庭孩子要照顾;他们更能吃苦熬夜,身体也好;所以程序员一般干几年后就要另谋出路,常见的出路有三种:

1.年龄边界:34岁是一个很尴尬的年龄,这个时候想要转行不太建议,建议寻求转岗不转行的探索或者挖掘自己擅长的副业,慢慢打磨,从业余慢慢转为专业,寻求机会。

2.瞬间迷茫边界:为什么会在34时候突然迷茫,是上升遇到瓶颈还是非常厌倦当下的工作呢?上升难是否可以通过知识充电或者高效沟通,弥补差距,破除当下瓶颈,厌倦表明职业枯竭,需要分析倦怠的深层次原因,必要时寻求专业心理咨询。

很多人在聊开发者的职业寿命,薪资。其实如果你真正在圈里混。你就会发现,真正有技术沉淀的开发者,往往是凤毛菱角。原因有很多,其实原因还是因为整个社会的浮躁。所以往往大家都在强调持续学习能力,可以加班加点。但是针对可以称为技术专家的很少很少。这也是和欧美最大的区别。 怎么破,相信真正拥有的匠人心的开发,是不会产生焦虑的。

30以前,某个部分修炼应该足够。但是知识面应该还是不够的。面对大型的项目,能扮演的角色也应该比较局限。很多关键部门都是需要横跨多个技术领域才行。所以,应该尝试拓宽自己。

其实我觉得你是一个很上进的人,肯吃苦,有理想,有干劲。拿死工资在我们这行月薪30k已经快到顶了,和做生意当然不能比。沉下心来 摆正心态


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11461425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存