Successful Endeavours - Electronics Designs That Work!

Engineers


Software Costing

There is an old saying that goes something like this: “hardware is almost free and comes from China; but software is actually free and comes from India”. Actually not such on old saying, and certainly not true. But we do see signs of this myth being alive and well when providing project pricing and estimates for new clients. I covered some of this in Software Estimation.

Software Estimation

Software Estimation

This was about how to try and work out a Software Development Budget in advance. Including forgetting that the entire Software Development Process involves more than just typing. So is it possible to know what it really  costs from real world (non-imaginary) data?

Software Cost

The answer is that it is. My thanks got to VDC Research who recently did a survey of Embedded Developers and made the data available to subscribers of The Embedded Muse, a software development newsletter authored by Jack Ganssle. If you develop software, especially for Embedded Systems, I recommend you sign up if you aren’t already a subscriber.

Jack Ganssle

Jack Ganssle

Here is a summary of some statistics that gave me insights into real Software Development Costs.

Average Median
Project Team Members 19 7
Project Cost $27,000,000 $250,000
Lines of Code 627,000 20,000

So that is a big spread. Our projects are often below the median level shown here so I was interested to work out what these statistics translate to in cost. The $ are all USD$. And the large lines of code average probably represents larger projects using a major Operating System such as Linux as part of the project.

Cost per team member Cost per line of code
Average $1,421,052 $43.06
Median $35,714 $12.50

My first thought is that we don’t charge enough if these are industry typical figures. A bit more thinking shows the process costs of much larger systems. As far as I know there would be few software developers actually getting $1M for their part in the project. And there will be tools costs also included. The statistic missing for me was the duration the money was spent over. We typically budget $5 per line of code for larger projects (20K lines is a decent sized project for a small embedded system) and $2.50 for smaller ones (say 5K lines of code of less).

So there you have a really rough way of estimating cost based on Lines of Code and number of Software Developers involved.

The above is a very small example of the data collected by VDC Research so consider signing up if you want to see all of it.

Software Lines of Code

Software Lines of Code, or LOC, is only one measure of a project. There is much more to consider. We had a recent project where we were asked to fix 50K lines of code for a product that was proving unreliable. So I ran RSM over the top of it to get the average Cylcomatic Complexity and got 6.2! Those who know what that means probably have no idea how you could write code that hard to debug. And no, it wasn’t lots of switch statements. So is the correct answer $250K at $5 per line of code for a complete rewrite?

The answer is a resounding “NO”!

And the reason is because we redesigned the control flow and changed the UI to a table driven design and reduced a spaghetti mess of 50K lines of code down to 10K lines of cleanly designed code. Which is a budget more like $50K. In this case, it was much more cost effective to redesign from scratch than to try and rescue it. We also fixed the hardware design as that was in part responsible for the unreliability.

So the other answer is that good requirements analysis and good design will reduce Software Cost.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In Australia. Ray Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2017 Successful Endeavours Pty Ltd.

Power Supply Specification

The idea for this post came from a discussion in IEEE Collabratec on how to design a Power Supply. The question of how to design a Power Supply seems innocuous enough until you really start to think back on past Power Supply designs. I was originally concerned that this was a student wanting someone else to do their coursework assignment for them but the discussion progressed into something quite useful. Here is what I posted after getting the following specification:

  • Output Voltage: -300VDC
  • Output current: 0.5-20mA
  • Tolerance: 30Volts
  • Input Voltage: 220-240 AC
Power Supply

Power Supply

Analysing Requirements

Hi …

is this project part of your course work?

The reason for this question is that the intent of coursework is to help you come to grips with what you are being taught and learn it from a practical perspective as well. Among other things, this helps a lot with retention.

I run a company that designs products for other people. I only employ graduate engineers who have demonstrated the capacity (though their academic results) and inclination (through their having done their own projects and learned how to use the teaching they have received) to do engineering and to be capable of quickly learning all the things they can’t teach in a course.

So if it is coursework, what subject is it part of?

Because if they want you to design a switching mode power supply, that is very different to an AC rectified transformer design.

You also need to be careful with a design assignment like this (coursework or a product that will be manufactured) because it is capable of killing you if you don’t use good safety practices.

I’ll assume your tolerance figure is +/-30V = +/-10% of -300VDC. So the voltage at its maximum excursion from 0V could be -330. And the maximum current is 20mA. This is 6.6W of power so it will get hot. And again, there is enough voltage to kill you.

If it is for a commercial product, then there are usually other constraints. Here are some of the questions I would be asking:

  • The input voltage range is specified as 220VAC to 240VAC but it is normal to allow for short term transients. So does the output voltage have to be clamped during mains transients?
  • Is soft start required?
  • How quickly must it respond to load transients?
  • What is the load and how much does it vary?
  • Does the input stage need to be designed so that it keeps harmonics and power factor under control (this is a legal requirement for some product types)?
  • Is there a maximum size?
  • What is the design life and/or MTBF (Mean Time Between Failure)?
  • Is fan forced convection allowed, and if so, is that even a good idea because of the MTBF or because it goes inside a sealed cabinet)?
  • What is the maximum temperature rise allowed on any of the outside surfaces?
  • What type of connections for the input and output voltages?
  • What has to happen if the output goes short circuit or open circuit (you had a minimum current of 0.5mA so is there a minimum external load and what is allowed to happen if that isn’t there)?
  • What is the environmental specification (0->70C, -20->85C, -40->85C etc)?
  • Is there a manufactured cost target?
  • Do you have to simulate it only, or are you building one and proving the performance?
  • Are there any special safety or EMC compliance requirements for this application?

And there are lots of other questions like this for a real product design.

So regardless of the reason for the design, understanding the intent of the exercise is important to delivering a satisfactory outcome.
This is one of the reasons engineering is not easy. We create the future. Others say that as well. But we also create the infrastructure and products that make a more advance future possible. And there are always lots of constraints.

I hope that has maybe encouraged you to think a bit deeper about the question. It is unlikely you will solve a problem you don’t fully understand. And an answer you don’t work through for yourself will probably not expand you understanding.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In Australia. Ray Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2017 Successful Endeavours Pty Ltd.

Making Music is Creative

Making music is a creative process. At every level. There is not only composing and playing, but there is the instruments themselves and also how we record and play back music. Technology and creativity abound at every level.

I’m a musician. That is how I ended up in Electronics Engineering. I even wrote a blog piece about how Music Electronics was where my passion for creating new electronics devices all began.

Miller Puckette

I learned something new this week about music creation. I use Ableton Live as my sequencer and it incorporates a product from Cycling 74 called MaxMax was created by Miller Puckette quite a while ago. So I see another soul keen to push the boundaries of what is possible and was fascinated to read his history. Everything from Teaching Music at UCSD to creating music software like Max in 1988, its successor starting around 1996 which is Pure Data, or Pd as it is usually abbreviated, and which was set up to be an open source project so others could contribute and it wasn’t locked down by commercial constraints like Max is.

Miller Puckette - musician and music technology creator

Miller Puckette

I was also pleased to hear that Miller Puckette continues to perform music. This is something I also enjoy.

The only way to understand what is possible with tools like Pd is to see it in action. Enjoy.

Did you notice that the player on the left is moving his hands on a cloth covered platform. This is being tracked by a camera and the hand movements are used to trigger notes and other controllers and effects. You can reach him at Jaime E Oliver and the cellist accompanying him is Michael Nicholas.

PdCon

And if you found that interesting, then check out the concert video from PdCon16~ . That’s right, Pd has its own conference.

The first video has Miller Puckette as a contributor.

And the last one also has Miller Puckette as part of a duo. This is all very avant-garde yet the degree of expression possible is amazing.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In Australia. Ray Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2017 Successful Endeavours Pty Ltd.

Mechanisms

Mechanisms are important in many aspects of modern life. They adjust the focus on your smart phone camera, put the wheels down when a plane is coming in to land, allows automobiles, trains, trucks and ships to move and even allow probes to roam about on the surface of Mars.

So I was very surprised to learn that a newly developed rotary gear mechanism, or transmission,  is the first major new gear design since 1957!

Abacus Gears

Lets cut straight to the chase and I’ll then back fill details later on.

Abacus Gear Mechanism

Abacus Gear Mechanism

The Abacus Gear Mechanism uses a series of rolling elements that move through a series of shaped channels that changes the rolling radius as the mechanism rotates. The results is a gear ratio between the inner driving hub and the out rotating hub. Sound complicated?

I guess this is why it has taken over 60 years to come up with the revolution. However there are some serious pluses. The contact points are all pure rolling elements unlike conventional gear teeth where some sliding motion (causing to wear) is involved. This should lead to improved gear life. It also has no backlash. This is ideal for robotics where backlash (the loss of motion when changing rotational direction on a gear due to clearances) is a big problem for keeping a precise knowledge of the position of the object under motion (a pickup arm for instance). And the rolling elements and the channels they roll in can be adjusted in shape. So although the first version, named “Abacus” because the shape of the rolling elements resembled the beads on an Abacus, had one shape of rolling element, the invention is not limited to that and the elements could be spheres.

And all of the above leads to another major benefit. It is significantly more efficient than the Harmonic Drive which was invented in 1957 and is the leading contended for robotics gears today.

There is a detailed article including a video on IEEE Spectrum at Abacus – First New Rotary Transmission in 50 Years.

The Harmonic Drive

Here is an animation of the Harmonic Drive.

Harmonic Drive

Harmonic Drive in motion

This is pretty cool as a drive concept and also has no backlash.

Mechanical Gear Fundamentals

If you to know a little more about gears and the wide variety of uses they are put to, check out this video.

Successful Endeavours specialise in Electronics Design and Embedded Software Development, focusing on products that are intended to be Made In Australia. Ray Keefe has developed market leading electronics products in Australia for more than 30 years. This post is Copyright © 2016 Successful Endeavours Pty Ltd.

Branding

So what is Branding? Well, it is one of the most important concepts in business. Simply put, your Brand encapsulates your promise to your customers. As an engineer who was running an Electronics Design business, I was your typical eMyth technician, or in my case, Engineer. I didn’t understand that there were dimensions to  business beyond being technically good. So we (an me especially) had to come to grips with the idea of branding among others.

Brandcode

So if you see branding, positioning and brand marketing as something you want to do better, then is there somewhere you can get a jump start?

The simple answer is yes.

BrandCode Marketing and Positioning

BrandCode Marketing and Positioning

This blog is mostly about technology and engineering but it also encompasses business principles and you have seen me talk about business recognition through the awards we have received. That is one of our Brand Strategies

So I would like to introduce you to Ros Weadman who is a branding and marketing expert and who assisted us in our finalist position last year in 15 awards and multiple industry publication articles from last year and so far this year.

Ros Weadman - Brandcode

Ros Weadman – Brandcode

She has written her first book (I think not her last) on everything she has learnt over the past 30 years about branding and marketing. It is called Brandcode and you can get a copy from Brandcode.

I bought more than one so I could share with those I thought would benefit.

Branding – does it matter

So is this just marketing blurb, or does it really matter?

Short answer, yes. If you can’t brand yourself, then you can’t promote yourself. And here in Australia, that is a big issue. With the tall Poppy Syndrome and the idea that those who promote themselves aren’t for real (complete tossers is the term I hear) then this is a key to positioning yourself in the marketplace.

So I can say with absolute conviction that if you get this right then you are well placed to succeed.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2016 Successful Endeavours Pty Ltd

2016 Australian Technical Events

My thanks go to Paul Daniels of Circuit Challenges and LC Circuits for preparing most of this list and to Joseph Madeley of IDC Technologies for details on their events.

International Conference on Computer Modeling and Simulation
18-19 Jan 2016
Brisbane

LINUX Conference
1-5 Feb 2016
Geelong

Interactive Entertainment Conference
2-5 Feb 2016
Canberra

International Conference on Emerging Trends in Engineering and Technology
4-5 Feb 2016
Melbourne

International Conference on Nanoscience and Nanotechnology
7-11 Feb 2016
Canberra

Engineering and Technology Advances Conference
9 Feb 2016
Melbourne

Electricity Storage Future Forum
23-25 Feb 2016
Sydney

Chief Digital Officer Summit
24 Feb 2016
Sydney

International Conference on Communication and Electronics Information
3-4 Mar 2016
Melbourne

International Conference on Information Technology
3-4 Mar 2016
Melbourne

Electronic Visualisation and the Arts Conference
5-6 Mar 2016
Canberra

International Conference on Pervasive Computing and Communications
14-18 Mar 2016
Sydney

Low Voltage Design & Maintenance Conference
16th – 17th March 2016
Perth

Annual Remote Area Power Supply Conference
22-23 Mar 2016
Melbourne

2nd Dangerous Goods Conference
23rd – 24th Mar 2016
Perth

CONNECT EXPO 2016
19-20 Apr 2016
Melbourne

CeBIT
2-4 May 2016
Sydney

National Manufacturing Week
11-13 May 2016
Sydney

ARBS Exhibition
17-19 May 2016
Melbourne

6th Safety Control Systems Conference
18th May 2016
Melbourne

2nd Safety in Design Conference
19th May 2016
Melbourne

Lithium Batteries Conference
24th & 25th May 2016
Sydney

Comms Connect 2016
22-23 Jun 2016
Sydney

EduTECH 2016
30-31 May
Brisbane

Electric Power & Lighting Exhibition
28-29 Jun 2016
Melbourne

International Conference on Information Technology and Applications
1-4 Jul 2016
Sydney

Energy Future Conference and Exhibition
4-6 Jul 2016
Sydney

Security Conference and Exhibition
20-22 July 2016
Melbourne

5th High Voltage Conference
27-28 Jul 2016
Sydney

 

Integrate 2016
23-25 Aug 2016
Sydney

Lithium Batteries WA Conference
7 Sept 2016
Perth

6th Hazardous Areas Conference
27-28 Sept 2016
Brisbane

Australasian Universities Power Engineering Conference
25-28 Sep 2016
Brisbane

23rd World Congress on Intelligent Transport Systems
10-14 Oct 2016
Melbourne

3rd Low Voltage Conference
2-3 November 2016
Melbourne

Innovative Smart Grid Technologies Asia
28 Nov – 01 Dec 2016
Melbourne

International Conference on Electrical Engineering and Technology
5-6 Dec 2016
Sydney

International Conference on Electrical, Computer, Electronics and Communication Engineering
5-6 Dec 2016
Sydney

If you are looking for a list of Australian Holidays then you can find those at Australian Public Holidays, School Holidays & Other Important Days – 2016. My thanks got to  Dr Marc Dussault, the Exponential Growth Strategist for maintaining this list.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2016 Successful Endeavours Pty Ltd.

Technology Selection

Before we look at how to choose a Technology, what does Technology mean?

In very general terms, Technology is understanding how stuff works and how to get it to do what you want.

Technology Selection

Technology Selection

There is lots of different stuff available. In the case of Electronics Design this stuff is the type of Electronics you will use and how you will make use of it. The most important choice to make is to determine:

  • What functions will I implement using Electronic Hardware ?
  • What functions will I implement using Embedded Software ?
  • What functions will I implement using Remote Communications ?

In looking at the answers to these questions I also need to consider:

  • Cost to Design
  • Cost to Manufacture
  • Cost to support
  • Production Volume
  • Power Consumption
  • Performance
  • Time to market

In the process of Product Development it is often Technology Selection that can make the biggest difference.

Electronics Hardware

If there is no software involved, then this is the choice of which devices can be used to implement the design and how best to use them.

Electronics Hardware

Electronics Hardware

A recent example for us was the interface and power supply for a new GPS module for the Yarra Trams Passenger Information Systems. There was a problem with the existing GPS modules in scenarios where buildings either side caused the GPS module to lose position. And guess what you have a lot of in the central part of a city? That’s right, taller buildings. The Passenger Information Systems required an accurate GPS position to work correctly. So the GPS module had been selected including the use of dead reckoning to update the position based on the wheel rotation and the interface between this and the rest of the tram had to be designed including some level shifting to adjust voltage levels. We also manufactured the interfaces for them.

Yarra Trams VPIS

Yarra Trams VPIS

So that is an example of a project that required no Software.

But most of the time there will be Embedded Software involved. And there are several really good reasons for this:

  • Embedded Software costs less in manufacture – see Reducing Electronics Manufacturing Parts Cost
  • Embedded Software is extremely flexible
  • Embedded Software can test itself
  • Embedded Software improves field support, service and upgrade capability
  • The Electronics Hardware to run Embedded Software gets cheaper every year
  • Remote Communications is getting cheaper all the time

So today we spend 80% of our time writing Embedded Software in C and C++ to run on the Electronics Hardware we design through the PCB Prototype or even Production. This is known as an Embedded System.

For this typical project type we do as much in Software as we can.

Embedded Software

Embedded Software is the software that runs on the Electronics Hardware. Unless the product must be super Low Power Electronics, we will do everything in Software except for the power supply and physical interfaces to the outside world. But there are a few caveats:

  • signal filtering is usually more power effective in Analog Electronics than DSP
  • sleep and wake timing for high powered systems is often best done with external Electronics Hardware
  • you have to be able to select a Microcontroller that has the right combination of price, features and performance
Embedded Software

Embedded Software

Given the enormous range of devices available today you would think the last point was easily covered but a recent project we did ended up with only 1 possible choice in the whole world for the Microcontroller. Here is the requirements list:

  • Run from a button cell for at least 2 years
  • Has a beeper
  • Has an LED
  • Operated from -20C to +70C
  • After a period of dormancy, start flashing the LED and activating the beeper
  • Beeper frequency, on time, off time, number of cycles and gap time are configurable
  • LED on time, off time, number of cycles and gap time are configurable
  • Dormant period is configurable
  • Unit timing must be accurate to better than 1 hour per year
  • Unit price in 100K quantities must be less than US$1
  • Software must be protected from copying

The solution was an MSP430 based device from Texas Instruments with a 32KHz crystal. Actual cost ended up at US$0.71. And absolutely everything was done in Software.

Remote Communications

 With ubiquitous Internet enabled devices, knows as the Internet of Things or IoT, it is more cost effective than ever to add Remote Communications to products. This can have many benefits that reduce the cost of field and service support for a product and also makes possible features you could not have provided any other way.

Remote Communications GSM Modem Cinterion

Remote Communications GSM Modem

An example from a recent water metering project we undertook. This is a remote water dispensing system, also known as a Bulk Filling Station, that records who took water, how much water, when and where. The transaction is sent to a website via GSM modem and the Council can get the records to bill for the water without having to travel. It also means the tanker drivers don’t have to manually fill out log books and the Council don’t have to chase them for the data. Great savings there alone. But there were some extra benefits for us and the client that they hadn’t considered. These were:

  • Remote updates to the system application
  • Maintenance monitoring of batteries and valves
  • Regular check in to confirm the system was still operational

So if a new feature is needed, we can update the software and remotely distribute it the units in the field. Since these are currently spread over half of the east half of Australia that is an enormous saving. 

Internet of Things - IoT

Internet of Things – IoT

And we can also determine when the batteries need to be swapped out so that can be a preventative maintenance operation at a time of the Council’s choosing and not an emergency call out when a truck driver can’t get water. It is quite common for the first tanker to fill up before dawn when the solar charging has been off overnight and the temperature is at its minimum for the day. The worst timing from the batteries perspective so it just works better all round if we known for sure how the batteries are travelling by keeping track. It also means that if a solar panel is damaged the Council can see there is an issue before the system stops working.

And the regular check in allows the Council to know if a unit is still operational or not. A recent example from NSW was a fire fighting crew going to a water dispensing point to refill their tanker during a bushfire only to find it had failed sometime last winter and never been repaired. With Remote Communications you can avoid that and although it costs more to design,manufacture and operate (due to SIM costs) it can still reduce the overall cost of a system significantly.

So that is the general process. Once we have decided what we will do in Electronics Hardware, Embedded Software and how much Remote Communications to use we are ready to get into the Electronics Design in detail.

And of course, no post like this is complete without an input from Dilbert.

Technology Selection - Get It Right

Technology Selection – Get It Right

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2014 Successful Endeavours Pty Ltd.

Requirements Capture

Product Development is the core process your use when you have a great idea for a new product, or an improved version of an existing one. The very first step is to define what it is meant to do.

This first step is known as Requirements Capture. And requirements break down into 2 categories:

  • User Requirements
  • Engineering Requirements or Technical Requirements

These are related to each other and it is often useful to look at them in the right sequence. I’ll explain why later. Let’s look at what each involves.

User Requirements

This is a description of the product from the perspective of the user. It is written in the language of the user and describes what the product does and how it is used by the user.

User Requirements

User Requirements

We work with both technical and non-technical clients and the one thing they both have in common is that they can both write a document like this. It is also important that the focus begins with the user. Otherwise we can get carried away with the technical side of things and forget a real human being is going to have to use it one day. Concepts like Intuitive can have very different meaning to Engineers and the general public. So it is important to start with the user’s perspective.

Technical Requirements

This is what you end up with when you analyse the User Requirements through the lens of technology. We are translating from the user perspective to the technical perspective or engineering perspective.

Technical Requirements

Technical Requirements

As an example, the User Requirement might be that it complies with the relevant standards. This will translate to it passing C-Tick requirements for sale of product in Australia as part of the Technical Requirements.

Another example is that the User Requirement is that it must run off a pair of AA Batteries for 6 months. This then translates into a Technical Requirement that its average current consumption must be less than 0.57mA. If you are wondering how I came up with that then the maths goes like this:

An AA alkaline battery = 2500mAh so the average current consumption has to be 2500mAHr / (24 hours * 365.25 days per year  / 2) = 0.57mA.

That is the sort of analysis that is done every day by Engineers every day.

Requirements Analysis

The reason that it is important to look at User Requirements first is that we technical professionals love technology. And we love all the answers to the How questions. If we don’t focus on the What questions we can end up with a beautiful piece of technology that no-one actually has a use for. 

User Requirements = What

Technical Requirements = How

So there is quite a difference in how Engineers think compared to the rest of the world. For some other examples you might like to also look at these posts:

Does this work

Does this work?

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2014 Successful Endeavours Pty Ltd.

Electronics Design

The Electronics Design Process involves a number of steps. Unless what you are doing is a minor tweak to an existing product, you will use these steps. Over the next few weeks I will unpack what is involved in each step but this post is just going to be the list of steps.

The overall process for Product Development for an Electronics Products follow like this:

Successful Endeavours Development Process for developing electronics products

Successful Endeavours Development Process

And there are many options for the technology to use, all of which have their merits and drawbacks.

Electronics and Embedded Software Technology

Electronics and Embedded Software Technology

It is important to realise that this is part of the overall Product Development Process.

The steps in a typical Electronics Design project are:

  • Requirements Capture
  • Technology Selection
  • Component Selection
  • Schematic Capture
  • PCB Layout
  • Prototype
  • Pilot Run
  • Manufacture
Electronics and Embedded Software Technology

Electronics and Embedded Software Technology

Over the next few weeks we will look at each of the steps in turn and I’ll add links here to each of those steps.

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2014 Successful Endeavours Pty Ltd.

Viewpoints matter

How does the world look to you?

 This is often one of the areas where Engineers and Customers can get out of step. And in particular, is a big issue for Software Development and IT systems. Check out the image below.

Round or Square Columns

Round or Square Columns

Technical professionals such as Engineers and Software Developers tend to be detail driven and so probably look at the system from the ground up. So we would see round columns.  

Entrepreneurs and Business Owners tend to see the world from the top down and so would see square columns. And this difference in perspective can be a problem in implementing a solution that works for the customer.

So here we have an image that represents the potential difference between the Engineer Viewpoint and Customer Viewpoint.

Requirements Management

The real issue here is Requirements Management. This is one aspect of Software Development where I like the V Model for Software Development and the European Space Agency Software Engineering process. It splits the problem down into steps and also lets you know whose language the documents at the step are written in. So User Requirements are written in the language of the use. Technical Requirements are written in the language of the technical professionals. And Requirements Analysis is required to determine the relationship between the different viewpoints. For most projects the analysis is used to translate User Requirements to Technical Requirements. So now we can all have a viewpoint that we understand and it is linked.

The V Model for Software Development

V Model

The general steps are:

  • User Requirements – in the language of the user
  • Product Requirements – in the language of the user and relevant standards and market needs
  • Technical Requirements – derived from both the above and in the language of the technician
  • Functional Decomposition – breaking the problem down into specific functions to be performed
  • Architectural Decomposition and Requirements Allocation – working out that is done in hardware, software, locally, remotely …
  • Detailed Design and Module Specifications – specific modules to be designed and tested

So we move from user language to technical language in a structured way that allows us to understand was is required and make sure nothing has been missed.

User Requirements and Technical Requirements

Requirements Analysis

Product Development Process

The Product Development Process is intended to ensure that the product meets its requirements and is delivered on time and on budget. And regardless of the size of the project the above steps are required. Who does them and how they are done is less important than that they are done. Smaller projects might not require a formal approach but any significant project certainly does. And this also helps to overcome the difference in viewpoint between Technical Professionals and their Customers.

 The image for today’s blog post was provided courtesy of Dr Marc Dussault, The Exponential Growth Strategist who is always on the look out for examples of antimimeticisomorphism, which I am sure you’ll agree this is!

Successful Endeavours specialise in Electronics Design and Embedded Software Development. Ray Keefe has developed market leading electronics products in Australia for nearly 30 years. This post is Copyright © 2014 Successful Endeavours Pty Ltd

Next Page »