Why Spike? The XP site states that the purpose of a spike is “to figure out answers to tough technical or design problems”. Spikes are considered useful when a more accurate time (and cost) estimate is required for an upcoming piece of work. Unsurprisingly the practice of spiking is frequently viewed as a method for improving planning accuracy, but it’s got more to offer:
User Stories. Retrospectives. Lean Enterprise Academy - Home. Methods. Outside-In Software Development. BDD. TDD. Feature Injection: three steps to success. Feature Injection is a business analysis process framework that allows teams to exploit the value of the traditional business analysis techniques in projects involving frequent iterative deliveries, such as the ones implemented using agile and lean processes.
It focuses test-driven-development and behaviour-driven-development on delivering business value and ensures that a team only builds features and projects that deliver value, avoiding the wastes of scope creep and just-in-case code. This article is a high level introduction of Feature Injection and related techniques. We explain the key elements of the framework and support them with a realistic example. To keep the article relatively short, we also provide references for further investigation instead of going into details of individual tools and techniques. SOLID (object-oriented design) In computer programming, SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) is a mnemonic acronym introduced by Michael Feathers for the "first five principles" named by Robert C.
Martin in the early 2000s that stands for five basic principles of object-oriented programming and design. The principles when applied together intend to make it more likely that a programmer will create a system that is easy to maintain and extend over time. The principles of SOLID are guidelines that can be applied while working on software to remove code smells by causing the programmer to refactor the software's source code until it is both legible and extensible.
It is part of an overall strategy of agile and adaptive programming. GRASP (object-oriented design) General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, consists of guidelines for assigning responsibility to classes and objects in object-oriented design.
Larman states that "the critical design tool for software development is a mind well educated in design principles. It is not the UML or any other technology. " Thus, GRASP is really a mental toolset, a learning aid to help in the design of object-oriented software. Agile Modeling (AM) Home Page: Effective Practices for Modeling and Documentation.
Xplor/impediments/100Impediments.pdf. Www.netobjectives.com/files/anti-patterns-table.pdf. Agile.