This is the first article in The One Thousand and One Q & A series of agile development. (Here, I would like to ask, one, two, three, and the General Directory of the question)
Q: What is the fundamental foundation of agile development? What is the essence of Agile Software Development ??
From LinkedIn posts http://www.linkedin.com/groupAnswers? Viewquestionandanswers = & discussionid = 156452723 & gid = 37631 & commentid = 93678048 & TRK = view_disc & ut = 3oeftrlsnevlo1. You can also take a look at our discussions.
According to the moral scriptures, Tai Chi gave birth to two masters, and the two masters gave birth to four elephants, gossip, and Sixty-fourteen hexagrams.
However, the agile development of most enterprises is too "Gossip", so they cannot grasp the foundation of Taiji and cannot derive everything according to the specific situation of the enterprise. There are already enough other articles on the blog to describe "everything". This article only describes two things.
In the previous post, several people supported fast feedback/short iteration, while others supported transparency/teamwork, which are two of the most important aspects of agile development.
Answer: Continuous Improvement + team collaboration
If you use authentic agile development words, these two words are used.
Continuous improvement includes quick feedback, continues integration, daily buiding, standup meeting, short iteration, refact, working software, etc.
Team collaboration includes stands for cross-Function Team, focusing on customer's value (Taking Customers as part of a win-win or even win-win Team), selforganized team, test automation (testing by developers ),
The relationship between the two and the 12 agile principles is as follows:
Continuous Improvement
1: our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Translate: deliver valuable software as soon as possible and continuously to meet customer needs.
3: deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale
Frequently released available software. The release interval can be from several weeks to several months.
7: working software is the primary measure of SS.
Translation: available software is the main indicator to measure the project progress
8: Agile processes promote sustainable development. The elastic Sors, developers, and users shocould be able to maintain a constant pace indefinitely.
Translation: Agile processes should be sustainable. Leaders, teams, and users should be able to continue working at the current pace.
10: Simplicity -- the art of maximizing the amount of work not done -- is essential.
It is extremely important to keep it concise-to simplify your work as much as possible. Maximizing the amount of work not done. my understanding is-it takes an unknown amount of time for any job that has not been clearly defined, so we need maximize not to mix the jobs that have not been done with the jobs that are being done.
12: at regular intervals, the team reflects on how to become more effective tive, then tunes and adjusts its behavior accordingly.
Translate: Always summarize how to improve team efficiency and put it into action.
Team collaboration:
2: Welcome changing requirements, even late in development. agile processes harness change for the customer's Competitive Advantage
Translation: Agile processes welcome changes in demand and use these changes to improve users' competitive advantages.
4: business people and developers must work together daily throughout the project.
Translation: business personnel and developers should work together every day during project development.
5: Build projects around und motivated individuals. Give them the environment and support they need, and trust them to get the job done.
With enterprising people as the core of the project, we fully support and trust them.
6: the most efficient and valid tive method of conveying information to and within a development team is face-to-face conversation.
Translation: face-to-face communication is always the most effective communication method, both inside and outside the team.
9: continuous attention to technical excellence and good design enhances agility.
Only by constantly paying attention to technology and design can we become more and more agile.
11: The best practice tures, requirements, and designs emerge from self-organizing teams.
Only a self-managed team can create excellent architectures, demands, and designs.
Putting customers and business value into team collaboration seems a little far-fetched, which is why I prefer "NONE. "Team" can easily be confined to the content of the development team. In fact, team collaboration is saying "Don't just consider me" or "Don't just consider us (but also consider customers )".
Here are two examples of continuous improvement: http://blog.csdn.net/cheny_com/article/details/7190094
The two images produced by team collaboration are here: http://blog.csdn.net/cheny_com/article/details/7189757
The translation text used in this article, from: http://www.cnblogs.com/xinz/archive/2010/12/10/1902725.html