当前位置:网站首页>What are the green field and brown field models in software development - green field development and brown field development
What are the green field and brown field models in software development - green field development and brown field development
2022-07-02 17:29:00 【Hua Weiyun】
Today, I was reading an article , I saw a word :greenfield approach, This word and migration Corresponding .
These are two different software development models .
As software becomes the fastest 、 One of the most dynamic industries , It requires developers to use appropriate software development tools and methods to develop products that meet the growing needs of modern enterprises . Greenfield and brownfield software development are two methods to develop cutting-edge software .
What is Greenfield Software Development?
Green space software development refers to the development of a system for a new environment , Need to develop from scratch —— No legacy code . This is a method to use when you start over without restrictions or dependencies .
Now , Pure green space projects are very rare , Often you end up interacting or updating some existing code or enabling integration . Greenfield Some examples of software development include : Build a website or application from scratch 、 Build a new data center , Even implement a new rule engine .
Advantages of green space software development
- Provide the opportunity to implement state-of-the-art technology solutions from scratch
- Provide a new platform for software development
- No need to work under the constraints of existing systems or infrastructure
- With existing software 、 Preconceived concepts or existing business processes have no dependencies or connections
Disadvantages of green space software development
- There is no clear direction , The degree of risk is relatively high
- Due to the need to define all aspects of the new system , So it can be very time-consuming
- There are so many possible development options , There may be no clear understanding of the method to be taken
- It can be difficult to involve everyone in making key decisions within the right time frame
What is Brownfield Software Development?
Brownfield Software development refers to the development and deployment of new software systems when existing or legacy software systems exist . Brownfield development usually occurs when you want to develop or improve existing applications , And force you to use the previously created code .
therefore , Any new software architecture must be considered and coexist with existing systems —— To enhance existing functions or capabilities . Brownfield Examples of software development include : Add a new module to an existing enterprise system 、 Integrate new features into earlier developed software or upgrade code to enhance the functionality of the application .
Brownfield Advantages of software development
- Provide a place to start from a predetermined direction
- Provide opportunities to improve existing technical solutions
- Support the use of defined business processes and technology solutions
- Allow reuse of existing code to add new functionality
Brownfield Disadvantages of software development
- The existing system on which the new system needs to be built 、 Have a thorough understanding of services and data
- A large part of the existing complex environment may need to be redesigned , So that they have operational significance for new business requirements
- Need a detailed and accurate understanding of existing business and IT Constraints of , So the new project won't fail
- Dealing with legacy code will not only slow down the development process , It will also increase the overall development cost
Comparison Overview of Greenfield and Brownfield Software Development
Which is better for you : Green or brownfield software development ?
Software is the core of every product or service . therefore , Choosing the right development method is very important to the success of software . Because green space software development has higher risk , Therefore, agile practice is often considered the best method ; Develop software through small iterations and deliver it to customers for rapid feedback , They help to deal with risks effectively .
On the other hand ,Brownfield Projects are usually built on a more stable infrastructure , And have confirmed business processes ; therefore , They are unlikely to be at risk . However , A large part of the development effort is used to understand and integrate the existing business environment , Instead of delivering value . For brownfield development , The best way to ensure success is to use an iterative approach to improve the existing logical and physical architecture and accelerate development 、 Improve product quality and minimize defects .
Although no one method is better than another , But it depends on whether you want to develop a new product from scratch or improve the functionality of an existing product , You need to choose the right method to get the best results .
边栏推荐
- ROS knowledge points -- the difference between ros:: nodehandle N and NH ("~")
- uniapp H5页面调用微信支付
- si446使用记录(一):基本资料获取
- 2322. Remove the minimum fraction of edges from the tree (XOR and & Simulation)
- Visibilitychange – refresh the page data when the specified tab is visible
- VScode知识点——常见报错
- Briefly introduce the use of base64encoder
- What is agile development process
- 剑指 Offer 26. 树的子结构
- 书包网小说多线程爬虫[通俗易懂]
猜你喜欢
AP and F107 data sources and processing
LeetCode:1380. Lucky number in matrix -- simple
Qstype implementation of self drawing interface project practice (II)
easyswoole3.2重启不成功
Microservice architecture practice: Construction of scalable distributed database cluster
871. Minimum refueling times
剑指 Offer 22. 链表中倒数第k个节点
Goodbye, shucang. Alibaba's data Lake construction strategy is really awesome!
深度之眼(三)——矩阵的行列式
剑指 Offer 26. 树的子结构
随机推荐
After meeting a full stack developer from Tencent, I saw what it means to be proficient in MySQL tuning
Sword finger offer 25 Merge two sorted linked lists
IDEA2021.1 安装教程
Soul, a social meta universe platform, rushed to Hong Kong stocks: Tencent is a shareholder with an annual revenue of 1.28 billion
Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
使用知行之桥的API端口,提供资源供合作伙伴访问
The difference of message mechanism between MFC and QT
伟立控股港交所上市:市值5亿港元 为湖北贡献一个IPO
Microservice architecture practice: using Jenkins to realize automatic construction
SSB threshold_ SSB modulation "suggestions collection"
选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由
Explanation of traceroute command
Smart trash can (V) - light up OLED
Shutter: action feedback
ROS knowledge points -- the difference between ros:: nodehandle N and NH ("~")
The difference between class and getClass ()
Income and risk of linear programming example investment
Visibilitychange – refresh the page data when the specified tab is visible
Win10 system uses pip to install juypter notebook process record (installed on a disk other than the system disk)
Chapter 3 of hands on deep learning - (1) linear regression is realized from scratch_ Learning thinking and exercise answers