What is Agile Development?
In the past, programmers communicated by writing code, but nowadays, almost every company has a dedicated team for product iteration. So, what exactly is Agile development? Let's talk about that today.
First, let's make one thing clear: we live in a different era than before. It used to be a "software is king" era, but now we need "user-centered" product design.
1、What is Agile Development
The word "Agile" is translated from "Scrum", and the two words are essentially the same.
Scrum (software development process) refers to organizing and designing code around user requirements, while Agile (software development) refers to refactoring and iterating on those requirements, so the difference between the two is obvious.
Of course, if we analyze them more closely, we can see that there are some differences between them.
First, "Agile" emphasizes an iterative process (i.e., after requirements are generated), while Scrum emphasizes rapid product release (i.e., user experience/testing).
Second, the tools and development methods used in "agile" development are similar to "code reviews".
Software development teams can be classified into three categories based on the size of the software development team: small teams, medium-sized teams, and large teams.
Based on the function and interface of the "use" software, they can be classified as: product-based, service-based and user-based.
The product development cycle can be classified as weekly, daily or quarterly development (i.e. at least one product per week) and the number of development projects can be classified as continuous development of multiple versions or agile development.
According to the model classification, the implementation of agile development mainly includes Scrum and XP, etc. Also agile development, XP's extreme programming is more focused on practice, and strives to achieve the ultimate practice, practice can be testing first, or pair entry, the key depends on the specific application scenarios.
SCRUM is a development process framework, can also be said to be a collection. SCRUM framework contains three roles, three artifacts, four ceremonies. Its purpose is to efficiently complete each iteration cycle. SCRUM is a focus.
But no matter what form of development, as long as it is "user-centered" to design and develop the product in software project development, it is a good product.
3、 Comparison between agile development and waterfall development
Waterfall development, as the name implies, is implemented one by one in a pre-designed sequence, from bottom to top. The development cycle of a software project is strictly divided into several fixed phases, and each phase ends with a corresponding detailed document as output until the entire development process is completed.
At the core of agile development is the word "agile" which requires us to iterate on requirements. Milestones can be checked by the customer during the development process and are used to reduce the risk of software development. This way flexibility is high and requirements can be modified at any time.