In the Enteprise world, a huge portion of development work isn't all that innovative. A lot of it is merely putting existing knowledge into code. So what does that mean for our approach?
In my Six Sigma days, we used a method called "ICRA" to design high quality solutions.
Technically, this process was a funnel, reducing degrees of freedom as time progressed. We can formidably argue about whether such a funnel is (always) appropriate in software development or whether it's a better mental model to consider that all of them run in parallel at varying degrees, (but that's a red herring.) I would like to salvage the acronym to discriminate between four different types of development activity:
Activity | Content | Example |
---|---|---|
Innovate | Fundamental changes or the creation of new knowledge to determine which problem to solve in what way, potentially generating a range of feasible possibilities. | Creating a new capability, such as "automated user profiling" to learn about target audiences. |
Configure |
Choosing solutions to a well-defined problems from a range of known options. Could include cherry-picking and combining known solutions. |
Using a cookie cutter template to design the new company website. |
Realize | Both problem and solution are known, the rest is "just work", potentially lots of it. | Including a 3rd party payment API into an online shop. |
Attenuate |
Minor tweaks and adjustments to optimize a known solution or process.
Key paradigm is "Reduce and simplify". |
Adding a validation rule or removing redundant information. |
No comments:
Post a Comment