Agile

To what I understand about the agile methodology, it’s not about whether we stand up or not in the meeting, or what’s the name of the roles in the team. It’s about two things, the values/principles of agile and the procedures in the cycle.

The values/principles make sure that everyone in the team are following the same rule. How does a team become agaile? They make decisions based on Agile values and principles. The decision make process is how a team becomes Agile. The values and principles have enough flexibility to allow teams in a wide variety of organisations to develop software in the ways that work best for their particular situation while providing enough direction to help a team continualy move toward their full potential.

Manifesto (Values)

  • Individuals and interactions over processes and tools
    个体和互动 高于 流程和工具
  • Working software over comprehensive documentation
    工作的软件 高于 详尽的文档
  • Customer collaboration over contract negotiation
    客户合作 高于 合同谈判
  • Responding to change over following a plan
    响应变化 高于 遵循计划

Principles

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
    欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
    经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
  • Business people and developers must work together daily throughout the project.
    业务人员和开发人员必须相互合作,项目中的每一天都不例外。
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
  • Working software is the primary measure of progress.
    可工作的软件是进度的首要度量标准。
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
  • Continuous attention to technical excellence and good design enhances agility.
    坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
  • Simplicity–the art of maximizing the amount of work not done–is essential.
    以简洁为本,它是极力减少不必要工作量的艺术。
  • The best architectures, requirements, and designs emerge from self-organizing teams.
    最好的架构、需求和设计出自自组织团队。
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
    团队定期地反思如何能提高成效,并依此调整自身的举止表现。

The procedures in scrum

(One common impl of Agile)

There are three main roles here:

  • The one that comes up with the brightest ideas, defines the features in the product, known as product owner.
  • The servant leader to the team, running all the meetings and keep things going, known as scrum master(Our PMs do that I guess).
  • The team memembers, consist of developers, testers or anyone else that helps in building the product.

Three artifacts:

  • Product Backlog - the prioritized list of features that created by product owner, known as user stories, it could go in to the product. The list evolves and changes priority with every sprint.
  • User stories - a way of describing a freature set that follows a specific writing format, this format allows the product owner to specify the right amount of deteail for the team to estimate the size of the task. The highest priority user stories go into the sprint backlog. They are estimated for size and committed for the next sprint.
  • Burndown Chart - show the progress during a sprint on the completion of tasks in the sprint backlog.

Three Ceremonies

  • Sprint Planning - everyone in the project meet to discuss the user storeis and estimate their relatvie sizes.
  • Daily stand up meeting - what’s done, what are you working on, and what help one needs
  • Retrospective - at the end ot the sprint, the team demonstrates the completed work to the product owner. Discuss whay they can do to improve the process going forward.

scrum

The benefits after using Agile:

  • It raises visibility of what was going on. The prioritisation discussions were a lot more clear.
  • Customer satisfaction by rapid, continuous delivery of useful software.
  • Close, daily cooperation between business people and developers.
  • Continuous attention to technical excellence and good design.
  • Regular adaptation to changing circumstances.

References:
https://www.youtube.com/watch?v=9TycLR0TqFA
https://www.youtube.com/watch?v=Z9QbYZh1YXY
https://www.youtube.com/watch?v=NrHpXvDXVrw
http://agilemanifesto.org/iso/zhchs/manifesto.html