A Mindset for Innovation in Software Development - Part 1: Types
How we can map product development and innovation strategies in the software development industry focusing on techniques to encourage innovation.
Executive Summary
Whether we are supporting the core technology of our Company’s Products or Implementing or Improving core Applications and Systems that support our Company’s Business Operations, Innovation is a critical aspect of every CIO & CTO’s responsibility.
This Blog Article will cover the following concepts in several parts, as applied to Innovation:
Types of Innovation
Approaches to Innovation
Techniques to Encourage Innovation
Fostering an Innovative Mindset
Types of Innovation
When most people think of Innovation, they think of either improving or creating a new Product, Application, or System. However, in some cases what is really needed is to improve or create new Processes or even Business Models, which may or may not include a Technology component to them.
Product Innovation
Product Innovation focuses on either an external Product that we market and sell to our Clients, or internal Business Applications & Systems that support our core operations and business units.
Core Product
As a Technology Executive, we may be asked to support Product Management with technology improvements or new ideas. Likewise, if we are a Technology Company, like say a Software Company, we may own the Product Management function, with input from the rest of the business.
Business Applications & Systems
As a Chief Information Officer (CIO), often your Innovation focus is going to be directed towards implementing new Systems and improving existing Systems, which support the Business Operations.
Examples:
Replacing an existing ERP or Financial System with a new ERP or Financial System, because the Organization has out-grown its capabilities.
Adding a new module to an existing Business Application, to extend or improve it. This could include items like:
Adding Purchase Order Module to your existing ERP System.
Adding a new Integration with a 3rd Party.
Adding new Custom Reports to a Business Application.
Adding a Mobile Interface to an existing Business Application.
Process Innovation
While not as “sexy” as Product Innovation, often this can have more short term and noticeable results. In order to do this effectively, you need a Business Leader to be the Champion for making these changes, as well as a skilled Business Analyst / Facilitator to lead the discussions and ask the open ended questions.
Things to Consider
Processes that are missing, ad-hoc, incomplete, or “Tribal knowledge”
Processes that are too complex, have too many steps, and need to be streamlined
Processes that are “Push Model”, where the Consumer of the information can become overwhelmed by the volume of information sent to them
Processes that aren’t being followed. The question is “Why?”
Processes that are outdated or obsolete, and haven’t been updated or eliminated
New Processes that haven’t been well defined or documented in any way
Expected changes in the Business Model, which will directly impact your Processes and Procedures
Class Responsibility Collaboration (Process) Modeling
When working with a Business Team, one of the biggest challenges that I’ve seen is that the IT Business Analyst will automatically start with using a Tool (Visio, Lucid Charts, etc.) to start diagraming the process that is being described.
This causes three problems:
It takes too long to model things on the fly,
The Business Users aren’t “Involved” directly in the actual design,
So, you end up oftentimes with multiple cycles going back and forth, or worse missing steps in the Process being Diagramed - because the Users weren’t engaged.
Class Responsibility and Collaboration (CRC) Modeling is an older low-tech technique first used in 1989 to describe an application, system, module, or process in terms of how it interacts with other components and “Actors”.
Class - Who or What I am?
[F-#] Form / Sub-Form / Dialogue Box
[R-#] Report / View / Filter
[B-#] Business Process / Micro Service
[S-#] System
[P-#] Person (Actor) - Who or What
[T-#] Task to Perform
Recommendation: use Color Coded 3” x 5” Index Cards, where each color represents a type of Class. For example:
Red = Form
Yellow = Report
Green = Business Process
Blue = System
Purple = Person or Actor
White = Task
Responsibility - What do I know?
Field Labels / Column Labels
Data Type
Required or Optional
Validation Rules
Security Settings
Etc.
Collaboration - How do I work with other Objects / Actors, or even myself?
Methods and Functions
Create, Read, Edit, Save, Delete
Call another Class / Micro-Service / Business Process
Change Sort Order, Change Filters, Identify Missing Required Fields, etc.
Passing information to another Class / Micro-Service / Business Process
Materials:
Color Coded 3” x 5” Index Cards
Enough Sharpie Pens for everyone
A large Conference Table to work on
Steps:
Hand out each Color to one Business Subject Matter Expert (SME). If you have a large group, then break up the Tasks, then Forms, then Reports into two people. It is important that everyone participates.
As the facilitator you will not write anything.
Give the instructions to the Team. As you ask the questions, the person with the right color of card will write the Title of the Object at the top of the card, along with a Designator:
F-1 = Form 1, F-2 = Form 2, R-5 = Report 5, etc.
This is very important, as it will allow you to quickly diagram things on a piece of paper, which later you can turn into a Visio / Lucid Charts diagram.
Now start asking the questions…
Who is the first Person (P-1) in this Process?
What do they do? What systems do they use?
What Form or Report do they see first?
What Tasks do they perform?
And just keep going, asking who is the next Person (P-2) involved?
Etc.
Allow the Business SME’s to interrupt and point out things that they just remembered - steps missing or in the wrong order
Let the Business SME’s move the cards around, as needed. You want them to do this, so that it is their Process and not yours.
Then when you are done, walk through the entire Process Flow, just to make sure the team hasn’t missed anything.
Then take out a sheet of paper and document the codes:
P-1 → S-1 → F-1 → R-1 → Splits to F-2 and F-3, etc.
I also recommend taking a photo of the Process layout as well.
Now you can lay this out at your leisure and create your fancy Visio or Lucid Charts Diagram.
Business Model Innovation
This is normally the type of Innovation that the CEO or the Executive Leadership Team would initiate or drive. However, in today’s world there is often a Technology component involved in this.
This can include either improving upon your Existing Business Model through new approaches or new geographical markets or industries for your existing products. Or thinking outside the box and creating brand new offerings (products and services), which fundamentally change your business model and approach.
Conclusion
In this Blog Article we have covered the 1st Part - which is about the Types of Innovation. In the next Blog Articles we will cover the following:
Approaches to Innovation
Techniques to Encourage Innovation
Fostering an Innovative Mindset
So, go forth and conquer… create the New, Improve upon the Existing, and foster a Culture of Innovation.
David is a VP and Agile Coach within ArkusNexus, having served in multiple CIO, VP of Software Development roles. He assists our Sales, Marketing, and Operations Teams on critical initiatives.