Learn agile development

What is Agile?

Agile development with the user's needs change as the core, the use of an iterative , incremental approach for software development.

Category agile development model

  • Extreme Programming XP (eXtreme Programming)
  • SCRUM
  • Crystal Method
  • Dynamic Systems Development Method
  • Lean Development

The most popular of which XP and SCRUM.

Extreme Programming

Extreme Programming is a lightweight, efficient and flexible approach to software development.


Four core values

  • communication:

    Improve processes and detailed documentation for team collaboration to ensure consistency though, but the efficiency is often not high.

    Extreme Programming advocates to ensure efficient collaboration of the entire team through effective oral communication. (Not abandon processes and documentation, but more emphasis on verbal communication)

  • simple:

    == enough on the line today.

    So how scalable system to achieve?

    Extreme Programming promote reconstruction. (For developers demanding)

    Established under reconstruction in software development can not avoid BUG premise, its last modified whole BUG, ​​not as good as in a time of reconstruction iterations repeatedly extended optimization.

  • Feedback

    Problems and progress by writing test code, regular feedback code in advance.

    During development, through continuous integration, so that every release can become executable version.

  • courage

    Application of Extreme Programming, all the time in response to changes. This requires developers time to face the rapid development, redevelopment.

    Changes in software development is inevitable, Extreme Programming idea is to change nipped in the bud, avoiding the final formation of a huge project can not be reconstructed.

13 Best Practices

  • Game Plan

    Quick overview of the development of a plan, with the constant updates and iterative project details, and then complete the plan.

    It is divided into three steps: to write the story of the customer; developers to break down and sorted by priority; determining product iteration cycle (2-3 weeks)

  • Small publishing

    Continuous integration, but each version of the release will need to have sufficient commercial value.

  • metaphor

    Seek consensus

    Invention shared vocabulary, improve team understanding

  • Simple design

    Design should not be a one-time completion. Because all of the changes can not be foreseen. All design time is not complete.

    Zuckerberg: the same things only change

    • Through all the testing procedures

    • There is no duplication of code

    • Maintain regular remodeling ideas

    • Single Responsibility (a class of only one thing)

  • Test first

    The first to write test code, write code. (Start low efficiency, but it can solve many problems invisible)

  • Reconstruction

    Reconstruction is a technical function without affecting the implementation of the code modification, reconfiguration aims to reduce the risk caused by the change, making it easier to code optimization.

    Reconstruction of the scene:

    • Before Function: changing existing code structure, such that the new characteristic is more easily achieved
    • After Function: check just finished writing the code, and to consider whether to simplify

    In theory, remodeling ideas and principles are contrary to the opening and closing, but if not initially superior ability to analyze and predict changes in the design, not as used to design time spent on reconstruction. [After all, you can only float design on paper, but a more realistic practice can identify problems]

  • Pair Programming

    code+review

  • Collective Code Ownership

    Unified Coding Standards

  • Continuous Integration

    After the unit tests to ensure the system is running through, as much as possible every day to do more integration codes.

  • 40 hours a week

    To ensure rest and improve efficiency.

  • Site customer

    Primarily for communication

  • Coding Standards

    Defined variable names and other development standards. [Ensure] communication

  • Cooperation is key

    1+1>2

Guess you like

Origin www.cnblogs.com/noneplus/p/11427211.html