Showing posts with label processes. Show all posts
Showing posts with label processes. Show all posts

Wednesday, July 02, 2008

What Engineer Simplicity does

Disassembled cellphoneThere are a lot of steps to turn an idea into a product. Each step requires care and attention to ensure that the best product is created. Below is the process that I follow to create an electronic product. It is all laid out nicely in a linear way, but in reality a lot of the steps are occurring in parallel. Also, any step could be the starting point, it is really dependant on the product and client requirements.

  1. Initial engineering report

    This is a short report which gives everyone some preliminary ideas to work from. I like to start with this as it is a small investment in testing the idea, and provides a lot of information for the path forward.

  2. Detailed investigation

    The initial report or specification has already identified the options, now all the options are investigated in detail. This entails reading datasheets and application notes, speaking to distributors, and really understanding whether the available options will provide the required solution.

  3. Development of proof of concept

    There are two ways to go here, either develop a proof of concept using evaluation boards, or dive straight into the custom hardware design – which is better depends on the risks involved. The risks are a function of the project and the amount of experience with similar designs. Wherever possible it is nicest to speed things up, but a detailed proof of concept can take a lot of risk out of the later stages.

  4. Final concept

    After a full proof of concept it is quite clear how all the pieces fit together. At this stage we should have system block diagrams, communication protocols, component choices, disposal planning and a whole lot more down on paper. The framework for our creation is in place, now we need to make a real prototype.

  5. Schematic layout

    All the concepts and ideas have to be put down into technical drawings (an electronic drawing is called a schematic). Once this is done we have a schematic, a BOM (bill of materials), and other technical files needed for the next steps.

  6. Printed circuit board layout

    The schematic output is used to generate a printed circuit board (PCB layout). The physical size is determined and the components are placed and connected together with tracks. Any mechanical design which is required (e.g. a casing) is also done along side with this step so that the PCB will fit nicely. This can be a time consuming step, as a lot of checking is required, such as tolerances, spacing and component patterns. A set of gerber files are generated which are used to manufacture the actual PCBs.

  7. Component procurement

    Before a prototype can be built, you need all the components that will be placed on the PCB. This step is really happening in parallel with all the other steps to ensure that everything arrives at the right time. Electronic component lead times can vary significantly (from 1 to 16 weeks or more), so a fair amount of planning and scheduling is required.

  8. Prototype manufacturing

    A PCB manufacturer (such as WHCircuit or Trax) makes the PCB's according to the gerber files. The PCB is then populated with the components either by hand or machine. For a first prototype I like to populate the board by hand (where possible) so that I can test each part of the system as I build it up.

  9. Development and debugging

    The amount of effort that goes into making a system work properly is really quite big, but depends on the complexity of the system and the amount of detail that went into all the proceeding steps. It must be shown that each block of the system works and that it all works together properly. Firmware (software that runs on the system) must be tested and developed to a fully functional level. Any bugs that are detected need to be resolved and noted for the future.

  10. Testing

    Once all the functionality is working it must be fully tested, both to check that it is working correctly and to also stress the system to find out if any real world events could break things. Careful attention must be paid to test as many usage cases as possible, and more. Certain countries require specific certifications and any required tests must be done to ensure all the necessary specifications are met.

  11. Design refinements

    All of the testing and development will either have proved that the design works exactly as desired, or indicated areas that need to be improved before going ahead with manufacturing. Steps 4 to 11 are repeated until the product meets the requirement.

  12. Initial production run

    Manufacturing can bring its own challenges to the product from solderability through to the programming and testing of the product. To avoid major manufacturing disasters it is normally better to have a small initial run to iron out any problems in the process.

  13. Product manufacturing

    Once all the manufacturing issues have been resolved it is time to go into full production. This can be a big investment and the quality of the work that has gone before will determine how successful the product is.

  14. Continuous improvements

    There are always things to improve. Wherever possible I try to build in mechanisms that allow easy upgrading of products (such as in–field upgrading of firmware), but it is sometimes necessary to go through some redesign to meet a new requirement or fix a manufacturing issue. Once a product is out in the field you start to get a feel for how it is really used, which teaches you a lot about how to improve the quality.

It is a long process and is fraught with many risks, but the great reward of having created something meaningful which changes people's lives for the better is amazing.

If you are interested in creating electronic products, then please contact me.

Photo courtesty of Johannes Henseler and licensed under a Creative Commons license.


Friday, April 25, 2008

The engineering design process

Problem → Idea → Concept → Design → Prototype → Refine → Produce.

In some ways that is really as simple as it is.

Changing a problem into a solution is a wonderful and rewarding process. It is about creating more value in the world around us. I often ask myself, "How does doing this make the world a better place?" By being true to that I can create (and help you create) truly great products.


Tuesday, June 05, 2007

The "right" processes are wrong

stacked tea cupsI was pondering processes while making some tea today. Most of my process pondering these days is inspired by what Sig is doing.

I think our natural tendency is to work hard toward some perfect process. We try doing something in one way, find the flaws, adjust, grow, etc. Hopefully as things progress we have developed processes that work really well for us. But that is the key right there, they work well for us. The question we need to ask is whether they work well for anyone else.

Think about an employee trying to get a job done. What usually happens is that the boss (we) try to impose our process onto their actions. It is a kind of FIFO mentality (fit in or f-off). Our process might work brilliantly for us, but horribly for them.

Compare it to making a cup of tea (or coffee, or your beverage of choice) — every person has subtleties and nuances in the way they make their favourite drink. The end result is the same, a drink which you enjoy drinking, the process is different. Typically we are happy to allow people their own coffee/tea/beverage making process, why do we expect them to design/code/file/etc. according to ours? Do we allow freedom for variation in the process if the end result is the same?

It seems like a fixed process way of working is a relic of modernism. Allowing processes to vary provides flexibility to create efficiency (each person works differently, just like we each make tea differently). Also, we get to watch the process and see the benefits (and disadvantages) of how others do things. Again, adjust, grow, etc.

On the other hand we also want to avoid the confusion of a laissez–faire environment. There must be some form of regulation. Do not police process, regulate it. Ensure outcomes, monitor efficiency. Be open to new ideas. Adjust, grow etc.



When I was preparing this post I sent it to a friend, Dave Alcock (founder of The Forum SA), who gave me some great feedback which I felt needed to be published as is:

"There are times when the concept needs to take a back seat. Particularly where team members interface — there need to be agreed conventions of handover and interaction at those interfaces IMHO.

"It also relies on there being adequate skill/experience/ability within the people you give this licence to. Some people simply need method otherwise there is no way they can achieve the objective.

"My personal take: Method can turn ordinary people into super-achievers and turn super-achievers into ordinary people."


Technorati tags : , ,


Wednesday, September 06, 2006

Are we chronically impatient?

Would you take a job with these requirements?

"Up and coming seeks visionary leader to take team to new heights. Great pay and benefits, but you'll have to perform for our clients. Clients and upper management can be very demanding and you will be expected to perform under pressure. You'll be constantly evaluated on past, present and future performance (but mostly on present and future). You'll be expected to stand up to strong critics of the product and make sure that the team functions well at all times.

"Lasting changes will begin with you - starting immediately. If those changes and results are not immediately evident you'll have to answer to evaluation committees. You should be comfortable with your job being under constant threat. Client loss will be directly attributable to you."

You might see this job advertised in the following way,

"South African soccer team seeks new coach"

Soccer? Why am I talking about soccer in an engineering and business blog. Would you mind bearing with me while I look at some of the problems in our sports and the government before applying this to our businesses?

Let's start with sports - a firm favorite in South Africa. It seems like it takes only one loss (at any of our three major sports - soccer, rugby and cricket) and the first words out of everyone's mouths are, "The coach should be fired!" Let's look at this quickly.

Inevitably a new coach enters the system with their own vision of how players should be coached and how decisions should be made. They go about implementing there vision (or at least laying the foundation for it) and then slowly work towards that. First is the excitement of new prospects, then the hard work begins. For a while things start to get a bit messy as the new tactics and strategy are learnt and implemented. Hopefully after that messy time the effects of the work will start to show, all the elements of their strategy start to fit together - and then the team starts winning.

Where it all seems to go wrong is during that messy phase. Commentator, critics, fans and government all get in on the act of telling the coach to sort things out, or else (in the words of The Donald), "You're fired!" And invariably, before things get better, the coach is fired, a new one is hired and we're back at the beginning, but worse off.

Onto the government...

If a brick was laid every time I heard, "The committee for (prisons, health, police etc.) has come up with a plan to deal with the crisis of (escapees, HIV/AIDS, crime)," we would not have a housing crisis in South Africa. It seems like we're always coming up with plans to solve things, but the plan changes every week, and all the useful time is spent coming up with a new plan.

This messes everyone around.

So what is the problem? Could it possibly be that we in South Africa are chronically impatient? Why are we not willing to wait and allow change to take effect?

I would postulate that most people are risk and change averse, that is, they like stability. Each change, each new plan, creates instability, and this makes everyone unhappy. New training, and unhappy workers means lower productivity. Lower productivity equals fewer results, which again equals a committee to solve the crisis in (prisons, health, policing etc.).

This is what Jim Collins would call a Doom Loop - and that's bad (just in case the word Doom didn't give it away).

By now it should be clear how this could apply to your business. Are you chronically impatient when you try or implement something new? Do you expect to have results NOW?

I think there are three things that we need to be very careful about when trying new systems.

  1. Are we able to measure the outcomes effectively?
  2. Are we measuring the correct thing? (it might not be as obvious as it seems)
  3. How long do we need to wait before we see real effects? (not just what we want to see)
This is all really about how we measure the effect of a system, and whether our measurements are reliable. So, I suppose the next question will be, "But how long is long enough?" Well, I don't know, and I'm not too sure that anyone will be able to tell you. Here are a couple of things to do to ease the waiting. (This list can also be applied to new products)
  1. Watch it develop
    Try to allow the system to grow on its own and watch where and why this is happening - you'll learn a lot from the people who are using it. Try to release some control and you will probably get something better than you could have thought up on your own.
  2. Get rid of inefficiencies
    Instead of reinventing the whole system to get rid of every inefficiency that you can imagine, just get rid of those that are easy to change. Again, watch the system - the people doing the work will quickly let you know what is wasting their time.
  3. Create constant feedback
    Always listen to what people are saying - you'll learn more that way than watching your metrics.
  4. Be flexible
    You (and I) are not infalable. Adapt and remember that it is outcomes that are important, not whether your ideas are being followed perfectly.


Technorati tags :