敏捷软件开发与支持工具
敏捷开发
什么是敏捷开发
敏捷中的需求
敏捷中的角色
敏捷开发流程
敏捷实践
工具
Jazz
团队建设,激励
内容
什么是敏捷开发@敏捷开发 --- 敏捷开发是应变之道
什么是敏捷开发@敏捷开发
先是一种思想,然后是方法,再到工具
思想上:敏捷开发一种outside-in development设计方法论
方法上:一系列最佳实践
工具上:协作工具,自动化工具,报表
敏捷中的需求@敏捷开发
需求是定位,一切后续活动依赖于需求展开。
需求是变化的,不易把握的。
需求是业务驱动的,市场,而非技术驱动的,更非个人喜好驱动。
敏捷中的需求@敏捷开发 -- 最高境界是创造需求
成熟的模块:指的是推出市场有一段时间,这些功能模块满足了客户的需求而被广泛使用,而且市场趋于稳定,大量竞争对手的产品也推出了类似的功能。这些成熟模块,都是产品的基本模块,不代表产品的竞争力。产品中如果只具有这一些功能模块,那随着需求和竞争的激烈,慢慢会走向灭亡。如90年代的BP呼机一样,当手机一旦推出,这个产品也就走向灭亡。
发展中的模块:指的是刚推出市场并且具有强劲的市场生命力,符合客户当前几年的业务发展需求,正在被跟刚大客户所接受。这些功能模块是产品占领市场的动力,是续成熟的功能模块后,产品的增长动力。
研究中的下一代产品方向:指的是还没有推出市场,正在研究中的,符合未来行业五到十年发展方向的模块。当然如果能创造出未来的发展方向,则是最高境界。如任天堂的Wii,苹果公司的Iphone。
敏捷中的需求@敏捷开发 -- Persona实践
Persona,什么是Persona?
组成部分
Name
Photo
Brief Biography
Goals
Context scenario
CTO
Architect
Developer
Business People
敏捷中的需求@敏捷开发 -- 原型实践及需求筛选
原型Demo
原型加Demo演示已有功能
展示未来想法和功能
对话客户和业务人员
SWOT分析
需求选择
敏捷中的角色@敏捷开发
销售/售前
产品经理
架构师
项目经理
Scrum Master
开发
测试组长
测试人员
维护/售后
敏捷开发流程@敏捷开发
敏捷开发前:
敏捷开发流程:
敏捷开发流程@敏捷开发 -- 好处
市场和需求驱动,拥抱变化。
在我们产品敏捷开发中,每个迭代结束,都会有一个产品迭代演示大会,把这个月的开发结果演示给组员,业务人员,售前,甚至客户,并收集反馈,并。此外,在开发的过程中,产品的业务人员和售前时刻保持和产品开发团队的沟通和工作。保证开发出来的产品是符合业务需求。
充分利用资源和时间
敏捷开发前,产品的需求设计阶段占用了整个开发流程的35%左右的时间,这段时间只需要几个核心的架构师和设计人员,无法充分的利用开发和测试人员的时间。敏捷开发后,跌待开发,强调沟通,缩减文档,在每个迭代的初期就可以充分的利用开发、测试人员的时间,达到效率最大化。
每日交付
产品开发过程中,每天都会做自动化Build,并生成可以交付的产品。业务人员,客户都可以试用并提供反馈和新需求。
充分自动化
敏捷开发强调拥抱变化,这必然带来动荡的产品代码变更,每一个新的功能和修改的功能,都可以影响到其他功能,造成副作用,所以需要自动化去支持变化,在变化的同时保证质量和开发速度。如:编译自动化,单元测试自动化,功能测试自动化,UI测试自动化、集成测试自动化等。
敏捷开发实践@敏捷开发
敏捷开发中,注重概念和架构设计,而轻详细设计
SWOT分析
业务和客户驱动,而非技术驱动
时刻考虑版本兼容性
轻文档,但非无文档
编译、发布、测试自动化
与业务人员紧密接触
敏捷开发
什么是敏捷开发
敏捷中的需求
敏捷中的角色
敏捷开发流程
敏捷实践
工具
Jazz
团队建设,激励
内容
Jazz 敏捷开发工具优点
Deliver real-time insight into programs, projects and resource utilization.
Deliver transparency of teams and projects for continuous, context-sensitive collaboration
Collaborate
Report
Automate non-creative tasks with automated processes and workflows
Automate
Improve knowledge and practice maturity with an environment that develops individual and team talent.
Jazz 团队和项目结构
Project Area
Team Area
{0..n}
Project artifacts
Users
{1..n}
Process Template
Work Items
Requirements
Streams
Reports
New artifact
contributions
Plans
Builds
Process
Settings
产品团队组织结构
工作内容分解 -- 可衡量
Planning (story & task)
版本管理
Stream
Component
Component
Repository Workspace
Component
Component
Eclipse Workspace
Eclipse Project
Eclipse Project
Eclipse Project
-set
4. Deliver
1. Change
3. Complete (usually combined with deliver)
2a. Check-in (usually automatic)
编译可视化和自动化
My builds
Published build
History
Recent builds
Alerts
监控和状态
敏捷开发
什么是敏捷开发
敏捷中的需求
敏捷中的角色
敏捷开发流程
敏捷实践
工具
Jazz
团队建设,激励
内容
激励的妙方
涨工资,不如发奖金
一次送不如两次送
有选择不如没选择
说要的不如想要的
有用的不如没用的
晚说不如早说
小奖不如没奖品
公开不如不公开
大中之小,不如小中之大
This diagram is covered in more detail on subsequent charts.
In the workshop application you may have a hierarchy of teams. Users can be on multiple teams. The screenshot is taken from the Team Organization view and represents the team structure for the workshop application. Upcoming slides will discuss the workshop application in more detail.
Page fourteen
Now let me introduce how my team use RTC.
For scrum master and test team leader, he or she will input tasks into RTC. Tasks are organized as stories. Scrum master can input all the related information about task into that. for example, priority, estimated time, owner, task description and reference document. For scrum master, it’s easy to modify and update information about task. Image that scenario, when change happen, scrum master need update the priority of some tasks, he or she just have to open task and update their priority. Owner will receive the mail automatically. Scrum master do not have to send mail one by one. Everybody has a clear view about current job priority from RTC. It saves a lot of time and avoid misunderstanding.
A quick animated change flow overview with the screen shots to show the annotations.
Animated slide!
Quick flyby of information that is included in the Jazz tutorial regarding build. More UI exposure in the build lab
*
The jazz platform also has data warehousing capability, which allows it to capture data and present information pertaining to the project in a chronological order.
The Dashboards in the platform can provide a quick glimpse of the status for a particular project
The Dashboards are customizable on a per user basis can have viewlets that provide Administrative status or the actual project status (. Work items closed etc.)
The Jazz platform also provides a reporting infrastructure also provide canned reports around software development team and provides the capability to create custom reports
*