Several concepts related to the development model-Waterfall Model, eXtreme Programming, and agile development

Source: Internet
Author: User
Tags ruby on rails

Development is no longer a newcomer, but many of my friends have asked some concepts about development models, such as Waterfall models, eXtreme Programming, and agile development. I feel like I have a vague understanding of the concept, today, I accidentally saw a simple article about this.Article, Reprinted to give yourself a conceptual knowledge.

 

How to quickly respond to customer demand changes
---- Ruby on Rails + agile development mode = rapid response to development on the Internet

After years of evolution in the software development industry, the development model has gradually matured. Currently, the main development models include waterfall model, eXtreme Programming, and agile development. The waterfall model has three features: emphasizing documents, without iteration and feedback, and the reason why managers like the waterfall model is that the document is understood as the development speed and can easily define milestones at different stages. This also leads to a lot of document writing work in the development process, detailed research work before development, thus greatly improving the development cost. The bigger problem is that when the demand changes frequently and the changes are large after the survey, the software that is finally developed will not be able to meet the current actual needs.
Due to this defect in the traditional waterfall model development model, a variety of development models were created, such as extreme programming and scrum ("Baseball" team development model), feature-driven development, dynamic system development methods, adaptive software development, crystal methods, practical programming, and so on, these methods have more or less changed the drawbacks of the traditional waterfall development model. But it still cannot meet the flexible and changing needs of users. Finally, multiple development genres jointly published the "Agile Software Development" declaration. Agile Software development is a new management mode for software development. It is used to replace the waterfall development mode driven by files. agile methods are also called Lightweight development methods.
Content of Agile Software Development Declaration:
· Individuals and interactions are better than processes and tools
· Software that can work better than facial masks
· Cooperation is better than contract negotiation
· Responding to changes is better than following the plan
The major features of agile development are:
· Iteration: shorten the software version cycle
· Customer participation: People-oriented. The customer is a software user and an expert in business understanding. without the participation of the customer, it is difficult for developers to understand the real needs of the customer.
· Minor version: the presentation of quick functions seems simple, but it is not easy to reasonably separate complicated customer needs from the overall unification.
The Internet is a fast-growing industry. Product development features:
· High uncertainty of products. Many Internet products are oriented to users, and the acquisition of user needs is full of uncertainty. Without scientific user research methods and systems, and without focusing on quantitative analysis tools and concepts of user behavior, it is difficult to clearly define products, therefore, it cannot provide product services that truly meet user needs.
· The product needs to quickly respond to user changes. Due to the high uncertainty of Internet products, when there is a demand change, development work is required to quickly respond to demand changes.
· The product's small release mode. Because Internet products must constantly meet the changing needs of users, Release versions will adopt the release mode of Small versions to adapt to changing user needs.
We can see from the above description that the features of agile development mode coincide with those of Internet development. Agile development models should be used for the development of the Internet with changing needs.
The benefits of adopting agile development models are obvious:
· Shorten the development cycle
· Rapid response to demand changes
· Reduces the risk of project failure
· Improved customer experience
· Reduce communication costs
However, we have summarized various development languages and frameworks and found that the Ruby on Rails framework is inherently adapted to the agile development mode. Here we will not detail the Ruby on Rails framework.
The Internet Development Model of aoyuan group is gradually changing to this development model. For example, we used this development model in the website project of ganjing sub-Education Commission: ① The Development Engineer communicates with the customer at the site to understand the needs ② The Development Engineer develops based on the needs ③ The Development Engineer completes the presentation result to the customer ④ According to the customerProgram Run the results to continue to raise the demand, if there is no new demand to step 6 ⑤ return to step 2 6 until the customer is satisfied with the completion of the project development work
The above is the development model we used in the ganjing sub-Education Committee project. We successfully completed the development of this project according to the customer's needs. Finally, I want to emphasize that agile development is not just about fast response, but also requires developers to write high-quality programs. Code To be agile without losing lean, this is our core competitiveness!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.