当前位置:网站首页>Introduction to agile development
Introduction to agile development
2022-08-03 02:33:00 【xzystart】
1. What is agile development
Agile development is a human-centered, iterative, step-by-step development method.In agile development, the construction of a software project is divided into multiple sub-projects, and the results of each sub-project are tested, integrated and operable.In other words, it is to divide a large project into multiple sub-projects that are connected with each other but can also run independently, and complete them separately. During this software process, the software is always in a usable state.
1.1, Principles of Agile Development
Keep it simple: If you don't need this feature now, don't add it to your design.There is no need to over-engineer this system. When the requirements change in the future, then rebuild the system
Have changes: the requirements are changing all the time, and people's understanding of the requirements is also changing all the time.During project development, project members may change.The viewpoints of relevant stakeholders of the project may also change, and the goals and standards of pre-customization may also change.Therefore, the development method must be able to embrace change.
Sustainability: Even if a working system has been delivered to users, the project may fail - fulfilling the needs of the project stakeholders, including that the system should be robust enoughsex, able to adapt to future development.Sustainability refers to the next major release, capturing the functioning and support of the system being built.To do this, it's not just about building high-quality software, it's about creating enough documentation to ensure that the next software competition can run effectively.
Incremental Change: It is not necessary to design an all-encompassing framework model at the beginning, just design a small minimum core architecture, lay the foundation, and then slowly improve the architecture, or discard the schema when it is not needed, this is the idea of incrementing.
Quick Feedback: The time between when you start taking action and when you get feedback on your action is critical.Working closely with customers to understand and analyze their needs, or to develop user interfaces that meet their needs, provides opportunities for quick feedback.
1.2, Agile development process
Test-Driven Development (TDD) is a new development method that is different from the traditional software development process.It requires writing test code before writing the code of a certain function, and then only writing the function code that passes the test, and promoting the whole development through the test.This helps to write clean, usable and high-quality code that is highly flexible and robust, able to respond quickly to changes, and speed up the development process.The basic process of test-driven development: (1), quickly add a test (2), run the test and find that the new test fails (3), make some small changes, make the test program run as soon as possible (4), againRun the test and make the test pass (5), refactor the code, eliminate the duplicate design, optimize the design structure
Continuous Integration: Frequent and continuous integration in the work of multiple team members,and give feedback.Mainly the use of version controllers such as SVN
Pair programming: Two programmers work together on one machine.One to enter code, one to review.Mainly combined with testing
Small version release, generally in units of weeks and months, release as many products as possible.
Fewer documentation.There is not no documentation in agile development, but there is a lot of documentation, that is, test code, which really reflects the user's needs and the usage of the system API.
2. Agile development and traditional development
Overall, the concept is very simple.
We want to build a means of transportation to go far away.
The traditional way is like this.
- Building tires.
- Building chassis.
- Build the body.
- In-car layout.
- Install the engine.
- Begin to hit the road.
Let's not talk about the quality of the method, let's look at the agile development method.
- Building skateboards.
- Building bicycles.
- Building motorcycles.
- Build a tricycle.
- Build cars.
Now let's compare the two ways of thinking.
According to the current social rhythm and the timeliness of product competition, putting things into the market with the fastest speed is much better than spending more time putting better things into the market.
Comparison:
Traditional, requires a final step before the product can be brought to market.
Agile development, at any step, can bring the product to market and seize the best time.
3. Agile Development and DDD Architecture
The development mode of DDD domain-driven design is very in line with the idea of agile development. After a business line is developed, it can be deployed online. At the same time, even if the business volume increases under the DDD architecture, it still has the characteristics of being closed for modification and open for expansion.Features (the relationship between entity classes under the MVC architecture is a complex mesh structure, which becomes a big ball of mud, which can move the whole body at one stroke, so that it is not easy to change the code;), so even if the system expands, the DDD architecture can still meet the requirements of agilityDevelopment principles
边栏推荐
- Qt在选择MSVC 编译器的时候,无法识别出M_PI的问题处理
- 如何快速对接淘宝开放平台API接口(淘宝店铺订单明文接口,淘宝店铺商品上传接口,淘宝店铺订单交易接口)
- 通力传动递交注册:年营收4.7亿 实控人项献忠家族色彩浓厚
- UPC2022暑期个人训练赛第23场(Credit Card Payment)
- 8 个常用的 Wireshark 使用技巧,一看就会
- 文树勋率长沙市人大常委会主任会议成员莅临麒麟信安调研数字经济发展情况
- 如何修复 SAP UI5 aggregation with cardinality 0..1 相关的错误消息
- 聊聊 Nacos
- 流程控制for和while循环语句
- 2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,
猜你喜欢
随机推荐
Day117. Shangyitong: Generate registered order module
2022年8月2日——使用idea搭建servlet+jsp项目
.NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)
13-security其他.md
做快乐的事情
嵌入式开发:嵌入式基础——’ ’和” ”的区别
爆款视频怎么做?这里或许有答案
和睦家私有化后换帅:新风天域吴启楠任CEO 李碧菁靠边站
JS做一个接近无限时长的滚动条
8-jwt工具类
C语言:链表
UPC2022暑期个人训练赛第23场(Credit Card Payment)
DB2数据库-获取表结构异常:[jcc][t4][1065][12306][4.26.14]CharConvertionException ERRORCODE=-4220,SQLSTATE=null
Greenplum数据库故障分析——can not listen port
11-security认证.md
NLP commonly used Backbone model cheat sheet (1)
鲲鹏devkit开发套件
1686. 石子游戏 VI
30岁测试开发年薪不足80万,还要被面试官diss混得太差?
C# 异步编程(async和await)