1 / 11

Agile Development Construction

Agile development should be strategically implemented across the company/development of the project. It is the process of improving and simplifying the design of existing code without changing its behavior.

Download Presentation

Agile Development Construction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Module 7: AgileConstruction https://www.ifourtechnolab.com/custom-software-development

  2. Agile Construction • Agile development should be strategically implemented across the company/development of the project • Agile methodology construction blocks involves, • Environment • On site customer • Self Organization • Collective Code Ownership • Shared Understanding • Simple Design • Refactoring • Continuous Integration • Pair Programming • Testing & QA. https://www.ifourtechnolab.com/custom-software-development

  3. Simple Design • Simple design = free of code smells • Code smell is any symptom in code indicating potential deeper problem & makes the system more difficult to maintain • e.g. Code duplication, Over engineering, Large classes, Dead code, Uncommunicated names. https://www.ifourtechnolab.com/custom-software-development

  4. Refactoring • Process of improving and simplifying the design of existing code without changing its behavior • Allows automated test to be written • Makes the application more maintainable • Legacy applications often needs to be re-factor in order to strip away dependencies so that automated tests can be performed. https://www.ifourtechnolab.com/custom-software-development

  5. Continuous Integration • Basic CI Workflow https://www.ifourtechnolab.com/custom-software-development

  6. Pair Programming • Two heads are better than one – Pair programming • Two developers share the duty of completing one user story task • Driver & Navigator model • Driver – Typing the code • Navigator – Reviewing the code, Thinking about next step. https://www.ifourtechnolab.com/custom-software-development

  7. Quality Assurance • Quality assurance is essential when creating software • Having great practices for gathering requirements, working closely with client and understanding all user story without getting the right product is of no use! • Agile promotes TDD and UAT. https://www.ifourtechnolab.com/custom-software-development

  8. Quality Assurance • “Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle” • It’s a practice that adds reliability to custom software development process. • TDD is a technique where you write your test cases before you write any implementation code. • TDD is a technique for improving the software’s internal quality. • TDD provides , • Good design • A balanced division of functionalities • Smooth evolution • Maintainability • Tests provide a specification of “what” a piece of code actually does https://www.ifourtechnolab.com/custom-software-development

  9. Quality Assurance (Cont.) • A test is not something you “do”, it is something you “write” and run once, twice, three times, etc. • It is a piece of code • Testing is therefore “automated” • Repeatedly executed, even after small changes https://www.ifourtechnolab.com/custom-software-development

  10. TDD – Life Cycle Requirements Requirements Design Design Testing Implementation Implementation Testing Deployment& Maintenance Deployment& Maintenance https://www.ifourtechnolab.com/custom-software-development

  11. Conclusion • Implement agile methodology across the company with Agile Construction Blocks • No code will go in production without associated test cases • Refactoring helps to improve maintainability • CI helps for successful increments • TDD helps to improve quality https://www.ifourtechnolab.com/custom-software-development

More Related