Agile development process analysis and tool recommendation

Agile development requires continuous enhancement in the development process, thereby improving software quality and achieving the purpose of increasing business revenue. It is an iterative process, one that continuously improves the ROI and service quality of the enterprise. It is worth noting that successful agile development simply depends on an active development process and enterprise users who understand and have a strong interest in the benefits of agile. 

This article will introduce the five major processes of agile development and the tools used in these processes. 

1. Agile planning Typical agile development divides the overall work into a series of release processes, each release process is an iterative cycle, and each iteration cycle releases a set of features. The agile plan specifies the work (release/iteration) that needs to be done in each cycle. At this stage, the product owner will describe what he would like to see the product look like during each cycle. Agile planning includes release plan and iteration plan, the content and executor of the two are different:  







  • Release Schedule: Contains feature groups for each release. Product owners are responsible for developing a release plan before a product is released.
  • Iteration planning: The development team needs to determine what needs to be done before the development work and iteration begins. This can be achieved through daily stand-up meetings.

Tools: To develop an agile plan, there are many tools available, such as: 

2. Create user stories User stories are simple descriptions of functions and features. Each feature may also consist of many stories. User stories need to be simple and easy to understand, and can be articulated in a few lines in a few minutes. Note that user stories are defined by the project owner or main user group, not the developers. As Mike Cohnrn suggested, user stories should follow the format below:  



quote
As a (some kind of character), I need (something) to be like that.


For example, as a user, I want to find my customers by name. 

Tools: The best way to do this is to use index cards to keep track of individual stories. There are a variety of tools that can help with story graphing and story tracking, such as 

注意:故事并不是一次性完成的,它循环往复,且贯穿于整个项目开发周期中。 

3.  评估你的工作 

在敏捷中,评估用于预测功能实现的复杂程度,并根据以前完成相似复杂度功能的经验预估所需要的完成时间。它是一个持续的过程,基于之前的经验和模式学习,不断提高评估的准确性。 

通常,评估故事的复杂程度多基于故事要点,而非所耗费的时间。要点解释了故事的复杂性,并通过数据1,2,3……来体现。 

评估有助于做出更好的商业决策,定义发布/迭代的范围。例如,我们可以很容易地为每次迭代/发布中的所有故事分配同样的数字。 

工具:Planning Poker是定义和改善你评估的最好技术。 

4.  站立会议 

站立会议是开发团队每天进行的简短会议。会上每个人需要说明昨天所完成的事,及今天的计划和被分配任务现在的状态。商业用户和领域专家偶尔也会参加,这将给他们更多关于项目的信心。 

它不是例行会议,仅仅对项目实施情况给出粗略的描述,而是要提供更多关于项目的可视性内容,增强团队间的协作,对当天的计划给出正确指导。 

工具:在站立会议中,白板是非常有效的工具。 

5.  项目监控技术 

速率: 

通过速率,可以精确地测量开发团队发布商业价值的速度。速率是对生产力的测量。通过计算一定间隔内完成工作的单元数来计算速率。 

在每次迭代的最后,为了计算速率,敏捷团队会查看该过程所完成的工作要求,并累加与这些要求相关联的故事点。所完成故事点的总数便是团队的速率。首次小小的迭代之后,你会逐渐发现某种趋势,且能计算出平均速率。 

下面一些工具可以帮助追踪速率。 

Burndown Reports: 

Burndown Report是追踪项目进度的另一个标尺。它用来追踪完成故事点的个数,监控简单的迭代、发布和整个项目积压的工作。它可以显示进度,反映产品交付的价值和团队的速率。 

以下一些工具可用于测量Burndown Reports: 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326976817&siteId=291194637