SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
************ [RÜPING-2003], Chapter 1 **************************************************************
Documents describe user requirements, software architectures, design decisions, source code and management issues.
Documentation can contribute to the success of a project by making necessary information available to the team
members. It can preserve knowledge within a team, and prevent the team from re-inventing things when team members
leave and new people join. It can capture expertise gained in one project and make it available to future projects. When
knowledge has been committed to paper, it cannot be lost.
“Documentation in moderation, aids communication, enhances knowledge transfer, preserves historical information,
and fulfils governmental and legal requirements.” –Highsmith
Light-but-sufficient approach is favorable because:
 Such approach prevents the project team form expending unnecessary large effort on documentation
 Light-but-sufficient documentation is more accessible, and therefore more useful, for a team than voluminous
documentation
“Quality is more important than quantity in project documentation.” / “Documentation is a means, not an end.”
A pattern in this sense is essentially a well-proven problem-solution pair, presented in a structured form. Users can look
up patterns for their particular problems, apply the solutions, and thereby draw on the general expertise available. A
good pattern describes the forces that are associated with a problem, those issues that influence or constrain possible
solutions. A pattern offers the rationale behind the solution.
Contrast of the Role of Documentation with Face-to-Face Communication
Roadmap diagram of Patterns: it sketches the patterns and relationships that hold between them.
Target Readers: To ensure that the documents that the project team produce will be appreciated, each document must
have a target leadership, and must address these readers in order to prove useful.
Focused Information: Documents can be prevented from meandering and getting nowhere by having a clear and
identifiable focus on a particular topic, making it concise and straightforward.
Individual Documentation Requirements: Unnecessary documentation requirements can be avoided by defining
documentation requirements individually.
Documentation Portfolio: Teams can reuse the knowledge about which documents might be required in their projects
by using a documentation portfolio that describes which documents might be necessary in software project, and their
scope. In an organization sets up such a portfolio, projects can choose those documents they need, checking the necessity
of each candidate document individually. [Management, Specification, Design, Migration, Test, Usage, Operations]
Focus on Long-Term Relevance: Projects can avoid producing documentation that expires too soon by making
documentation that focuses on issues with a long-term relevance, issues that will play a role in a later project phase or
in future projects.
Specification as a Joint Effort: Development projects can ensure that they head in the direction the customer wants by
doing specification based on the requirement analysis done jointly by the project team and the customer.
Design Rationale: Team can make sure that the foundations are laid for future design changes by making design
documents not restricted to describing the actual design, but also focus on the rationale behind the design and explain
why the particular design was chosen.
Big Picture: People can be introduces to a project without being confronted with a deluge of technical details by
describing the ‘Big Picture’ of the architecture that underlies the system under construction.
Separation of Description and Evaluation: Authors can prevent
loss of credibility by clearly separation description from valuation
in their documents.
Realistic Examples: Abstract material can be explained in a
comprehensible way if the project documents include realistic
examples from the project’s context.
************ [DUVALL-2007], Chapter 1-3*************************************************************
What is continuous integration? A software development practice where members of a team integrate their work
frequently, usually each person integrates at least daily- leading to multiple integrations per day. Each integration is
verified by an automated build to detect integration errors as quickly as possible. This approach leads to significantly
reduce integration problems and allows a team to develop a cohesive software more rapidly.
Rapid Feedback: Continuous integration increases opportunities for feedback. Through it, we learn the state of the
project several times a day. CI can be used to reduce the time between when a defect is introduces and when it is fixed,
thus improving overall software quality.
CI works well with practices like refactoring and test-driven development, because these practices are centered on the
notion making small changes.
What is a Build? It is a compile that may consist
of the compilation, testing, inspection, and
deployment. A build acts as the process for
putting source code together and verifying that
the software works as a cohesive unit.
‘Find problems earlier by building often.’
The purpose of Version Control Repository is to manage changes to source code and other software assets (such as
documentation) using a controlled access repository.
A CI server runs an integration build whenever a change is committed to the version control repository. The CI server will
retrieve the source files and run a build script or scripts.
The Build Script is a single report, or set of scripts, you use to compile, test, inspect, and deploy software. It can be used
without implementing a CI system.
One of the key purposes of CI is produce feedback on an integration build.
Integration build machine is a separate machine whose sole responsibility is to integrate software. It hosts the CI server,
and the CI server polls the version control repository.
Four features required for CI:
1. A connection to a version control repository
2. A build script
3. Some sort of feedback mechanism (such as e-mail)
4. A process for integrating the source code changes (manual or CI server)
Compilation involves creating executable code from your human-readable source.
By using CI system, the integration of the database can be ensured
through a version control repository.
The database source code—Data definition language scripts,
Data manipulation language scripts, stores procedure definitions,
partitioning, and so on—in the same manner as any other source
code in the system.
Different categories of tests run from a CI system to speed up the builds. These categories may include unit, component,
system, load/performance, security, and others.
Automated code inspections (static & dynamic analysis) can be used to enhance the quality of the software by enforcing
rules.
Continuous deployment enables delivering working, deployable software at any point in time. Meaning a key purpose of
a CI system is to generate the bundled software artifacts with the latest code changes and make it available to a testing
environment.
Concise code with well-chosen class, variable, and method names (for instance) is the best documentation. Ci system can
use tools to generate class diagrams and other information, all based on the committed source code in the version control
repository.

Weitere ähnliche Inhalte

Was ist angesagt?

962 sech04
962 sech04962 sech04
962 sech04
aldwal
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
Ian Sommerville
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
Chandan Thakur
 

Was ist angesagt? (20)

Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD Application
 
Ch19 systems engineering
Ch19 systems engineeringCh19 systems engineering
Ch19 systems engineering
 
Software Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse EngineeringSoftware Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse Engineering
 
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design"
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
962 sech04
962 sech04962 sech04
962 sech04
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Aug 2016 Cologne
Aug 2016 CologneAug 2016 Cologne
Aug 2016 Cologne
 
Whitepaper Omnext
Whitepaper OmnextWhitepaper Omnext
Whitepaper Omnext
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
 
Software Generic Design Process.
Software Generic Design Process.Software Generic Design Process.
Software Generic Design Process.
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Ch22 project management
Ch22 project managementCh22 project management
Ch22 project management
 

Ähnlich wie Reading Summary - Agile Documentation + Continuous Integration

3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
Crystal Thomas
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
armitageclaire49
 
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
vickeryr87
 
Software process methodologies and a comparative study of various models
Software process methodologies and a comparative study of various modelsSoftware process methodologies and a comparative study of various models
Software process methodologies and a comparative study of various models
iaemedu
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
Jay van Zyl
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
sweta836730
 

Ähnlich wie Reading Summary - Agile Documentation + Continuous Integration (20)

Governing software process improvements in globally distributed product devel...
Governing software process improvements in globally distributed product devel...Governing software process improvements in globally distributed product devel...
Governing software process improvements in globally distributed product devel...
 
Software copy
Software   copySoftware   copy
Software copy
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 
Project management document control software system
Project management document control software systemProject management document control software system
Project management document control software system
 
Vol 1 issue 2 june 2015
Vol 1 issue 2 june 2015Vol 1 issue 2 june 2015
Vol 1 issue 2 june 2015
 
DevOps
DevOps DevOps
DevOps
 
Print report
Print reportPrint report
Print report
 
Governance of agile SW projects · White Paper
Governance of agile SW projects · White PaperGovernance of agile SW projects · White Paper
Governance of agile SW projects · White Paper
 
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
3784_Streamlining_the_development_process_with_feature_flighting_and_Azure_cl...
 
Building Security in Using CI
Building Security in Using CIBuilding Security in Using CI
Building Security in Using CI
 
Ignou MCA 6th Semester Synopsis
Ignou MCA 6th Semester SynopsisIgnou MCA 6th Semester Synopsis
Ignou MCA 6th Semester Synopsis
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
 
An Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements EngineeringAn Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements Engineering
 
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
1st Reply to Discussion, Project Management (Minimum 250 Words)I.docx
 
software engineering
software engineering software engineering
software engineering
 
Software process methodologies and a comparative study of various models
Software process methodologies and a comparative study of various modelsSoftware process methodologies and a comparative study of various models
Software process methodologies and a comparative study of various models
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
 

Mehr von Artemisa Yescas Engler

Mehr von Artemisa Yescas Engler (9)

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
 
Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...Reading Summary - Software Requirements + Characteristics of Well Written Req...
Reading Summary - Software Requirements + Characteristics of Well Written Req...
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum
 
Reading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementReading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration Management
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles Models
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Reading Summary - Agile Documentation + Continuous Integration

  • 1. ************ [RÜPING-2003], Chapter 1 ************************************************************** Documents describe user requirements, software architectures, design decisions, source code and management issues. Documentation can contribute to the success of a project by making necessary information available to the team members. It can preserve knowledge within a team, and prevent the team from re-inventing things when team members leave and new people join. It can capture expertise gained in one project and make it available to future projects. When knowledge has been committed to paper, it cannot be lost. “Documentation in moderation, aids communication, enhances knowledge transfer, preserves historical information, and fulfils governmental and legal requirements.” –Highsmith Light-but-sufficient approach is favorable because:  Such approach prevents the project team form expending unnecessary large effort on documentation  Light-but-sufficient documentation is more accessible, and therefore more useful, for a team than voluminous documentation “Quality is more important than quantity in project documentation.” / “Documentation is a means, not an end.” A pattern in this sense is essentially a well-proven problem-solution pair, presented in a structured form. Users can look up patterns for their particular problems, apply the solutions, and thereby draw on the general expertise available. A good pattern describes the forces that are associated with a problem, those issues that influence or constrain possible solutions. A pattern offers the rationale behind the solution. Contrast of the Role of Documentation with Face-to-Face Communication
  • 2. Roadmap diagram of Patterns: it sketches the patterns and relationships that hold between them. Target Readers: To ensure that the documents that the project team produce will be appreciated, each document must have a target leadership, and must address these readers in order to prove useful. Focused Information: Documents can be prevented from meandering and getting nowhere by having a clear and identifiable focus on a particular topic, making it concise and straightforward. Individual Documentation Requirements: Unnecessary documentation requirements can be avoided by defining documentation requirements individually. Documentation Portfolio: Teams can reuse the knowledge about which documents might be required in their projects by using a documentation portfolio that describes which documents might be necessary in software project, and their scope. In an organization sets up such a portfolio, projects can choose those documents they need, checking the necessity of each candidate document individually. [Management, Specification, Design, Migration, Test, Usage, Operations] Focus on Long-Term Relevance: Projects can avoid producing documentation that expires too soon by making documentation that focuses on issues with a long-term relevance, issues that will play a role in a later project phase or in future projects. Specification as a Joint Effort: Development projects can ensure that they head in the direction the customer wants by doing specification based on the requirement analysis done jointly by the project team and the customer. Design Rationale: Team can make sure that the foundations are laid for future design changes by making design documents not restricted to describing the actual design, but also focus on the rationale behind the design and explain why the particular design was chosen.
  • 3. Big Picture: People can be introduces to a project without being confronted with a deluge of technical details by describing the ‘Big Picture’ of the architecture that underlies the system under construction. Separation of Description and Evaluation: Authors can prevent loss of credibility by clearly separation description from valuation in their documents. Realistic Examples: Abstract material can be explained in a comprehensible way if the project documents include realistic examples from the project’s context. ************ [DUVALL-2007], Chapter 1-3************************************************************* What is continuous integration? A software development practice where members of a team integrate their work frequently, usually each person integrates at least daily- leading to multiple integrations per day. Each integration is verified by an automated build to detect integration errors as quickly as possible. This approach leads to significantly reduce integration problems and allows a team to develop a cohesive software more rapidly. Rapid Feedback: Continuous integration increases opportunities for feedback. Through it, we learn the state of the project several times a day. CI can be used to reduce the time between when a defect is introduces and when it is fixed, thus improving overall software quality. CI works well with practices like refactoring and test-driven development, because these practices are centered on the notion making small changes. What is a Build? It is a compile that may consist of the compilation, testing, inspection, and deployment. A build acts as the process for putting source code together and verifying that the software works as a cohesive unit. ‘Find problems earlier by building often.’ The purpose of Version Control Repository is to manage changes to source code and other software assets (such as documentation) using a controlled access repository. A CI server runs an integration build whenever a change is committed to the version control repository. The CI server will retrieve the source files and run a build script or scripts. The Build Script is a single report, or set of scripts, you use to compile, test, inspect, and deploy software. It can be used without implementing a CI system. One of the key purposes of CI is produce feedback on an integration build. Integration build machine is a separate machine whose sole responsibility is to integrate software. It hosts the CI server, and the CI server polls the version control repository.
  • 4. Four features required for CI: 1. A connection to a version control repository 2. A build script 3. Some sort of feedback mechanism (such as e-mail) 4. A process for integrating the source code changes (manual or CI server) Compilation involves creating executable code from your human-readable source. By using CI system, the integration of the database can be ensured through a version control repository. The database source code—Data definition language scripts, Data manipulation language scripts, stores procedure definitions, partitioning, and so on—in the same manner as any other source code in the system. Different categories of tests run from a CI system to speed up the builds. These categories may include unit, component, system, load/performance, security, and others. Automated code inspections (static & dynamic analysis) can be used to enhance the quality of the software by enforcing rules. Continuous deployment enables delivering working, deployable software at any point in time. Meaning a key purpose of a CI system is to generate the bundled software artifacts with the latest code changes and make it available to a testing environment. Concise code with well-chosen class, variable, and method names (for instance) is the best documentation. Ci system can use tools to generate class diagrams and other information, all based on the committed source code in the version control repository.