您的位置:知识库 » 软件工程

“软件工程”文章列表

前言 随着移动互联网的迅速普及,手机淘宝业务在迅速的成长,目前已经发展成为拥有40多个bundle(业务模块)的超大APP产品,在这后面有着数百名的研发人员的努力工作。业务的成长和人员的倍增给技术架构、团队合作、产品的交付都带来了巨大的挑战。本文将会讲述手机淘宝研发团队在两年的时间为了达到高质...
作者: 杨强   2015-02-04 08:58:29 阅读:4766 标签:持续交付 持续集成
英文原文:The Best Process Is No Process 前年,Wikispeed团队掀起了一场业界风暴。它们把敏捷实践应用到了最传统的行业:汽车制造业。它们在3个月的时间里就研发了一款绿色汽车,而这原本需要经历10-25年的产品生命周期。 而且,得益于独立组件的测试驱动开发,...
2015-03-22 17:08:00 阅读:4743 标签:团队管理 技术团队 流程债 技术债
英文原文:The Best Developer Team Structure 在灭火时,有一种“水桶阵型”——队伍中所有人排成一列或几列,将水桶从水源处传递到火灾现场。这样在团队协作时甚至不需要语言交流,但显然不适用于软件开发。 Scott根据自身经验,针对软件开发总结了以下几点建议,不一定...
作者: Scott Porad   2013-06-05 16:18:50 阅读:4456 标签:开发团队
英文原文:Why Software Development Methodologies Suck 围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的能够促生出高品质软件?结对编程是代码评...
2013-06-20 18:01:18 阅读:4403 标签:软件开发管理
英文原文:Multitasking Gets You There Later 作者:Roger Brown 译者:鲍央舟 发布于2010年8月31日 现代商务依靠多任务来完成工作。评价员工也基于的他们多任务能力。IT业人员会被例行指派到多个项目中去。我们是经常在这样做吗?多任务起作用吗?多任...
2012-06-02 22:25:24 阅读:4385 标签:敏捷开发
爱因斯坦曾经说过,如果他有一小时来拯救世界,他会花 55 分钟来定义问题,只花 5 分钟去寻找解决方案。除了在问题和解决方案上所花费的时间比例之外,我完全同意他对于在设法解决问题之前先理解问题的重视程度。 没有充分理解问题的后果 在软件工程中,理解问题是在系统需求定义阶段早期必须完成的工作。...
作者: Marília Coelho   2012-07-01 17:10:19 阅读:4307
英文原文:Astonishments, ten, in the history of version control 引言:“如果你想要了解真正的历史,你需要回到在打孔卡上进行人工比对的年代。” —— Jim Rootham 在这个为鳕鱼编写传记都能够流行的年代,写一本记录程序员如何存储代码...
作者: Francis   2012-03-19 23:39:24 阅读:4288 标签:版本控制
很多人应该都看过James whittaker的博客或新书 《How Google test software》,在这里我不想重复他的内容,而是从另外一个角度来分析对比Google是如何保障它的产品质量的。 首先申明的是本人并没有在Google工作过,所以没有第一手的经验,仅以一个旁观者的身份...
作者: Bill Liu   2012-06-28 14:03:39 阅读:4265 标签:Google 软件质量 测试
文/ 黄亮王立杰 持续集成作为一种敏捷软件开发实践,已经被越来越多的开发者所接受。持续集成倡导开发团队频繁地进行系统集成——通常一天一次到数次,每次集成都能被自动编译和测试验证,从而能在最短的时间内发现问题,缩短开发周期,提高软件质量。 笔者面对的是具有十多年开发维护历史的5个相互依赖产品,...
2012-10-19 10:58:52 阅读:4185 标签:持续集成
英文原文: How To: Live and Learn with Retrospectives 软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程并不符合他们的要求或没有得到一贯地遵循。当发生这种情况时,很容...
作者: Rachel Davies   2012-04-12 14:36:56 阅读:4171 标签:敏捷开发
英文原文:Software Development: Fast and Slow 本文作者 Michael Dubakov 从事软件开发方面的工作,他在读了 DanielKahneman 的《思考,快与慢》后,思考了软件开发中的快与慢,并且把书中的一些思想应用到实际的软件开发中。下面是笔者对原...
作者: Michael Dubakov   2014-08-28 17:00:47 阅读:4160 标签:软件开发
本文是从 TDD leads to an architectural meltdown around iteration three 这篇文章翻译而来。 这些话来自于我们的软件领袖Jim Coplien——上世......
2011-08-07 13:40:00 阅读:4085 标签:TDD 敏捷开发 测试驱动
Facebook 从 2004 年的哈佛校园的学生项目在短短的 7~8 年的时间中快速增长为拥有 10 亿用户的世界上最大的社交网络,又一次见证了互联网创业成功的奇迹。同时它的产品研发流程也成为了众多互联网产品公司的追逐对象。今天我们来看一下 Facebook 在产品质量控制方面的实践。有人说,...
作者: Bill Liu   2012-12-01 20:03:35 阅读:3986 标签:Facebook
英文原文:Continuous Integration (作者:Martin Fowler,译者:滕云) 原文发布时间:2006年5月1日 翻译时间:2012年2月25日 持续集成是一种软件开发实践,在实践中项目成员频繁地进行集成,通常每个成员每天都会做集成工作,如此,每天整个项目将会有...
作者: 无知者云   2012-02-28 16:48:41 阅读:3953 标签:持续集成
英文原文:On DVCS, continuous integration, and feature branches 翻译:乔梁 为了吸引大家的注意力,我想说:“特性分支是邪恶的化身”。 自2008年起,Mercurial (最近是Git)就成了我日常工作的工具,而且我喜欢使用分布式版本控...
作者: jez   2012-08-31 15:32:03 阅读:3868 标签:持续集成 特性分支 Git
英文原文:The Developer-Tester Divide 作者:Gil Zilberfeld 译者:蔡坚安 从此以后他们幸福地生活在一起 关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多。而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同。显然,这...
2012-05-06 09:42:57 阅读:3858 标签:软件测试 敏捷开发
在《建设全功能团队》和《建设全功能团队——实践篇》两篇文章中,我的同事胡凯曾介绍过建设全功能团队的必要性和良好实践,此后在围绕这一话题的讨论中,很多人都分享了自己的理解,或看好,或看淡。在ThoughtWorks有许多团队一直在建设全功能团队方面实践着,在这篇文章中我希望与大家分享我从这些团队收...
作者: 吴少博   2013-06-07 10:37:41 阅读:3693 标签:团队管理
目前IT行业中,似乎“要不要做持续集成?”已经不再是讨论的焦点,取而代之的是“如何进行持续集成?”。在前一篇文章中,我介绍了Cruise团队持续集成的演进过程。在最后,还曾提及Cruise团队的持续部署。本文将结合团队的实际情况,与大家分享持续部署的实践心得。 “最后一哩”问题 持续集成解决...
作者: 乔梁   2013-02-18 17:42:55 阅读:3605 标签:持续部署
异常捕捉、处理是每个项目中必不可少的一部分,利用反射和XML配置技术实现一个通用的、灵活的、可配置的、高度可自扩展的异常处理框架对项目的整体健壮性以及异常处......
作者: 風語者·疾風   2010-11-21 21:55:11 阅读:3456 标签:异常处理
今年,“可观察性”(Observability)被引入到了 IT 领域。可观察性是一套理念系统。其重点是团队要融入可观察性的理念,特别是要求研发写出的应用是可观察的。将可观察性包含在你的需求之中,它是与扩展性,可用性同等重要的非业务性需求。 一个故事 距离伦敦 150 英里的地方有一座...
作者: 高洪涛   2018-07-19 23:01:24 阅读:3385 标签:可观察性