Knowledge (XXG)

Continuous integration

Source 📝

36: 714: 642: 1198: 1259: 824: 1159:
Making builds readily available to stakeholders and testers can reduce the amount of rework necessary when rebuilding a feature that doesn't meet requirements. Additionally, early testing reduces the chances that defects survive until deployment. Finding errors earlier can reduce the amount of work
1063:
Developers can reduce the effort of resolving conflicting changes by synchronizing changes with each other frequently; at least daily. Checking in a week's worth of work risks conflict both in likelihood of occurrence and complexity to resolve. Relatively small conflicts are significantly easier to
927:
The longer development continues on a branch without merging to the integration branch, the greater the risk of multiple integration conflicts and failures when the developer branch is eventually merged back. When developers submit code to the repository they must first update their code to reflect
794:
The core activities of CI are developers co-locate code changes in a shared, integration area frequently and that the resulting integrated codebase is verified for correctness. The first part generally involves merging changes to a common version control branch. The second part generally involves
1083:
The system should build commits to the current working version to verify that they integrate correctly. A common practice is to use Automated Continuous Integration, although this may be done manually. Automated Continuous Integration employs a continuous integration server or
931:
Eventually, the repository may become so different from the developers' baselines that they enter what is sometimes referred to as "merge hell", or "integration hell", where the time it takes to integrate exceeds the time it took to make their original changes.
770:
project, including continuous integration. Beck published about continuous integration in 1998, emphasising the importance of face-to-face communication over technological support. In 1999, Beck elaborated more in his first full book on Extreme Programming.
1179:
Most CI systems allow the running of scripts after a build finishes. In most situations, it is possible to write a script to deploy the application to a live test server that everyone can look at. A further advance in this way of thinking is
1134:
because the production environment may differ from the test environment in a significant way. However, building a replica of a production environment is cost-prohibitive. Instead, the test environment or a separate
1604: 751:(2nd edition) to explain how, when developing using micro processes, "internal releases represent a sort of continuous integration of the system, and exist to force closure of the micro process". 782:'s engineering team had built and been using the first practical CI system. While his post was originally met with skepticism, it quickly caught on and found widespread adoption as part of the 1838: 628: 1322:
Reduces effort to find cause of bugs; if a CI test fails then changes since last good build contain causing change; if build after each change then exactly one change is the cause
2058: 1639: 1435: – process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a release candidate 582: 928:
the changes in the repository since they took their copy. The more changes the repository contains, the more work developers must do before submitting their own changes.
1100:
When fixing a bug, it is a good practice to push a test case that reproduces the bug. This avoids the fix to be reverted, and the bug to reappear, which is known as a
1807: 2200: 1426: – modular design process in which components can be freely substituted to improve the design, modify performance or change another feature at a later time 1418: 1043:. In many cases, the build script not only compiles binaries but also generates documentation, website pages, statistics and distribution media (such as Debian 1613: 549: 767: 621: 1850: 2035: 1276: 391: 539: 744:
The earliest known work (1989) on continuous integration was the Infuse environment developed by G. E. Kaiser, D. E. Perry, and W. M. Schell.
2267: 1991: 1881: 1764: 1707: 1691: 614: 514: 255: 1498: 1184:, which calls for the software to be deployed directly into production, often with additional automation to prevent defects or regressions. 834: 534: 1574:. Proceedings of the Thirteenth Annual International Computer Software & Applications Conference. Orlando, Florida. pp. 552–558. 57: 2257: 572: 1441: 481: 245: 1207: 1944: 1655: 1512: 1298: 1240: 1026: 1009: 348: 79: 1064:
resolve than larger ones. Integrating (committing) changes at least once a day is considered good practice, and more often better.
1647: 471: 466: 222: 948:
pass locally before committing to the integration branch so that one developer's work does not break another developer's copy.
2252: 1948: 600: 1400: 1280: 491: 204: 184: 802:
builds from the integration area frequently; i.e. after each commit or periodically like once a day. The server may perform
1163:
All programmers should start the day by updating the project from the repository. That way, they will all stay up to date.
1815: 1447: 1171:
It should be easy to find out whether the build breaks and, if so, who made the relevant change and what that change was.
401: 290: 280: 230: 2262: 1735:"A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing" 1139:("staging") should be built to be a scalable version of the production environment to alleviate costs while maintaining 672: 577: 305: 270: 121: 1983: 396: 368: 50: 44: 2204: 1136: 1085: 519: 363: 250: 240: 179: 1269: 966:
ensures the software checked in on an integration branch is always in a state that can be deployed to users, and
783: 285: 265: 2139:"Assessing challenges of continuous integration in the context of software requirements breakdown: a case study" 1211: 61: 1151:, etc.) that are beyond the team's control, still evolving, or too complex to configure in a virtual test lab. 688: 426: 295: 275: 1112:
The build needs to complete rapidly so that if there is a problem with integration, it is quickly identified.
1379:
Implies that incomplete code should not be integrated which is counter to some developer's preferred practice
1147:
is commonly used to obtain on-demand access to dependencies (e.g., APIs, third-party applications, services,
941: 701:, although he did not advocate integrating multiple times a day, but later, CI came to include that aspect. 668: 554: 436: 315: 189: 1739:
2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET)
1575: 1144: 1131: 1040: 921: 496: 358: 300: 2138: 1328:
When a test fails or a bug is found, reverting the codebase to a good state results in fewer lost changes
2169: 1409: 1181: 967: 353: 320: 136: 126: 1006:); that the system should be buildable from a fresh checkout and not require additional dependencies. 1032:
Proponents of CI recommend that a single command should have the capability of building the system.
416: 260: 194: 161: 141: 102: 2008: 1580: 1052: 1048: 1036: 963: 763: 411: 330: 156: 2101:"Problems, causes and solutions when adopting continuous delivery—A systematic literature review" 2081: 1770: 1742: 1432: 1412: – visual device used in agile software development to inform the team on the build progress 1148: 1101: 913: 799: 529: 1987: 1877: 1760: 1687: 1651: 1552: 1508: 1504: 1473: 1423: 1044: 1683: 2221: 2112: 2073: 1752: 1585: 1544: 1341: 1140: 1127: 1121: 1089: 1021: 889: 807: 680: 486: 449: 431: 421: 146: 2191: 2182: 1897: 1349: 995: 989: 803: 684: 373: 325: 209: 131: 1788: 1926: 1846: 952: 676: 641: 1756: 1218: 845: 713: 17: 2246: 2085: 1975: 1774: 1676: 1345: 901: 878: 772: 664:
changes frequently and ensuring that the integrated codebase is in a workable state.
116: 2077: 994:
Proponents of CI recommend storing all files and information needed for building in
2158: 1708:"A Brief History of DevOps, Part III: Automated Testing and Continuous Integration" 1364: 1316: 1222: 945: 759: 698: 646: 199: 2117: 2100: 1494: 1258: 1072: 980:
are often performed in conjunction with CI and together form a CI/CD pipeline.
694: 661: 1734: 1644:
Fundamental Approaches to Software Engineering: First International Conference
1589: 1556: 1671: 1387: 755: 151: 1035:
Automation often includes automating the integration, which often includes
795:
automated processes including: building, testing and many other processes.
1331:
Frequent availability of a known-good build for testing, demo, and release
1901: 917: 524: 476: 461: 456: 2036:"Continuous Deployment at IMVU: Doing the impossible fifty times a day" 1383: 1283: in this section. Unsourced material may be challenged and removed. 1012:
recommends that all developers commit to the same integration branch.
810:
metrics via processes such as static analysis and performance testing.
1640:"Extreme Programming: A Humanistic Discipline of Software Development" 1548: 904:; i.e., all of a developer's changes are handled as a single commit. 235: 2059:"An Empirical Study on the Impact of Code Contributor on Code Smell" 1980:
Continuous Integration: Improving Software Quality and Reducing Risk
1874:
Continuous Integration. Improving Software Quality and Reducing Risk
1390:) require documentation and review which may be difficult to achieve 1747: 1839:"Rails Deployment and Automation with ShadowPuppet and Capistrano" 640: 310: 1572:
Infuse: fusing integration test management with change management
779: 544: 27:
Software development practice of building and testing frequently
2235: 1370:
Writing and maintaining an automated test suite requires effort
1130:
can lead to failures in tested systems when they deploy in the
775:, one of the first open-source CI tools, was released in 2001. 747:
In 1994, Grady Booch used the phrase continuous integration in
2226: 1535:
Beck, K. (1999). "Embracing change with extreme programming".
1252: 1191: 999: 817: 708: 29: 951:
Incomplete features can be disabled before committing, using
857: 1334:
Frequent code commit encourages modular, less complex code
849: 2192:"Continuous Integration: The Cornerstone of a Great Shop" 1382:
Safety and mission-critical development assurance (e.g.,
1143:
composition and nuances. Within these test environments,
778:
In 2010, Timothy Fitz published an article detailing how
1808:"[OSLC] Possible new Working Group – Automation" 881:
from practitioners for other practices that enhance CI.
853: 2057:
Junpeng, Jiang; Zhu, Can; Zhang, Xiaofang (July 2020).
1405:
Pages displaying short descriptions of redirect targets
1092:
for changes, then automatically run the build process.
841: 725: 1606:
Object-Oriented Analysis and Design with applications
940:
Proponents of CI suggest that developers should use
749:
Object-Oriented Analysis and Design with Applications
2201:"A Recipe for Build Maintainability and Reusability" 1437:
Pages displaying wikidata descriptions as a fallback
1428:
Pages displaying wikidata descriptions as a fallback
1414:
Pages displaying wikidata descriptions as a fallback
1337:
Quick feedback on system-wide impact of code changes
2066:
International Journal of Performability Engineering
1570:Kaiser, G. E.; Perry, D. E.; Schell, W. M. (1989). 1675: 1376:High build latency (sitting in queue) limits value 900:CI requires the version control system to support 1096:Every bug-fix commit should come with a test case 1167:Everyone can see the results of the latest build 1075:, if not more often, is generally recommended. 916:creates a branch that is a copy of the current 1467: 1465: 1463: 924:, this copy diverges from the latest version. 806:checks such as running unit tests and collect 1419:Comparison of continuous integration software 1116:Test in a clone of the production environment 959:Continuous delivery and continuous deployment 687:. Often, the automated process runs on each 622: 8: 1325:Avoids the chaos of integrating many changes 1403: – Process of packaging and deployment 1373:Value added depends on the quality of tests 1155:Make it easy to get the latest deliverables 691:or runs on a schedule such as once a day. 1221:. Please do not remove this message until 768:Chrysler Comprehensive Compensation System 629: 615: 93: 2116: 1746: 1579: 1500:Object Oriented Design: With Applications 1299:Learn how and when to remove this message 1241:Learn how and when to remove this message 80:Learn how and when to remove this message 1217:Relevant discussion may be found on the 920:. As other changes are committed to the 43:This article includes a list of general 2009:"Continuous deployment in 5 easy steps" 1682:. Addison-Wesley Professional. p.  1459: 1450: – Concept of software development 835:instructions, advice, or how-to content 101: 2178: 2167: 1444: – Software development technique 583:Electrical and electronics engineering 2132: 2130: 2128: 7: 1281:adding citations to reliable sources 2105:Information and Software Technology 844:so that it is more encyclopedic or 2034:Fitz, Timothy (10 February 2009). 1806:Brauneis, David (1 January 2010). 1442:Multi-stage continuous integration 970:automates the deployment process. 49:it lacks sufficient corresponding 25: 1927:"What is Continuous Integration?" 1757:10.1109/WiSPNET51692.2021.9419464 1646:. Vol. 1. Lisbon, Portugal: 786:methodology, also based on IMVU. 660:) is the practice of integrating 509:Standards and bodies of knowledge 2220:Duvall, Paul (4 December 2007). 1257: 1196: 822: 712: 34: 2078:10.23940/ijpe.20.07.p9.10671077 1268:needs additional citations for 601:Outline of software development 1974:Paul M. Duvall; Steve Matyas; 1814:(Mailing list). Archived from 1612:(2nd ed.). Archived from 1603:Booch, Grady (December 1998). 1401:Application release automation 697:first proposed the term CI in 1: 2164:(a collegial discussion). C2. 1678:Extreme Programming Explained 1472:Fowler, Martin (1 May 2006). 1448:Rapid application development 912:When making a code change, a 2268:Software development process 2118:10.1016/j.infsof.2016.10.001 2007:Ries, Eric (30 March 2009). 1638:Beck, Kent (28 March 1998). 1079:Every commit should be built 1984:Addison-Wesley Professional 1812:open-services.net Community 1223:conditions to do so are met 1160:necessary to resolve them. 2284: 2258:Agile software development 1137:pre-production environment 1119: 1019: 987: 675:, and an automated system 649:for continuous integration 364:Software quality assurance 1590:10.1109/CMPSAC.1989.65147 784:lean software development 2159:"Continuous Integration" 2099:Laukkanen, Eero (2016). 1872:Duvall, Paul M. (2007). 1789:"Continuous integration" 1474:"Continuous Integration" 349:Configuration management 2238:. MediaWiki. June 2024. 1340:Supports collection of 1090:revision control system 1039:into a production-like 944:and to ensure that all 942:test-driven development 573:Artificial intelligence 64:more precise citations. 2253:Continuous integration 2177:Cite journal requires 1953:Continuous Integration 1315:Facilitates detecting 1145:service virtualisation 1132:production environment 1027:Build automation tools 667:Typically, developers 654:Continuous integration 650: 497:Infrastructure as code 343:Supporting disciplines 18:Continuous Integration 1793:Atlassian Agile Coach 1410:Build light indicator 1367:setup requires effort 1360:Risks of CI include: 1311:CI benefits include: 1182:continuous deployment 978:continuous deployment 968:continuous deployment 644: 354:Deployment management 1741:, pp. 130–134, 1733:Sane, Parth (2021), 1277:improve this article 1029:automate building. 892:is a best practice. 174:Paradigms and models 103:Software development 2263:Extreme programming 2236:"Version lifecycle" 2190:Richardson, Jared. 1931:Amazon Web Services 1818:on 1 September 2018 1210:of this section is 1175:Automate deployment 1108:Keep the build fast 974:Continuous delivery 964:Continuous delivery 877:This section lists 842:rewrite the content 764:extreme programming 97:Part of a series on 1902:"Integration Hell" 1876:. Addison-Wesley. 1853:on 2 December 2012 1433:Continuous testing 1016:Automate the build 908:Committing changes 766:(XP) while on the 724:. You can help by 673:integration branch 651: 492:Release automation 369:Project management 2222:"Developer works" 1993:978-0-321-33638-5 1900:(5 August 2009). 1883:978-0-321-33638-5 1849:). Archived from 1837:Taylor, Bradley. 1766:978-1-6654-4086-8 1714:. 1 February 2018 1693:978-0-201-61641-5 1619:on 19 August 2019 1505:Benjamin Cummings 1424:Continuous design 1309: 1308: 1301: 1251: 1250: 1243: 1059:Commit frequently 875: 874: 814:Related practices 742: 741: 639: 638: 530:ISO/IEC standards 90: 89: 82: 16:(Redirected from 2275: 2239: 2231: 2216: 2214: 2212: 2203:. Archived from 2195: 2186: 2180: 2175: 2173: 2165: 2163: 2146: 2145: 2143: 2137:Debbiche, Adam. 2134: 2123: 2122: 2120: 2096: 2090: 2089: 2072:(7): 1067–1077. 2063: 2054: 2048: 2047: 2045: 2043: 2031: 2025: 2024: 2022: 2020: 2004: 1998: 1997: 1971: 1965: 1964: 1962: 1960: 1941: 1935: 1934: 1923: 1917: 1916: 1914: 1912: 1898:Cunningham, Ward 1894: 1888: 1887: 1869: 1863: 1862: 1860: 1858: 1834: 1828: 1827: 1825: 1823: 1803: 1797: 1796: 1784: 1778: 1777: 1750: 1730: 1724: 1723: 1721: 1719: 1704: 1698: 1697: 1681: 1668: 1662: 1661: 1635: 1629: 1628: 1626: 1624: 1618: 1611: 1600: 1594: 1593: 1583: 1567: 1561: 1560: 1549:10.1109/2.796139 1532: 1526: 1525: 1523: 1521: 1491: 1485: 1484: 1482: 1480: 1469: 1438: 1429: 1415: 1406: 1342:software metrics 1304: 1297: 1293: 1290: 1284: 1261: 1253: 1246: 1239: 1235: 1232: 1226: 1200: 1199: 1192: 1141:technology stack 1128:test environment 1122:Test environment 1022:Build automation 890:Build automation 885:Build automation 870: 867: 861: 826: 825: 818: 808:software quality 737: 734: 716: 709: 631: 624: 617: 578:Computer science 487:Build automation 94: 85: 78: 74: 71: 65: 60:this article by 51:inline citations 38: 37: 30: 21: 2283: 2282: 2278: 2277: 2276: 2274: 2273: 2272: 2243: 2242: 2234: 2219: 2210: 2208: 2207:on 25 June 2020 2198: 2194:(introduction). 2189: 2176: 2166: 2161: 2157: 2154: 2149: 2141: 2136: 2135: 2126: 2098: 2097: 2093: 2061: 2056: 2055: 2051: 2041: 2039: 2033: 2032: 2028: 2018: 2016: 2006: 2005: 2001: 1994: 1973: 1972: 1968: 1958: 1956: 1943: 1942: 1938: 1925: 1924: 1920: 1910: 1908: 1896: 1895: 1891: 1884: 1871: 1870: 1866: 1856: 1854: 1836: 1835: 1831: 1821: 1819: 1805: 1804: 1800: 1786: 1785: 1781: 1767: 1732: 1731: 1727: 1717: 1715: 1706: 1705: 1701: 1694: 1670: 1669: 1665: 1658: 1637: 1636: 1632: 1622: 1620: 1616: 1609: 1602: 1601: 1597: 1581:10.1.1.101.3770 1569: 1568: 1564: 1534: 1533: 1529: 1519: 1517: 1515: 1507:. p. 209. 1493: 1492: 1488: 1478: 1476: 1471: 1470: 1461: 1457: 1436: 1427: 1413: 1404: 1397: 1358: 1350:code complexity 1305: 1294: 1288: 1285: 1274: 1262: 1247: 1236: 1230: 1227: 1216: 1201: 1197: 1190: 1177: 1169: 1157: 1124: 1118: 1110: 1098: 1088:to monitor the 1081: 1070: 1061: 1024: 1018: 996:version control 992: 990:Version control 986: 984:Version control 961: 953:feature toggles 938: 936:Testing locally 910: 898: 887: 871: 865: 862: 839: 827: 823: 816: 804:quality control 792: 738: 732: 729: 722:needs expansion 707: 685:software system 635: 606: 605: 596: 588: 587: 568: 560: 559: 510: 502: 501: 452: 442: 441: 387: 379: 378: 374:User experience 344: 336: 335: 226: 215: 214: 175: 167: 166: 112: 111:Core activities 86: 75: 69: 66: 56:Please help to 55: 39: 35: 28: 23: 22: 15: 12: 11: 5: 2281: 2279: 2271: 2270: 2265: 2260: 2255: 2245: 2244: 2241: 2240: 2232: 2217: 2199:Flowers, Jay. 2196: 2187: 2179:|journal= 2153: 2152:External links 2150: 2148: 2147: 2124: 2091: 2049: 2026: 1999: 1992: 1966: 1945:Fowler, Martin 1936: 1918: 1889: 1882: 1864: 1829: 1798: 1787:Radigan, Dan. 1779: 1765: 1725: 1699: 1692: 1663: 1656: 1630: 1595: 1562: 1527: 1513: 1486: 1458: 1456: 1453: 1452: 1451: 1445: 1439: 1430: 1421: 1416: 1407: 1396: 1393: 1392: 1391: 1380: 1377: 1374: 1371: 1368: 1357: 1354: 1353: 1352: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1307: 1306: 1265: 1263: 1256: 1249: 1248: 1204: 1202: 1195: 1189: 1186: 1176: 1173: 1168: 1165: 1156: 1153: 1120:Main article: 1117: 1114: 1109: 1106: 1097: 1094: 1080: 1077: 1073:Building daily 1069: 1066: 1060: 1057: 1020:Main article: 1017: 1014: 988:Main article: 985: 982: 960: 957: 937: 934: 909: 906: 902:atomic commits 897: 896:Atomic commits 894: 886: 883: 879:best practices 873: 872: 830: 828: 821: 815: 812: 791: 788: 740: 739: 719: 717: 706: 703: 671:changes to an 637: 636: 634: 633: 626: 619: 611: 608: 607: 604: 603: 597: 594: 593: 590: 589: 586: 585: 580: 575: 569: 566: 565: 562: 561: 558: 557: 552: 547: 542: 537: 532: 527: 522: 520:IEEE standards 517: 511: 508: 507: 504: 503: 500: 499: 494: 489: 484: 479: 474: 469: 464: 459: 453: 448: 447: 444: 443: 440: 439: 434: 429: 424: 419: 414: 409: 404: 399: 394: 388: 385: 384: 381: 380: 377: 376: 371: 366: 361: 356: 351: 345: 342: 341: 338: 337: 334: 333: 328: 323: 318: 313: 308: 303: 298: 293: 288: 283: 278: 273: 268: 263: 258: 253: 248: 243: 238: 233: 227: 225:and frameworks 221: 220: 217: 216: 213: 212: 207: 202: 197: 192: 187: 182: 176: 173: 172: 169: 168: 165: 164: 159: 154: 149: 144: 139: 134: 129: 124: 119: 113: 110: 109: 106: 105: 99: 98: 88: 87: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2280: 2269: 2266: 2264: 2261: 2259: 2256: 2254: 2251: 2250: 2248: 2237: 2233: 2229: 2228: 2223: 2218: 2206: 2202: 2197: 2193: 2188: 2184: 2171: 2160: 2156: 2155: 2151: 2140: 2133: 2131: 2129: 2125: 2119: 2114: 2110: 2106: 2102: 2095: 2092: 2087: 2083: 2079: 2075: 2071: 2067: 2060: 2053: 2050: 2037: 2030: 2027: 2014: 2010: 2003: 2000: 1995: 1989: 1985: 1981: 1977: 1976:Andrew Glover 1970: 1967: 1954: 1950: 1946: 1940: 1937: 1932: 1928: 1922: 1919: 1907: 1903: 1899: 1893: 1890: 1885: 1879: 1875: 1868: 1865: 1852: 1848: 1844: 1843:Rails machine 1840: 1833: 1830: 1817: 1813: 1809: 1802: 1799: 1794: 1790: 1783: 1780: 1776: 1772: 1768: 1762: 1758: 1754: 1749: 1744: 1740: 1736: 1729: 1726: 1713: 1709: 1703: 1700: 1695: 1689: 1685: 1680: 1679: 1673: 1667: 1664: 1659: 1657:9783540643036 1653: 1650:. p. 4. 1649: 1645: 1641: 1634: 1631: 1615: 1608: 1607: 1599: 1596: 1591: 1587: 1582: 1577: 1573: 1566: 1563: 1558: 1554: 1550: 1546: 1543:(10): 70–77. 1542: 1538: 1531: 1528: 1516: 1514:9780805300918 1510: 1506: 1502: 1501: 1496: 1490: 1487: 1475: 1468: 1466: 1464: 1460: 1454: 1449: 1446: 1443: 1440: 1434: 1431: 1425: 1422: 1420: 1417: 1411: 1408: 1402: 1399: 1398: 1394: 1389: 1385: 1381: 1378: 1375: 1372: 1369: 1366: 1363: 1362: 1361: 1355: 1351: 1347: 1346:code coverage 1343: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1314: 1313: 1312: 1303: 1300: 1292: 1282: 1278: 1272: 1271: 1266:This section 1264: 1260: 1255: 1254: 1245: 1242: 1234: 1224: 1220: 1214: 1213: 1209: 1203: 1194: 1193: 1187: 1185: 1183: 1174: 1172: 1166: 1164: 1161: 1154: 1152: 1150: 1146: 1142: 1138: 1133: 1129: 1123: 1115: 1113: 1107: 1105: 1103: 1095: 1093: 1091: 1087: 1078: 1076: 1074: 1067: 1065: 1058: 1056: 1054: 1050: 1046: 1042: 1038: 1033: 1030: 1028: 1023: 1015: 1013: 1011: 1010:Martin Fowler 1007: 1005: 1001: 997: 991: 983: 981: 979: 975: 971: 969: 965: 958: 956: 954: 949: 947: 943: 935: 933: 929: 925: 923: 919: 915: 907: 905: 903: 895: 893: 891: 884: 882: 880: 869: 859: 855: 851: 847: 843: 837: 836: 831:This section 829: 820: 819: 813: 811: 809: 805: 801: 798:Typically, a 796: 789: 787: 785: 781: 776: 774: 773:CruiseControl 769: 765: 761: 757: 752: 750: 745: 736: 727: 723: 720:This section 718: 715: 711: 710: 704: 702: 700: 696: 692: 690: 686: 682: 678: 674: 670: 665: 663: 659: 655: 648: 643: 632: 627: 625: 620: 618: 613: 612: 610: 609: 602: 599: 598: 592: 591: 584: 581: 579: 576: 574: 571: 570: 564: 563: 556: 553: 551: 548: 546: 543: 541: 538: 536: 533: 531: 528: 526: 523: 521: 518: 516: 513: 512: 506: 505: 498: 495: 493: 490: 488: 485: 483: 480: 478: 475: 473: 470: 468: 465: 463: 460: 458: 455: 454: 451: 446: 445: 438: 435: 433: 430: 428: 425: 423: 420: 418: 415: 413: 410: 408: 405: 403: 400: 398: 395: 393: 390: 389: 383: 382: 375: 372: 370: 367: 365: 362: 360: 359:Documentation 357: 355: 352: 350: 347: 346: 340: 339: 332: 329: 327: 324: 322: 319: 317: 314: 312: 309: 307: 304: 302: 299: 297: 294: 292: 289: 287: 284: 282: 279: 277: 274: 272: 269: 267: 264: 262: 259: 257: 254: 252: 249: 247: 244: 242: 239: 237: 234: 232: 229: 228: 224: 223:Methodologies 219: 218: 211: 208: 206: 203: 201: 198: 196: 193: 191: 188: 186: 183: 181: 178: 177: 171: 170: 163: 160: 158: 155: 153: 150: 148: 145: 143: 140: 138: 135: 133: 130: 128: 125: 123: 120: 118: 117:Data modeling 115: 114: 108: 107: 104: 100: 96: 95: 92: 84: 81: 73: 63: 59: 53: 52: 46: 41: 32: 31: 19: 2225: 2209:. Retrieved 2205:the original 2170:cite journal 2108: 2104: 2094: 2069: 2065: 2052: 2040:. Retrieved 2029: 2017:. Retrieved 2012: 2002: 1979: 1969: 1957:. Retrieved 1952: 1939: 1930: 1921: 1911:19 September 1909:. Retrieved 1905: 1892: 1873: 1867: 1855:. Retrieved 1851:the original 1842: 1832: 1820:. Retrieved 1816:the original 1811: 1801: 1792: 1782: 1738: 1728: 1716:. Retrieved 1711: 1702: 1677: 1666: 1643: 1633: 1621:. Retrieved 1614:the original 1605: 1598: 1571: 1565: 1540: 1536: 1530: 1518:. Retrieved 1499: 1495:Booch, Grady 1489: 1477:. Retrieved 1365:Build system 1359: 1310: 1295: 1286: 1275:Please help 1270:verification 1267: 1237: 1228: 1206: 1178: 1170: 1162: 1158: 1125: 1111: 1099: 1082: 1071: 1062: 1034: 1031: 1025: 1008: 1003: 993: 977: 973: 972: 962: 950: 939: 930: 926: 911: 899: 888: 876: 863: 840:Please help 832: 797: 793: 777: 760:Ron Jeffries 753: 748: 746: 743: 730: 726:adding to it 721: 693: 666: 657: 653: 652: 647:flow diagram 477:UML Modeling 472:GUI designer 406: 137:Construction 127:Requirements 91: 76: 67: 48: 2038:. Wordpress 1959:29 November 1949:"Practices" 1906:WikiWikiWeb 1857:16 February 1822:16 February 1068:Daily build 1051:or Windows 1041:environment 850:Wikiversity 733:August 2014 695:Grady Booch 662:source code 195:Prototyping 190:Incremental 162:Maintenance 142:Engineering 62:introducing 2247:Categories 2042:10 January 2019:10 January 2015:. O’Reilly 1748:2103.00097 1672:Beck, Kent 1623:2 December 1455:References 1208:neutrality 1149:mainframes 1102:regression 1047:, Red Hat 1037:deployment 1004:repository 946:unit tests 922:repository 858:Wikivoyage 645:Sketch of 567:Glossaries 157:Deployment 45:references 2111:: 55–79. 2086:222588815 1955:(article) 1775:232076320 1576:CiteSeerX 1557:0018-9162 1520:18 August 1479:9 January 1388:ISO 26262 1219:talk page 1126:Having a 914:developer 854:Wikibooks 833:contains 790:Practices 762:invented 756:Kent Beck 754:In 1997, 386:Practices 210:Waterfall 185:Cleanroom 152:Debugging 122:Processes 70:July 2016 1978:(2007). 1712:CircleCI 1674:(1999). 1648:Springer 1537:Computer 1497:(1991). 1395:See also 1344:such as 1289:May 2016 1231:May 2016 1212:disputed 1188:Benefits 1055:files). 918:codebase 866:May 2015 595:Outlines 525:ISO 9001 467:Profiler 462:Debugger 457:Compiler 432:Stand-up 1384:DO-178C 1319:earlier 998:, (for 705:History 266:Lean SD 205:V model 147:Testing 58:improve 2211:28 May 2162:(wiki) 2084:  1990:  1880:  1773:  1763:  1718:19 May 1690:  1654:  1578:  1555:  1511:  1086:daemon 848:it to 800:server 689:commit 677:builds 540:SWEBOK 261:Kanban 236:DevOps 200:Spiral 132:Design 47:, but 2142:(PDF) 2082:S2CID 2062:(PDF) 2013:Radar 1771:S2CID 1743:arXiv 1617:(PDF) 1610:(PDF) 1356:Risks 856:, or 681:tests 669:merge 535:PMBOK 450:Tools 311:SEMAT 306:Scrum 180:Agile 2213:2006 2183:help 2044:2013 2021:2013 1988:ISBN 1961:2015 1913:2009 1878:ISBN 1859:2010 1847:blog 1824:2010 1761:ISBN 1720:2018 1688:ISBN 1652:ISBN 1625:2014 1553:ISSN 1522:2014 1509:ISBN 1481:2014 1317:bugs 1205:The 976:and 846:move 780:IMVU 758:and 699:1991 683:the 679:and 550:IREB 545:ITIL 515:CMMI 392:ATDD 301:SAFe 271:LeSS 246:DSDM 2227:IBM 2113:doi 2074:doi 1753:doi 1586:doi 1545:doi 1279:by 1053:MSI 1049:RPM 1045:DEB 1000:git 728:. 555:OMG 482:IDE 437:TDD 427:SBE 417:DDD 402:CCO 397:BDD 321:TSP 316:TDD 296:RUP 291:RAD 286:PSP 281:MSF 276:MDD 256:IID 251:FDD 241:DAD 231:ASD 2249:: 2224:. 2174:: 2172:}} 2168:{{ 2127:^ 2109:82 2107:. 2103:. 2080:. 2070:16 2068:. 2064:. 2011:. 1986:. 1982:. 1951:. 1947:. 1929:. 1904:. 1841:. 1810:. 1791:. 1769:, 1759:, 1751:, 1737:, 1710:. 1686:. 1684:97 1642:. 1584:. 1551:. 1541:32 1539:. 1503:. 1462:^ 1386:, 1348:, 1104:. 1002:a 955:. 852:, 658:CI 422:PP 412:CD 407:CI 331:XP 326:UP 2230:. 2215:. 2185:) 2181:( 2144:. 2121:. 2115:: 2088:. 2076:: 2046:. 2023:. 1996:. 1963:. 1933:. 1915:. 1886:. 1861:. 1845:( 1826:. 1795:. 1755:: 1745:: 1722:. 1696:. 1660:. 1627:. 1592:. 1588:: 1559:. 1547:: 1524:. 1483:. 1302:) 1296:( 1291:) 1287:( 1273:. 1244:) 1238:( 1233:) 1229:( 1225:. 1215:. 868:) 864:( 860:. 838:. 735:) 731:( 656:( 630:e 623:t 616:v 83:) 77:( 72:) 68:( 54:. 20:)

Index

Continuous Integration
references
inline citations
improve
introducing
Learn how and when to remove this message
Software development
Data modeling
Processes
Requirements
Design
Construction
Engineering
Testing
Debugging
Deployment
Maintenance
Agile
Cleanroom
Incremental
Prototyping
Spiral
V model
Waterfall
Methodologies
ASD
DevOps
DAD
DSDM
FDD

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.