17-ARID-3667 PRACTICES DEFINITIONS ATDD ATDD is closely related to test-driven development (TDD). It differs by the emphasis on developer-tester-business customer collaboration. ATDD encompasses acceptance testing, but highlights writing acceptance tests before developers begin coding. Agile modeling Agile modeling (AM) is a methodology for modeling and documenting software systems based on best practices. Its better fit in fast changing (AM) environment. Agile testing Agile testing aligns with iterative Development Methodology in which requirements develop gradually from customers and testing teams. It is a continuous process rather than being sequential. Backlog A product backlog is a list of the new features, changes to existing features, bug fixes, infrastructure changes that a team may deliver in order to achieve a specific outcome. The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment and the work needed to deliver that functionality into a “Done” Increment. Behavior-driven behavior-driven development (BDD) is a process that encourages collaboration among developers, QA and non-technical or business development participants in a software project. (BDD) continuous continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day. integration (CI) A cross-functional A cross-functional team is a group of people with different functional expertise working toward a common goal. Stand-up A stand-up is a meeting in which attendees typically participate while standing. The discomfort of standing for long periods is intended to keep the meetings short. Domain driven Domain driven design basing complex designs on a model of the domain. Placing the project's primary focus on the core domain and domain logic. design Iterative and Iterative and incremental software development is a method of software development that is modeled around a gradual increase in feature incremental additions and a cyclical release and upgrade pattern. software development low-code A low-code development platform (LCDP) is used to create application software through graphical user interfaces and configuration. development platform (LCDP) Pair programming Pair programming is a process in which two programmers work together. One, the driver, writes code while the other, the observer reviews each line of code as it is typed in. Planning poker Planning poker, also called Scrum poker, is a gamified technique for estimating, mostly used to estimate effort or relative size of development goals in software development. refactoring Code refactoring is the process of restructuring existing computer code— changing the factoring—without changing its external behavior. retrospective The retrospective is a collaborative process among all members, including the team, the product owner, and the Scrum Master. All team members identify what went well and what could be improved. Scrum events This is the event that kick starts each Sprint and is where the Product Owner and Development team discuss which Product Backlog Items (PBI’s) will be included in Sprint. A Sprint Review usually takes place on the last day of the Sprint and allows you the opportunity to show the “done” Increment to stakeholders. Sprint Retrospective is when the Scrum team reviews what could be improved for future Sprints and how they should do it. Specification by Specification by example (SBE) is particularly successful for managing requirements and functional tests on large-scale projects of significant example (SBE) domain and organizational complexity. Story-driven Story-driven modeling is an object-oriented modeling technique. Class diagrams describe the static structure of a program, i.e. the building blocks modeling of a program and how they relate to each other. Test-driven Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements development are turned into very specific test cases, then the software is improved so (TDD) that the tests pass timeboxing In time management, timeboxing allocates a fixed time period, called a timebox, within which planned activity takes place. User story In software development and product management, a user story is an informal, natural language description of one or more features of a software system. Velocity tracking The velocity metric is used for planning sprints and measuring team performance.