The Major Five Principles of the TgpMethodology
Collaboration with BusinessProfessionals Creating a VisualSharedModel - The BusinessProfessionals take direct responsibility for the generating and maintaining of a shared model with developers. The shared model uses business terms and handles the dynamics in the flexible zones of the software. The shared model has an explicit graphical visualization (graphic editor) that is based on the TgpArchitecture and promotes the collaboration with the BusinessProfessionals , See also the TgpProcess.
SeparationOfDeclarative from Imperative - TgpArchitecture divides between the declarative and the imperative parts of the software. It creates a declarative framework which can be shaped and used by BusinessProfessionals and developers. The architecture is characterized as a combination of modularity and safety, due to the plug-in, declarative, confined environment. The declarative part can be easily presented using the visual shared model.
FlexibilityZonesArchitecture - Flexibility zones are defined in evolving business areas, in which future requirements are expected to accumulate. TgpArchitecture uses plug-in architecture to create flexible zones so that adding functionality will be by software extension rather than modification. The flexible zones can fulfil future requirements without the need to change the system. The zones are collections of replaceable components, which are easily adjustable and based upon stable interfaces. The architecture is characterized by a combination of modularity and safety, due to the plug-in, declarative, confined environment.
IncrementalDevelopment - The TgpProcess aims for a rather quick system setup, followed by a continuous extension and maintenance process. In fact, most of the development is made in this mode. The extension-maintenance cycle is incremental: requirements dispatching, adding new code and Organic Testing.
OrganicTesting - TGP suggests building a set of AutomaticTesting, created and maintained in collaboration with the BusinessProfessionals. The set of automatic tests are run before every "check-in" of new code. Organic Testing is another way TGP takes advantage of the BusinessProfessionals expertise. Organic Testing gives the developers another dimension of flexibility, the freedom to change the code without the fear of breaking working functionality.
In different situations these principles can be used independently in order to make the development process more efficient. However, using a combination of the principles creates a synergy, where each of the aspects can support and motivate the others.
-- ShaiBenYehuda and OriInbar
CategoryAgileMethodology AgileProcesses AgileSoftwareDevelopment