32 Ideas for IT innovationposted by Anna Mar, September 19, 2011
Is there a repeatable process for IT innovation? Or is innovation something intangible that comes in a flash of genius?
TRIZ is a problem solving methodology developed by Russian engineer Genrich Altshuller (shortly before he was imprisoned for 25 years in 1950 by Stalin). It is based on the idea that there are 40 Patterns of Inventive Thinking that lead to innovation.
TRIZ is the product of a large scale study of global patent literature. It is widely used by research labs, product development teams and engineers. However, its use by IT professionals has been somewhat limited. The reason — many of the 40 Patterns of Inventive Thinking relate to material properties and physical processes that have little relevance to IT.
The following is the subset of the TRIZ inventive principles that are applicable to IT (with examples):
1. Segmentationa. Divide an object into independent parts.
Modular software design vs. big ball of mud
Mainframe computer vs. personal computers
b. Make an object easy to assemble / disassemble.
Software releases, plugins
c. Increase the degree of segmentation.
Software / hardware virtualization
2. ExtractionRemove or single out a problematic part or property from an object.
Retire a high maintenance legacy application
Remove a crashed server from a server pool (failover)
3. Local qualitySingle out specific parts of an object and then optimize them.
Optimization of a procedure, API, application etc...
4. AsymmetryChange the shape or properties of an object from symmetrical to asymmetrical
Callback-style of programming
5. Merginga. Merge identical or similar objects
Replace redundant code with common APIs
b. Merge operations or processes in time
6. Universalitya. Make a object perform multiple functions
Common IT services such as ESB, workflow etc..
IT standards such as HTML, SOAP, ITIL etc..
7. NestingPlace objects inside other objects.
Social media apps
8. CounterweightWhen a system results in an undesirable force in one direction use a counterweight for balance.
Traction control system
9. Prior counteractionWhen it is necessary to perform an action with both harmful and useful effects — the harmful effects should be mitigated.
Maintenance message for website outages.
10. Prior ActionPreparing for an anticipated event.
Restructure data for real-time reporting (multidimensional data models)
Preload content for mobile devices
11. Cushion in advancePrepare emergency means to compensate for the relatively low reliability of an object.
Prepare for disasters (BCP — business continuity planning)
Make node failure transparent (i.e. cloud computing)
12. EquipotentialityMake objects that have equal potential.
Distributed computing (i.e. peer-to-peer)
13. InversionDo things the opposite way, turn a process upside-down.
Push vs. pull integration
Dependency injection (a programming pattern — objects don't know about their dependencies)
14. Dynamicsa. A force applied to a system is felt equally by all parts.
b. Make objects and processes flexible and adaptive.
Exception handling — graceful recovery from failure
Complex event processing — responding only to meaningful events
15. Partial or excessive solutionsa. Perfection can be difficult to achieve (partial solutions are often better).
The 80/20 rule of project management — prioritize change requests etc..
b. Excessive solutions often have benefits.
Hardware over-capacity helps to buffer an organization from DDoS attack
16. Another dimensionUse additional dimensions of space.
Multi-dimensional data models
Multi-dimensional data structures
Multidimensional visualization (e.g. for reporting)
17. Periodic actionInstead of continuous action, use periodic actions.
Batch integration and processing
Time-to-live for services such as DNS (periodic updates)
Sleep operations such as Thread.Sleep()
18. Continuity of useful actionContinuous (non-stop) work.
Reselling or donating idle processing cycles (e.g. SETI@home).
Continuous improvement process — an ongoing effort to improve services and processes
Continuous integration — continuous process of applying quality control improvements
19. Rushing throughConducting potentially harmful processes at high speed to minimize impact.
High speed software deployment (e.g. auto deployment)
20. Blessing in disguiseUse harmful factors to achieve a positive effect.
Using the heat from a data center to heat a greenhouse
21. FeedbackIntroduce feedback to improve a process or object.
Social media monitoring
Customer / employee surveys
Processes that incorporate constant feedback
22. IntermediaryUse an intermediary object or process.
B2B exchanges (e.g. stock markets)
ESB / ETL
23. Self-serviceObjects and processes that are self-reliant.
Self-optimizing tools and processes
Self-service tools for customers, employees and partners
24. CopyingReplace an expensive object with inexpensive copies.
Prototype design pattern — creating objects by coping a prototype
Cloning objects, applications, services etc..
Copy and paste programming
25. Cheap short-lived objectsWhen something is expensive or problematic, you might be able to replace it with something cheaper and temporary.
Trial subscriptions / accounts
Disposable email addresses
Disposable digital devices
26. Flexible film or thin membranesThin membranes that have useful properties (i.e. inexpensive, flexible)
Thin digital devices
Wrapper design pattern — a thin layer of code that changes the functionality of a bigger object
27. Porous materialsPorous materials let some things through but block others.
28.Color changesChange the color or transparency of an object.
User interfaces (e.g. reports with red, amber, green status)
29. HomogeneityMake things consistent.
Standard plugs and connections
30. Discard and recovera. Delete unneeded objects.
Garbage collection (deleting unneeded memory)
Data retention policies (deleting data from a database when certain conditions are met)
b. Restore objects.
Rebooting a server
Resubmitting failed transactions
Recycle bin for deleted files
31. Parameter changesChange the properties of an object.
Skinnable user interfaces
Passing parameters to commands
Parameters of APIs
32. Phase transitionsModify a object's transitions from one state to another.
Attract, hire, train, assess and reward employees.|
What project managers can learn from investment bankers.|
Everything you wanted to know about commodities but were afraid to ask.|
Lists of business strategies and tactics.|