速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

图书节选:移山之道——VSTS 软件开发指南

  • 2007-09-06
  • 本文字数:1827 字

    阅读完需:约 6 分钟

InfoQ 中文站独家节选了移山之道——VSTS 软件开发指南一书的第一篇第二章节的“白话MSF 方法论”部分,希望能让更多的读者了解微软推荐的做软件的方法,以应用于自己的软件开发过程。本书的作者邹欣曾在微软总部参与开发过Outlook 和Visual Studio 2005 等软件项目,现为微软亚洲研究院技术创新部门研发经理,对VSTS 有深入的研究和应用经验。

下面是InfoQ 中文站针对本书相关话题,如使用VSTS 需要注意的地方,什么是移山方法论,什么是“现代”软件工程等,对作者邹欣进行的专访。

InfoQ 中文站:在使用 VSTS 的过程中,需要特别注意的地方是什么?作为这方面的专家,请简述你的个人经验。

邹欣:精简过程,直奔主题,把精力放在开发软件上,而不是在折腾 VSTS 上。以前曾经看过这样的漫画,两个穿白大褂的大牛在一大堆仪器和图表中间发愣——“经过 3 年时间和 5 百万的花费,我们都忘了当初要做什么了。”

我们软件项目要解决的问题都是比较复杂的,如果我们的开发流程,开发工具也很复杂,软件产品也很复杂,那么我们就会得到这样的情况:复杂的问题,复杂的开发流程,复杂的开发工具(有些企业还要加上复杂的人事关系)以及复杂的产品及维护。这样一来,我们软件开发成功的希望就不是太大。

我知道很多人热衷于搞方法、6 西格玛(我本人曾经做过 9 个月的此类项目)、模式和架构等等。但是我曾经间接地听到一个搞销售的经理对一些技术 / 方法论大牛的咆哮:没有客户,软件卖不出去,你们的代码和方法都是狗屁不如!虽然我不全部同意这样的说法,但是我觉得话糙理不糙,我们也不妨把这些话好好打印出来,装裱后,挂在办公室墙上。

InfoQ 中文站:在书里面你提出了一个精简的开发方法论——移山方法论,这个方法的主要特点是什么?

邹欣:这个地方,可以用书中的一段话来解释:

对于小规模的项目,我的原则是“直奔主题,精简过程”,我们的主题是啥?让用户买我们的产品,只要我们用户满意我们的产品,他们会关心我们内部开发模式是用哪几个工作项类型么? 我个人认为项目开发过程中有两件不同类型的事:

  1. 事先预计到的要做的事。这就是任务,把要做的事情组合起来实现用户某一个特定的需求,这就是场景,也可以用任务来表达。
  2. 事先没有预计到,但是为了项目成功而不得不做的事。这就是缺陷。

软件开发的过程就是做完这些“计划要做的事”和“没计划,但是不得不做的事”,做好就行了。等你们做了三五个项目,写了一万行以上的程序,再来看场景、风险、服务质量需求也不迟。

阿超:你们可以回去告诉老师说这是最新的“移山精简开发模式”,填补了国内外空白,很好用。

……

对于一个新建的团队,保持一个精简的过程和管理方法是很重要的。只要任务、缺陷这两个类型足以解决问题,就不必考虑更多的工作项类型,而是集中精力把项目开发好。

InfoQ 中文站:在本书中,你最想传达的思想是什么?

邹欣:在愉快的环境中学习,应用。本书的写作,采用的是讲故事的形式,为什么要这样做?因为软件工程的管理,不光是技术的管理,更重要的是过程和人的管理,任何软件工程的理论,在实践中都要由活生生的人去执行。执行的情况可能是生搬硬套,可能是敷衍了事,可能是过犹不及,当然也有可能是恰到好处。如果脱离了人和环境的因素,生搬硬套一些貌似先进的方法论,在实践中可能适得其反。

InfoQ 中文站:在 VSTS 的下一版本中,据你所知,会有哪些方面的主要更新或者改进?

邹欣:我要看看官方的报道,不过对于小型团队来说,用现在的 VSTS 就够了。就像大部分人用 office 2003 就能应付绝大多数任务一样。不必非等最最新的东西不可。现在 VSTS 一个明显的不足就是通过 Web 的访问功能稍差,最近通过并购一家专门做这一功能的公司,这个问题已经有很大的改善。

InfoQ 中文站:近期你要在清华大学讲授《现代软件工程》,你是如何理解这儿“现代”的含义的?

邹欣:最近几年,随着互联网应用的发展,新的商业模式和以 web 为主要媒介的应用的普及,软件开发的模式有了不少新的变化,我的书里涉及到一些新的开发模式。这是“现代”的用意之一。另外,由于软件工程的教学和实践在不少地方有所脱节,不少教材中仍然有很多“古典”的内容,这些内容就象古文,古典诗词一样,非常优美,但是未必能很好地解决当前软件业碰到的诸多问题。我想介绍微软公司在实践中是如何应用各种软件工程的概念,原理和方法,而不是重复一些“古典”的内容,这也是“现代”的含义之二。

直接阅读图书节选部分:白话 MSF 方法论

阅读全文:图书节选:移山之道——VSTS 软件开发指南

2007-09-06 19:00862

评论

发布
暂无评论
发现更多内容

堡垒机和跳板机的三大区别分析-行云管家

行云管家

运维 堡垒机 IT运维 跳板机

立于山巅!他,凭什么抗住万亿级流量冲击!

博文视点Broadview

如何优雅的在业务中使用设计模式(代码如诗)

小呆呆666

flutter android 大前端 设计模式

短视频询盘获客系统开发案例解析

获客I3O6O643Z97

抖音、快手获客系统 抖音矩阵拓客

fil矿机1T一天可以挖多少币?fil矿机能挖多久?

fil矿机能挖多久 fil矿机1T一天可以挖多少

Go- 可变参数函数

HelloBug

Go 语言 可变参数函数 空接口

【等保测评】黑龙江等保测评机构详细信息说明

行云管家

网络安全 等保 等级保护 等保测评

一文带你掌握 OceanBase 社区版部署细节及原理

OceanBase 数据库

数据库 分布式数据库 oceanbase OceanBase 开源 OceanBase 社区版

webrtc BitrateAllocator 带宽分配器

webrtc developer

WebRTC

❤️专科出身拿到阿里offer,我直呼666!【付硬核面试】❤️

编程susu

Java 编程 程序员 面试 计算机

入职京东:成功拿到offer薪资30K「面试经历+面试真题」

今晚早点睡

Java 秋招

Apache APISIX 社区周报 | 2021 8.16-8.22

API7.ai 技术团队

Apache 开源 APISIX 社区 社区周报

可视化全埋点系列文章之功能介绍篇

神策技术社区

程序员 代码 埋点 神策数据

ipfs矿机公司星际联盟是什么公司?星际联盟ipfs矿机靠谱吗?

分布式存储 IPFS Filecoin ipfs挖矿 ipfs矿机

解密优酷智能生产技术,看 AI 赋能内容数字化

阿里云CloudImagine

音视频 短视频 视频处理 视频制作 视频云

译文 | 四张画布教你判断「产品开发优先级」

LigaAI

产品经理 产品开发 画布 产品优先级

简述 Linux I/O 原理及零拷贝(下) — 网络 I/O

Qunar技术沙龙

Linux TCP I/O DPDK 网络io

MySQL 不完全入门指南

Java 编程 架构 面试 架构师

软件测试框架之——Postman参数化(超详细小白教程)

程序员阿沐

软件测试 自动化测试 接口测试

论坛接口测试——Postman数据驱动(超详细小白教程)

程序员阿沐

编程 程序员 软件测试 自动化测试 接口测试

简单、快捷、低成本的超写实虚拟人平台来了……

百度开发者中心

人工智能 AI 最佳实践 虚拟人 前沿技术

腾讯WeTest压测大师通过中国计量科学研究院测试认证,获国家级权威认可

WeTest

文件上传绕过思路拓展

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

微服务的痛:你的微服务还好吗?

我爱娃哈哈😍

架构设计 架构设计实战

fil挖矿怎么挖?fil挖矿成本是多少?

fil挖矿怎么挖 fil挖矿成本是多少

吹爆!阿里高工携18位架构师耗时57天整合的1658页面试总结太香了

Java~~~

Java spring 架构 面试 JVM

摩尔时代如何押注AI算力?英特尔战术大揭秘

科技新消息

DEX去中心化交易所自动刷量机器人开发|去中心化做市机器人

量化系统19942438797

去中心化 做市机器人

影像篡改与识别(一):胶片时代

腾讯安全云鼎实验室

影像 暗房技术 篡改识别

简述 Linux I/O 原理及零拷贝(上)— 磁盘 I/O

Qunar技术沙龙

Linux 缓存 Mmap 磁盘 I/O

石油行业数据采集中的 MQTT 协议

EMQ映云科技

数据 mqtt emq 远程监控 实时数据

图书节选:移山之道——VSTS软件开发指南_研发效能_霍太稳@极客邦科技_InfoQ精选文章