My Approach

I here outline a general approach which I've found to be very effective in designing and deploying new mathematical technologies, and for problem solving in general. It is designed to ensure a high level of innovation, sophistication, and expediency and to avoid potential pitfalls and costly mistakes.

Some of these steps may seem counter-intuitive, so this list comes with a hidden FAQ. Click on [Show Questions] anywhere on this page to embed or subsequently remove a list of questions. Clicking on any question will show its answer and further rationale for this approach.

The approach is more organic than this list implies. First, every project will have different priorities. Second, it is frequently useful to fall back to earlier stages to keep the big picture in mind and exploit any shortcuts, innovations, or opportunities which may present themselves.

First

Learn the Situation. Know the problem, look for synergies.

Even when the problem and solution may seem straight-forward, start by taking time to learn more about the many aspects of the situation: the people involved, the objectives, the science and available information, and the general state of affairs.

Isn't a narrow focus on the problem better for analysis?
Each tidbit of information could unexpectedly help later, or lead to a novel solution or new opportunity. These tidbits are easy to acquire in abundance and in short order with a little inquiry and cooperation. They are the seeds of innovation. As for synergy, it is a simple fact that you cannot line up two birds if you only know about one of them.

It is often worthwhile to acquire relevant expertise and learn the local, resident wisdom and best practices.

Why not just focus on the mathematics?

It's easier for communication, and knowing the how and the why allows for better decision making and ultimately better results. It is far too easy to leap without looking right into a solution, the results of which are often less than ideal or fail to take into account the unwritten or unstated realities of the situation. Knowing how the technology is to be used and how its purpose may change will let me choose a design which can be built upon. Every algorithm behaves differently, and knowing the application, the nature of the available information, and even the social dynamics of its use can all help when it comes to designing the technology and choosing the best options.

Focus for now on the big picture and real-life details. Examining existing solutions that are present or available elsewhere can and should wait.

Shouldn't you start by looking at existing solutions and what has worked elsewhere?
It seems the obvious approach, and many do start this way. Yet, I have found it essential for innovation to delay both learning about how others have tackled the problem and drawing too much from past experience. There is a real danger to become locked into a certain way of thinking about things, especially when you are learning the details about the situation for the first time. Temporary avoidance keeps the approach fresh, the perspective wide, and innovative breakthroughs more likely.
[Show Questions]

Second

Think deeply. Set the stage for creative innovation.

Dedicate time to think about the interplay of all aspects you've learned about the situation. Use divergent thinking to explore many possible solutions, allowing the mind to wander in diverse environments conducive to innovation and creativity.

Creativity? Why is that useful for mathematical technology?
It may seem bizarre to talk about creativity in mathematics, which is often simply associated with logic. In practice, intuition, inspiration, and lateral thinking, all creative in nature, are critical factors when looking for the best solutions to hard problems. Famous examples include Archimedes' "Eureka!" moment, Einstein's breakthrough in relativity, and Hamilton's carving of quaternions (a 4D mathematical object) into a bridge in Dublin. Though the breakthroughs may be minor in daily practice, their impact on finding solutions is well worth the investment.

While this may appear at a glance to be idle behaviour, it is by far the most productive part of the process. Inspiration and intuition will occur more frequently, leading to better overall results achieved faster. At times, solutions will present themselves which entirely replace the need for a complex approach or a costly process.

What are some examples that can appear idle?
Some time in isolation is critical, as is rest, and I find walking especially beneficial. These activities may appear idle, but the mind is at its most active. Isolation permits deeper thought. In the early stages living in your own head is necessary if you want to bring something unique to the table. Sufficient sleep is required for a more active mind when awake. For those with the knack, closed eyes at rest allows for complex visualizations of both geometries and concepts. Walking gets the blood flowing and provides a change of environment which can stimulate new ideas.

Force your paradigm and perspective to shift frequently. Take lots of notes. The mind is at its most creative on first exposure to a problem and when the perspective is fresh, but it is always useful to take a step back. Revisit this approach from time to time, and whenever progress seems slow.

[Show Questions]
Third

Sketch out ideas. Examine benefits, identify risks, and prioritize.

Use "back of the envelope" mathematics and technical design, pen and paper or whiteboard work, and sketch out the better-seeming ideas. Some will be easier to implement, and some will work better in combination. Combined with extensive knowledge of the real world situation, it is possible to loosely predict the impact each approach will have.

Often, a new approach or new way of thinking will emerge, or require a method of attack you are not familiar with. Explore these a little more and outline a few methods or algorithms that could work.

Isn't there a risk of re-inventing the wheel?
Sometimes, yes. However, I've almost always found it worthwhile, especially since I take but little time to develop each concept. First, it tells me where to look for more advanced wheels. Second, since I've conceived of the idea in the context of the problem, I have a better idea of its possible other uses, especially related to the matter at hand, and will have an inclining as to which variety might work best. For instance, I would perhaps see the possibility of a water wheel, which could be harder to conceive of if you had only seen wheels on bicycles or if you knew that wheels were useful but didn't know which to use or how. Third, it allows me access to more innovative thinking, as I can more easily think of variations on what the wheel could have been, and how wheel development may have progressed otherwise.

At the end of this process, you should have a handful of good ideas for creating a solution, and know how you would go about doing so, barring what you'll learn in the next stage.

[Show Questions]
Fourth

Investigate further. Learn from previous solutions.

Look carefully at existing solutions that are either already in place or have been used in similar cases elsewhere. Study the most promising methods enough to understand how well they might perform, using the intuition gained in previous steps as a guide.

Explore how possible modifications to the fundamental algorithms might better deal with the situation or with available information. Theory knowledge, intuition, and experience are important. While strengths in one can offset weakness in another, it is best to work with a team. These skills help guide understanding of the pros and cons of each method and its variants and to estimate the feasibility of each.

Look for relevant technologies and if existing solutions can be re-purposed for quicker implementation. Estimate the strengths and weaknesses of your options so you can proceed to the next stage.

How many options should be collected?
It depends on how much time you have and the overall value a better choice could have in solving real, everyday problems. You need to weigh being able to start implementing the easy solutions sooner with having more options and therefore being more likely to find a better or faster way of doing things. You can (and should) always come back to this and other stages once you start implementation. That said, three or four good choices, not counting the worst options, is a good place to stop and avoid decision overload. However, I personally find it very easy to come up with many such choices. If you have any trouble finding ideas, do not force things, two is enough.
[Show Questions]
Fifth

Assess what is possible. Develop a plan.

Use intuition and knowledge from previous stages to select from the available options so only the best or most feasible remain. Factor in your uncertainties, and keep options available for testing if doing so is feasible.

Determine how the best options can be developed, and estimate the time, uncertainty, and payoff of each major step.

Communicate with relevant experts and stakeholders to develop a technology roadmap. List available options, recommend a plan of attack, and state strengths and weaknesses where choices are to be made. Iterate through previous stages if and when appropriate, and develop the plan further once decisions are made.

How long does all of this take? It sounds like forever!
The whole process, from investigation to plan (Stage I to V) usually takes from two days to two weeks, depending on the complexity of the project or the amount of detail in the roadmap. Informally, it can be done in a single afternoon. It is always possible to come back to any stage and include more detail, so an agile approach and iterative implementation work well.
[Show Questions]
Sixth

Implement. Enact the plan.

The implementation will be different for each project, and can involve taking on various roles and team structures according to the situation. Enact, iterate, test, research, debug, synthesize, analyse, and/or manage as appropriate.

A little wisdom will help tremendously:
  • Focus on the problem.
  • Always be more than willing to answer or ask questions.
  • Constantly look for improvements and shortcuts (and set aside time for this).
  • Advocate sharing advice, criticism, and encouragement.
  • Never take things personally (even when intended that way).
  • Go to where the problem leads, learn as required.
  • Work with the team. Help as effectively as possible.
  • Communicate often, design and discuss in collaboration, but require isolation to focus on in-depth technical or theoretical work.
[Show Questions]