32 Ideas for IT innovation
posted by Anna Mar, September 19, 2011Is 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. Segmentation
a. 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. Extraction
Remove 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 quality
Single out specific parts of an object and then optimize them.Optimization of a procedure, API, application etc...
4. Asymmetry
Change the shape or properties of an object from symmetrical to asymmetricalAsynchronous communication
Callback-style of programming
Asynchronous processing
5. Merging
a. Merge identical or similar objectsReplace redundant code with common APIs
b. Merge operations or processes in time
Parallel processing
6. Universality
a. Make a object perform multiple functionsCommon IT services such as ESB, workflow etc..
b. Standardization
IT standards such as HTML, SOAP, ITIL etc..
7. Nesting
Place objects inside other objects.Nested classes
Social media apps
Sub-processes
8. Counterweight
When a system results in an undesirable force in one direction use a counterweight for balance.Traction control system
9. Prior counteraction
When 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 Action
Preparing for an anticipated event.Restructure data for real-time reporting (multidimensional data models)
Preload content for mobile devices
11. Cushion in advance
Prepare 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. Equipotentiality
Make objects that have equal potential.Distributed computing (i.e. peer-to-peer)
13. Inversion
Do 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. Dynamics
a. A force applied to a system is felt equally by all parts.Load balancing
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 solutions
a. 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 dimension
Use additional dimensions of space.Multi-dimensional data models
Multi-dimensional data structures
Multidimensional visualization (e.g. for reporting)
17. Periodic action
Instead of continuous action, use periodic actions.Batch integration and processing
Time-to-live for services such as DNS (periodic updates)
Job schedulers
Sleep operations such as Thread.Sleep()
18. Continuity of useful action
Continuous (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 through
Conducting potentially harmful processes at high speed to minimize impact.High speed software deployment (e.g. auto deployment)
20. Blessing in disguise
Use harmful factors to achieve a positive effect.Using the heat from a data center to heat a greenhouse
21. Feedback
Introduce feedback to improve a process or object.Social media monitoring
Customer / employee surveys
Processes that incorporate constant feedback
22. Intermediary
Use an intermediary object or process.B2B exchanges (e.g. stock markets)
ESB / ETL
23. Self-service
Objects and processes that are self-reliant.Self-testing code
Self-modifying code
Self-optimizing tools and processes
Self-service tools for customers, employees and partners
24. Copying
Replace 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 objects
When something is expensive or problematic, you might be able to replace it with something cheaper and temporary.Sessionless authentication
Sessionless cookies
Sessionless API
Trial subscriptions / accounts
Disposable email addresses
Disposable digital devices
26. Flexible film or thin membranes
Thin membranes that have useful properties (i.e. inexpensive, flexible)Proxy server
Thin client
Thin digital devices
Wrapper design pattern — a thin layer of code that changes the functionality of a bigger object
27. Porous materials
Porous materials let some things through but block others.Filter
Firewall
Session authentication
28.Color changes
Change the color or transparency of an object.User interfaces (e.g. reports with red, amber, green status)
29. Homogeneity
Make things consistent.Standard plugs and connections
Standard interfaces
Standard APIs
30. Discard and recover
a. 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
Undo functionality
Resubmitting failed transactions
Recycle bin for deleted files
31. Parameter changes
Change the properties of an object.Skinnable user interfaces
Passing parameters to commands
Parameters of APIs
Integration parameters
32. Phase transitions
Modify a object's transitions from one state to another.Transitional architecture
Data flow
Process flow
Fail fast is a business strategy that quickly, cheaply and safely validates approaches before committing to a big investment. |
Recently on Simplicable
14 Best Practices for Customer Service and Support Processesposted by Anna MarSuperior customer service is easiest and cheapest way to build competitive advantage. |
6 Consulting Circus Tricksposted by John SpaceyIT consulting is a tough industry that knows how to get paid. |
65 Business Risks (List)posted by Anna MarRisk is celebrated as the brave and alluring basis for economic progress. But risk has a dark side ... |