Challenges of Agile Product Development

July 26, 2014

In the adoption of Agile project management practices to the development of hardware or combined hardware-software engineering projects, and the adaptations to common Agile techniques that may be applied for best results with hardware projects, let’s consider some of the challenges that may be faced and how you might address them.

For example, do you develop software and firmware only after you’ve developed and assembled an iteration of physical prototype hardware? Or do you develop an iteration of your software and firmware concurrently with the development and assembly of the corresponding hardware and use other methods such as simulation to stand in for the hardware until an iteration of the physical hardware is ready?

When using Agile project management techniques, it is desirable to be able to rapidly produce and demonstrate a working prototype of your technology and to rapidly iterate and refine and build on each prototype without necessarily having a perfectly engineered product ready to go at the first iteration.

When you’re working with hardware, however, you need to deal with the lead time required to source components, to fabricate printed circuit boards, to have prototype layouts assembled by an external pick-and-place assembly contractor or to have custom plastics injection-moulded and so on.

What if the lead-time required for these processes is longer than the time allocated to a particular iteration or sprint? These types of external supply and manufacturing dependencies are unique to hardware, and aren’t present in software development – so they present a unique challenge when trying to apply agile methods to the management of hardware projects.

While these constraints may seem like a daunting challenge to adoption of Agile in the hardware engineering industry, techniques and tools such as in-house rapid prototyping, 3D printing, CNC milling of simple PCBs and the like present part of a potential solution, allowing for rapid, agile iteration of hardware prototypes.A prototype iteration of a hardware system doesn’t have to physically involve hardware, either. Simulation and visualisation tools can play a valuable role of validating the design and performance of all the components that come together into a new product, even before a prototype is actually physically constructed. FPGAs and logic synthesis may also be valuable tools here, allowing for validation of soft cores before physical hardware is constructed.

One of the challenges for combined software and hardware development is that software can normally be developed fairly rapidly and the development broken down into smaller iterative chunks. Hardware, on the other hand, may require months to show a working component or feature, which has been implemented starting from scratch.

If the software development must wait for the hardware to be created before final testing, this can create significant testing delays. Hardware must also often follow strictly defined process models, meet compliance standards, and it can be difficult to make late changes to hardware. This means that feature creep can be difficult and expensive in hardware engineering, although Agile methods are traditionally more accepting of “feature creep” compared to traditional “waterfall” management methods.

Traditionally, the priority for embedded software, for example, would be to write the hardware drivers first, to allow evaluation of the new device and to allow testing. Testing is more complex when software must fit within a small, cheap microcontroller with limited resources in an embedded system, with timing well controlled to prevent race conditions and other timing issues. This means that at some point testing on the actual hardware is generally important.

A problem often seen when businesses who create hardware and the software that runs it face when trying to “go Agile” is that they attempt to take methods and practices developed for software (such as Scrum, an Agile project management framework), and try to use it for everything, including hardware development.

Scrum is based upon “sprints” of relatively short lengths (two weeks to 30 days), with highly defined tasks that must be completed during the sprint. The nature of software development makes this an excellent framework for rapid progress; but scrum isn’t necessarily the best framework for hardware development. If the products are in a highly regulated industry, such as medical or aviation hardware, then the documentation must follow industry requirements for specification and design, as well as normal testing and functional requirements documentation.

This makes it extremely difficult to use scrum by itself, since the processes for hardware are frequently much more rigid, defined, and design-oriented than those normally defined by scrum.

On the software side, because software must interface, communicate with, and control hardware, development issues using Agile are more complex for combined software/hardware projects, and the stories (definition of the functions for a specific feature) that the developers define for each sprint are accordingly more complex. Large projects with large amounts of hardware and software dependencies can be even more challenging.

One method of dealing with hardware that isn’t ready to test is to decouple software and hardware development, via an abstraction layer, to allow software development to continue more rapidly. Can the interfaces to the hardware module be specified, and the specifics abstracted away to allow other parts of the hardware and software development to continue around the hardware component that is behind schedule?

The challenge is to find a method that allows the rapid development of software with concurrent development of the hardware, that can best meet the requirements of each process. A good approach can be the use of different Agile techniques for hardware projects than those used in software projects. Agile techniques are not abandoned – simply implemented a little differently, with different specific Agile techniques chosen for the most effective results.

With Commitment-Based Project Management (CBPM), which has been described as an “agile without using Agile” technique with broad applicability outside the software engineering sector, the emphasis is on the delivery of at least a component or piece of the hardware that works, in the case of an embedded computing or other combined hardware-software project, in order to allow the development or testing of the software that will work on that hardware component.

This is very different from the traditional “waterfall” project management approach, where the entire hardware system needs to be built first. While the “scrum” method for software projects is based on sprints with small portions of the software completed at a time, hardware development can benefit from a different approach.

With Agile, both hardware and software features are broken down into smaller chunks – only the Agile methodology can be a bit different for each. Once software is working, it can be deployed either on any available hardware modules that are ready, or in a test or simulation environment.

This allows the early identification and fixing of race issues and bugs that arise, and reduces the amount of “fixing” and lengthy hours reworking that must occur during late integration and testing when the hardware is ready.

And that’s the goal of successful agile development – to reduce the total time required, decreasing errors, mistakes and the chances of unforseen events, which will increase the time to market for your new or revised product.

Here at the LX Group you can leverage our product development expertise and experience for your total benefit. Our consultants, engineers and experts in many fields can guide you to your goal of product success.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Easily extend your products to the IoT with Arrayent

July 19, 2014

The Arrayent Connect Platform is an Internet-of-Things platform that enables you to connect your products to smartphone and Web applications, providing the value-add of cloud services and IoT connectivity with low cost and simplicity, particularly aimed at existing manufacturers of appliances and consumer electronics who want to add the value of Internet-of-Things connectivity into their existing products.

Arrayent’s IoT platform has been optimised to maximise your product’s value by keeping extra hardware costs at a minimum, keeping devices simple, and pushing the majority of the IoT complexity to the cloud where possible.

By ensuring that product installation “just works” and is friendly for end users. Arrayent’s plug-and-play installation process is designed to maximise customer satisfaction and reduce the costs of customer support for installation.

Arrayent also aim to support strong scalability to as many as millions of devices. Therefore with the Arrayent IoT platform you can reliably and securely connect your products to the Internet for the same service cost, whether you’re connecting ten thousand devices or ten million.

There are four key components that make up the Arrayent Connect IoT platform – the Arrayent Connect Cloud, the Arrayent Connect Agent, the Arrayent mobile framework, and the Arrayent data analytics service.

The Arrayent Connect Cloud is essentially a cloud-based Internet-of-Things operating system, and it is the heart of the Arrayent IoT platform. The Connect Cloud hosts your virtual device, the digital copy of your physical device to which your mobile apps connect. In this fashion, complex application code can reside in the cloud, enabling reduced overall product cost and maximising product extensibility.

Arrayent Connect Cloud supports a growing list of services that are common across all Internet of Things applications. These services make it easy to functionality to your connected products, which adds value to the lives of your connected customers.

The growing lists of features that add value to and extend the functionality of your products include alerts, over-the-air firmware updates, time series storage for data analysis, data services, user account management and more.

The Arrayent Connect Agent helps embedded developers to bring reliable connected products to market, functioning as a firmware module that manages your device’s session with the Arrayent Cloud and abstracts these responsibilities away from your embedded development team – enabling you to focus your resources on delivering a great product experience to your customers, with the emphasis being on developing a great product, not spending all your resources just on the IoT and cloud connectivity infrastructure.

The Arrayent Connect Agent currently supports Wi-Fi, ZigBee, and Z-Wave local- and personal-area networks and computing platforms from major silicon vendors such as Broadcom, Texas Instruments and Marvell, running operating systems such as Linux or FreeRTOS. And because of the cross-platform design of the Connect Agent, Arrayent can quickly spin up support for other platforms if a customer need exists.

The mobile framework for Arrayent’s Internet-of-Things platform helps mobile app developers to rapidly bring intuitive, reliable mobile apps to market for IoT connectivity with devices. The framework abstracts away the complexities involved with using the lower-level web service API and interfaces of Arrayent’s machine-to-machine Internet-of-Things platform into a more friendly presentation layer so that mobile developers can focus on building unique, branded user interfaces for your products.

The Arrayent Data Analytics service delivers business intelligence reports common to all your products, such as device locations, interaction between devices and apps, peak usage trends, and more. Arrayent’s “Data Mart” services aggregate, normalise and filter your device data for connectivity with your existing analytics solutions.

However, careful communication with consumers and market research is likely to be important here, as consumers are likely to be unhappy with any trend towards Internet-of-Things home automation and consumer electronic appliances “spying” on the consumer – even through behaviour such as turning lights on or opening garage doors at certain times – and transmitting that information back to the vendor for the purpose of business intelligence analytics without any obvious value, safeguards and control returned to the consumer.

The Arrayent platform supports over-the-air downloads for firmware updates to devices and network gateways, allowing embedded devices to always maintain the latest updates for optimal functionality and security into the future.

Furthermore, with the Arrayent firmware download management application you can control the safe delivery and phased release of new firmware to the network, even in large-scale networks with hundreds of thousands of connected devices.

Arrayent’s IoT cloud platform typically achieves end-to-end response times of about 200 to 400 milliseconds out to the Internet and back again, providing low latency for your connected devices. The platform is hosted across redundant servers mirrored across geographically separated data centres.

If a hardware or network failure takes down one server, the data is still available at other locations, providing confidence that the Internet-of-Things connectivity cloud for your products is reliable. The platform supports alerts via email, SMS, iOS and Android push notifications and more, in response to programmable triggers from virtually any input data stream. Alerts can also trigger response actions in the product that generated the alert, or in other connected devices on the network.

All of this means there exists another option, another choice, another system to get your Internet-of-Things ideas from your notebook to reality. And doing just that with any system may seem like an impossible task.

However with our team here at the LX group, it’s simple to get prototypes of your devices based on the Arrayent platform up and running – or right through to the final product. We can partner with you – finding synergy with your ideas and our experience to create final products that exceed your expectations.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Tools for Agile Hardware Development Success

July 12, 2014

When using Agile project management techniques, it is desirable to be able to rapidly produce and demonstrate a working prototype of your technology, and to rapidly iterate and refine and build on each prototype without necessarily having a perfectly engineered product ready to go at the first iteration.

When attempting to apply Agile methods to electronic and hardware design, what methodologies and tools should we consider in order to rapidly prototype and demonstrate hardware systems?

What if the lead time that is required to source components, to fabricate PCBs, to have prototype layouts assembled by an external pick-and-place assembly contractor or to have custom plastics injection-moulded, and so on, is longer than the time allocated to an iteration? These types of external supply and manufacturing dependencies are unique to hardware, and aren’t present in software development – so they present a unique challenge when trying to apply agile methods to the management of hardware projects.

Increasingly popular and accessible tools and technologies such as small-scale CNC milling, 3D printing, and laser cutting are becoming more important in this field, allowing components such as custom plastics to be rapidly prototyped, rapidly demonstrated to the product owner, evaluated, and rapidly iterated, prior to committing to the high cost and high lead time of custom injection-moulding tooling and manufacturing.

In agile methodology, early user testing is important, with rapid feedback focussing the most important characteristics of a product and showing what is or isn’t relevant for customers. To shorten the time required to deliver a prototype iteration, rapid prototyping tools and technologies such as 3D printing are ideal, bringing rapid, small-scale and very agile manufacturing technologies right to the desktop.

Having intimate, agile communication between different team members with different skills – electronic engineers, mechanical engineers, industrial designers, UI designers, software developers, manufacturing experts – with regular meetings, standups and interaction is also good for efficiency and agility, allowing cross-pollination of different experience and ideas and providing confidence in the integration between different parts – between a plastic moulding and a printed circuit board, for example – preventing time-consuming problems with manufacturability later.

If you’re working on a hardware prototype in an agile environment and your external manufacturing of a new prototype board, for example, is going to take longer than the time allocated to an iteration but you need a prototype ready to demonstrate, what options are available to you?

Then it is time to ask if there is anything that you can do so that you can produce a prototype of some kind in an iteration, using the new tools and technologies of rapid prototyping – or even the older technologies of hand construction. Today there are services that can allow you to upload design files for a new 3D printed plastic part or CNC machined metal part and have it manufactured and shipped overnight so that it is ready to go the next morning. These services can be expensive – but so is the time of your team, and the agility that such rapid iteration provides could be more valuable.

A prototype iteration of a hardware system doesn’t have to physically involve hardware, either. Simulation and visualisation tools, such as SPICE for electronic engineering, 3D rendering of PCB component dimensions, 3D rendering of mechanical components, and thermodynamics models for predicting heat transport with a device enclosure, for example, can all play an important role in assuring the quality, interoperability, industrial design, electrical and thermal performance and the “look and feel” of all the components that come together into a new product – even before a prototype is actually physically constructed.

Nevertheless some of the most rapid of rapid prototyping strategies can fail, so is there a different way to somehow produce something at each iteration that can generate the discussion, answers and feedback you can use to drive decision-making within a single iteration?

What are the basic, smallest chunks of hardware functionality that you can deliver? Can you split the hardware prototype up into small modules, for optimum agility and the ability to deliver a prototype of at least one module during each iteration period?

Using standard off-the-shelf components and technology for rapid prototyping can play a valuable role here, along with breadboard-style construction, the use of manufacturer evaluation boards and reference-design boards from chipset and IC manufacturers, the use of general-purpose “building blocks” and “breakout boards” from component distributors, and general-purpose single-board computer and microcontroller modules, which are relatively low cost, flexible, and very easy to learn to use.

The use of Open Hardware and open-source intellectual property, for example for known working circuit designs that can be re-used without having to spend your time reinventing the wheel, is also potentially attractive here.

Today, almost all electronic products and designs incorporate some kind of software or firmware – for an embedded microcontroller, for Internet-connected cloud services or mobile apps or for PC connectivity, for example. This is especially true as we move further into the emerging Internet-of-Things era.

This means there is a relationship between electronic engineering and software engineering for almost all products, and agile methods can help to make this interaction most efficient. Once software is working, it can be deployed either on any available hardware modules that are ready, or in a test or simulation environment. This allows the early identification and fixing of most race-condition issues or bugs that may arise, and reduces the amount of “fixing” and time intensive reworking that otherwise might need to occur later into the integration process.

The goal is efficient, concurrent work with hardware developers creating hardware components, and software developers developing and testing software components, at first independently of the hardware development at times, and then testing on the actual hardware prototypes as they are developed. This requires effective collaboration between hardware engineers, industrial designers, software developers, and the product owners who provide the feedback.

No matter the level of expertise within your organisaiton – you may need help or guidance with any or all stages of product development. Here at the LX Group we have a wide range of experience in various development methodologies and can be your partner for success.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Cloud-based IoT with Meshworks

July 4, 2014

The MeshWorks Internet-of-Things platform from California Eastern Laboratories is a turnkey wireless solution which connects sensors and peripherals to the cloud in a way that makes previously complex mesh networks and wireless sensor networks very fast and easy to implement.

This includes connectivity between the wireless mesh network, the LAN, the Internet and cloud services, for anyone with rudimentary Python scripting skills. The complete MeshWorks platform consists of three key components – a wireless Personal Area Network (PAN) which is powered by CEL’s MeshConnect 2.4 GHz 802.15.4 radio modules, a GUI-based programming interface built around the MeshWorks software suite, and the cloud service which is facilitated by connecting your wireless sensor network to the Internet via either the MeshWorks Ethernet Gateway or the OpenTether Cellular Gateway.

CEL provides a variety of reference designs which allow you to easily get started engineering, combining the EM35x MeshConnect family of 802.15.4/ZigBee wireless modules with a multitude of different sensors and control node choices representative of those that are popular in Internet-of-Things and connected-home applications. CEL’s turnkey wireless solutions enable you to unite the “Internet of Everything” product ecosystem with ease.

The MeshWorks platform was designed specifically to address the wireless connectivity needs of the industrial and environmental sensing markets. By using CEL’s family of EM35x wireless modules in conjunction with the MeshWorks cloud service platform, virtually any sensor or control node can easily be connected to the cloud for state-of-the-art control and data analytics, allowing you to get to market quickly and easily.

Furthermore the included library of reference designs for proven hardware implementations and solutions include block diagrams, detailed schematics, bill of materials information, and much other relevant information to help you get started with a MeshWorks-based solution for your next product.

The MeshConnect line of 802.15.4/ZigBee and other radio solutions combine industry-leading transceiver ICs with other RF components such as RFIC switches and power amplifiers, providing certified and qualified solutions which enable customers to reduce their design and certification phases of development, enabling wireless connectivity for your products relatively easily.

The MeshConnect EM35x Ember Companion Kit is designed for interoperability with development kits for the Ember platform, with each radio module in this kit soldered onto a carrier board making it pin-for-pin compatible with the Ember development board. CEL’s MeshConnect EM35x Mini Modules Programming Fixture is a programming assembly designed to be used with the CEL ZICM35xSPx MeshConnect Mini Modules series, which are small mesh-networked radio modules ready for compact and relatively low cost integration into your next product, adding wireless mesh network and Internet-of-Things capability with ease.

The Mini Modules Programming Fixture is useful for production programming or during application development when multiple firmware images are required to be flashed onto a Mini Module during testing and debugging. This programming assembly needs to be used in conjunction with the ISA3 Ember Debug/Insight Adapter from Silicon Labs for the actual programming of the chips.

Another option is to use MeshConnect EM357 USB Sticks which enable hardware vendors to quickly integrate 802.15.4/ZigBee connectivity into any computer or device with a USB port, without any RF design experience required. They can be used as a hardware development platform for rapid prototyping and as a companion to the MeshConnect EM357 modules.

CEL also offers reliable Ethernet and Cellular-based gateways, providing Internet connectivity to a wireless sensor network or mesh network with a secure, low-cost solution. Based on the Mini Module line of Ember EM35x-based IEEE 802.15.4 radio transceivers from Silicon Labs, these gateways run the industry-leading EmberZNet PRO ZigBee stack.

The MeshWorks OpenTether Cellular Gateway connects a MeshWorks sensor and control network to the cloud anywhere out in the field, as long as cellular service is available in that location. These gateways can also come pre-configured to connect a MeshWorks network directly to Exosite’s cloud service, and are specifically designed to support the MeshWorks turnkey wireless solution for connecting sensor and control peripherals to the cloud.

By writing a simple python script, the gateway can be configured to connect to virtually any cloud service or database using common Internet transport protocols, with Exosite connectivity supported out of the box with a supplied reference script.

The MeshWorks OpenTether Sensor Node is also available as a part of the MeshWorks solution family, and this product is an ideal starting point for the evaluation of the MeshWorks platform. The OpenTether Sensor Node has 10 built-in sensor capabilities to enable you to quickly prototype many common sensing and automation applications. Additionally, it contains a built-in I/O expansion port that you can use to connect to any external sensor or control node using I2C, analog, or digital I/O.

The Sensor Node comes pre-loaded with CEL’s MeshWorks firmware, which allows users to quickly write Python scripts to customise the system for their particular needs. The OpenTether Sensor Node utilises CEL’s Mini Module line of Ember EM35x-based transceivers built around Silicon Labs 802.15.4 SoCs as with the other hardware products in this family, and the Sensor Node also incorporates the EmberZNet PRO ZigBee stack.

CEL’s MeshConnect EM358x Mini Modules are based on the Ember EM3588 802.15.4/ZigBee microcontroller system-on-chip from Silicon Labs. They are pin-compatible extensions to CEL’s leading product line of EM357-based radio network modules, and they are available in both low and high power output options (+8dBm and +20dBm transmit power) to accommodate designers with different range, performance and power consumption requirements.

The Silicon Labs EM3588 system-on-chip incorporates a 2.4 GHz RF transceiver with a baseband modem, a hard-wired MAC and an embedded 32-bit ARM Cortex-M3 microcontroller with 64 kB of internal RAM and 512 kB of flash memory. The MeshConnect EM357 High Temperature Mini Modules from CEL provide the same high performance RF solution and high performance ZigBee stack in a module that is specifically designed to address the thermal challenges associated with heat-intensive applications, based on the Ember EM357 802.15.4/ZigBee radio network system-on-chip.

MeshConnect EM357 Mini Modules offer the smallest footprint of all Ember-based RF modules available today, combined with the power of the Cortex-M3 advanced 32-bit microcontroller architecture, the strong performance of the EmberZNet PRO ZigBee stack, a link budget of up to 123 dB, and a strong surrounding ecosystem of gateways, sensor products, cloud services and reference designs for implementing your wireless sensor networks and Internet-of-Things solutions.

All of this means there exists another option, another choice, another system to get your Internet-of-Things ideas from your notebook to reality. And doing just that with any system may seem like an impossible task – however with our team here at the LX group, it’s simple to get prototypes of your devices based on the Meshworks platform up and running – or right through to the final product. We can partner with you – finding synergy with your ideas and our experience to create final products that exceed your expectations.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


The Benefits of Agile Hardware Development

June 27, 2014

A concept that may be new to the reader – Agile software development – is a family of software development methods based on iterative and incremental development, in which requirements and solutions evolve through collaboration between self-organising, cross-functional teams.

It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight iterations throughout the development cycle. Over the last 15 years or so, the principles, practices, methods and tools of the Agile movement have significantly changed the landscape of the modern software engineering and development industry.

Compared to traditional engineering project management approaches, agile development is mainly targeted at complex systems and projects with dynamic, non-deterministic and non-linear characteristics, where accurate estimates, stable plans and predictions are often hard to establish in early stages, and complex up-front designs and prototypes are not likely to be practical or economical.

These basic principles and precious software industry experience from years of successes and failures have helped shape Agile’s favour of adaptive, iterative and evolutionary development.

However, hardware developers and engineers tend to see software development as something of a foreign land, with strange people, languages, tools and processes. Agile development processes may seem odd or unusual, even though they are becoming more mainstream in software development. While software developers have largely accepted the merits of agile development in many project environments, there is little adoption of agile principles in hardware design and electronic engineering circles.

So, are there any potential benefits to the adoption of agile development methods in hardware engineering? Might the values and principles that guide agile software teams similarly guide hardware engineering teams, or are the differences between hardware and software development too great?

Since Agile practices are relatively unknown in the hardware industry, it can be difficult for the average hardware developer to offer an informed opinion on agile. Complicating matters is the fact that an accurate and tangible definition of agile can be difficult to pin down. Even in software circles where it has been used for years, agile can have different meanings, bring varying degrees of success and bring with it different baggage compared to the traditional methodologies of software development and project management.

Fortunately, hardware developers are usually in a position to develop a “fresh” consideration of agile practices and the benefits that they may have for their work, avoiding the opinions or misconceptions that others may have established about agile methods.

We can begin by considering the core high-level principles of the “manifesto” of agile development and the established practices that have contributed to the success of agile methods in the software development industry for many years.

The Agile Manifesto was conceived as a launchpad from which the developers who first formalised the concept of agile development processes could reverse and change course away from what they considered to be the “damage” that was being done to the software development industry by traditional project management techniques such as the waterfall development model.

The pioneers of agile believed that the top-down, process-centric, heavily formally documented and painfully deliberate style of project management that many organisations followed was proving less and less successful. The underlying premise of the traditional “waterfall” project model is that the design and engineering of some product can be defined in advance through the construction of a detailed project plan, and that development then becomes a largely mechanical process of staged execution according to the plan.

According to agile practitioners, however, a fundamental flaw in applying the waterfall model to the management of many real engineering projects is that the act of designing and constructing software or hardware cannot be completely, reliably defined in advance. Software development, they argue, is a creative process and due to its inherent uncertainty cannot be accurately planned entirely in advance.

Product vision, customer need, target market, target technology and team dynamics, among other things, can vary considerably and unpredictably during development. For a creative process like software development, therefore, it is agility and adaptability that drives success rates to a greater degree than the intense upfront planning that is characteristic of waterfall development.

But is hardware development a creative or defined process? Before jumping into an analysis of the applicability of agile methods in hardware development, it is important to first categorise hardware development as either a creative or a defined process. Presumably, hardware development viewed as a somewhat creative process would benefit through the application of agile development methods in the same way as creative software development.

If, on the other hand, one decides hardware development can truly be captured as a defined, mechanical process in an accurate and reliable project plan, then you might argue that the problems agile methods are designed to address do not exist.

Or if it is not honestly possible to build a detailed project plan that accurately captures a complete development cycle prior to product development, if detailed project plans do not remain completely stable over time, if it is not possible to build a concise set of project requirements that will satisfy customer and market requirements years into the future, or if target technologies and architectures are not going to remain stable, thoroughly understood and unlikely to change into the future, then it is clear that a strictly mathematical, rigid process of project management will not be completely effective, and the benefits of agile development methods are potentially quite applicable to your project’s success just like they are in the software industry.

Development, of hardware and software, is carried out by people complemented by process and tools, not the other way around. Agile proponents believe that businesses erroneously link success to efficiency brought by process and tools as opposed to the innovation and creativity brought by people and teams, and agile encourages organisations to see people and communication as the critical factors in building great teams and great technology, with process and tools being complimentary.

Emphasis on individuals and interactions over processes and tools, rapid delivery of working prototypes and iterations even if they are not perfectly polished and complete, active customer collaboration and responsiveness to change are some of the core values embodied in agile practices, with formal contract negotiation, strict plan-following, and comprehensive documentation in the traditional written sense being de-emphasised if these practices are not the most effective way to understand customer requirements and for the team to understand and support each other’s engineering and project progress.

However, some of these concepts may be new for hardware engineers, since traditional waterfall-model values such as tools, process definition, comprehensive documentation, the hammering out of requirements during initial contract negotiation, the avoidance of feature-creep and the avoidance of change to initially negotiated customer requirements, are traditionally preferred and relied upon in hardware development.

One key philosophy of agile development is that face-to-face conversation and co-location enable the best communication between engineers, developers and customers. and a common practice in agile development is the daily “stand-up” status meeting where team members briefly report to each other what they did the previous day, what they intend to do today, and what their roadblocks are. Whilst there are many specific agile development methods in practice, most consistently promote teamwork, collaboration and process adaptability throughout the project lifecycle.

Agile methods emphasise the creation of working technology, i.e.. a hardware or software prototype, or iteration that can be demonstrated, as rapidly as possible, then demonstrating it and incrementally adding features throughout development. Working technology gives the team, stakeholders and customers regular opportunities to objectively measure progress and offer feedback based on a working prototype product, even if all its functionality is not completely implemented in a form ready for product release, and presenting real technology is likely to be more useful and welcome in a client meeting than just a presentation of documents or slideshows.

Furthermore Agile also encourages regular customer collaboration as the only practical way to gain and maintain a clear understanding of customer value as it inevitably evolves over time. Products are designed to satisfy customer needs, so it is customers that are best equipped to lead development, and agile practices favour close, daily cooperation between business people, customer representatives and engineers.

For many, responsiveness to change is the core value of an agile team, since technical development is a creative process where it is impossible to predict, understand and plan with pinpoint accuracy over an extended period of time. Often, long-range planning becomes a futile attempt to gain confidence and control over the development process. Agile project managers argue that absolute confidence and complete control are impossible to achieve, and customer needs, requirements, team dynamics and project goals will change over time, making long-range plans obsolete. Agile teams pride themselves on successfully absorbing change by combining detailed short-term planning with long-range estimates.

Iterative development, where products are built and demonstrated over a number of regular intervals, is the primary means by which agile teams realise the value of working technology. Hardware demonstrated through simulation, virtual models, prototypes or emulation platforms can be used to demonstrate products, quantify progress and gather feedback.

hile iterative and test-driven development are potentially disruptive for hardware developers, the benefits of objectively viewing progress with tested, working technology are hard to ignore. This is especially true early in development when the value of documentation and untested engineering can be difficult to quantify. Iterative development and regular technology demonstrations are also an effective way to keep customers or customer advocates involved, thereby ensuring progress is indeed progress in the right direction to meet customer needs.

In a step further, some agile teams embed their customer within the actual development team so that they are available at all times for questions and clarifications. For some, embedding a customer within a hardware development team would undoubtedly be controversial. But regardless of the perceived problems, increased collaboration and transparency with the customer is a reliable way to secure trust and ongoing success in the vendor-customer partnership.

Hardware development in itself can be minefield for those without the experience and resources to get the job done on time to specifications and on budget. However by partnering with the LX Group we can work together to offer solutions to your problems.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


IoT Interoperability with the AllJoyn Platform

June 20, 2014

AllJoyn is an open-source project that aims to let compatible smart “things” around us in Internet-of-Things networks recognise each other and share resources and information across brands, networks and operating systems in an interoperable way.

Initially developed by the Qualcomm Innovation Centre, it is now a collaborative open-source project of the AllSeen Alliance – a non-profit consortium providing open-source Internet-of-Things solutions aimed at enabling widespread adoption of products, systems and services for what they call the “Internet of Everything”. Their goal is to provide portable open-source software and frameworks for all major platforms and operating systems and creating elegant and accessible solutions for the smart home, its appliances and its gadgets.

As an open, universal, secure and programmable software and services framework, AllJoyn enables hardware manufacturers and software developers to create interoperable products that can discover, connect and communicate with other products enabled with AllJoyn support.

These frameworks enable discovery and communication with devices nearby, with the Notification Service Framework making it easy for products or devices to broadcast and receive basic communications such as text, images, video or audio from other AllJoyn-enabled devices in the area.

AllJoyn events allow for effective management of machine-to-machine interactions, with events and corresponding actions on one device that are discoverable and can be linked together to respond and execute on another AllJoyn-enabled device.

This platform aims to give manufacturers and developers the tools they need to invent new ways for smart things to work together, recognising that homes, cars and the things around us are getting smarter, and smart devices are becoming more numerous, every day.

The AllJoyn Core Framework includes a set of service frameworks that are designed to address the desire for users to interact with their nearby things, in a way that is very simple and easy to use. AllJoyn’s universal software framework and core set of system services enable interoperability among connected products and software applications across different manufacturers and vendors to create dynamic proximal networks – focused only on the Internet-of-Things devices that are in your proximity, in particular, rather than all those Internet-connected devices and things that are mostly not directly relevant to you.

Thus AllJoyn aims to enable manufacturers to offer interoperable products and services that will engage and delight users in new, exciting and useful ways. AllJoyn is designed to be a powerful engine for enabling peer-to-peer experiences across connected devices, appliances and more.

This can be enabled over a range of consumer products being limited only by your imagination – from the mobile devices that consumers always have with them, to the appliances and media equipment in the home, to the electronics in cars and the office equipment in the workplace.

With AllJoyn you can significantly reduce the time, effort and cost of adding peer-to-peer features to your application. Whether you are developing for a smartphone, tablet, television, PC or embedded consumer electronics, AllJoyn is designed to provide the connectivity to enable groundbreaking new experiences.

The tools are provided to enable the Internet-of-Things developer to add proximal peer-to-peer connectivity to your applications, from gaming, entertainment and social media to automation and enterprise applications, and empowers multiple people on different devices to share, interact and collaborate in real time, enhancing the user experience by asking others to join in the experience – from multiplayer games to business productivity tools, social networking, and “smart” home and building automation applications.

The ability of devices enabled by AllJoyn to send and receive notifications to other devices mean that devices in building automation or smart home applications can be controlled by data sources other than PCs or mobile devices.

For example, devices can be controlled by and communicate with AllJoyn-enabled wearable computing devices such as Qualcomm’s Toq smartwatch. AllJoyn dynamically discovers and learns what nearby devices have specific interfaces and capabilities, for example allowing an AllJoyn service to detect all nearby AllJoyn-enabled devices with a built-in clock or timer and synchronising their time, all together at the same time.

Because AllJoyn is proximal and does not need to go out over the Internet to a cloud service it is very fast and responsive, with no lag or latency, and without outside Internet connectivity being essential.

Smart AllJoyn gateways can detect and manage every AllJoyn-enabled device and app on a network, as well as controlling how much bandwidth each app and device gets, ensuring that everyone and every device gets the best connected experience.

With the AllJoyn ON application, it allows for easy discovery, connection and control of any AllJoyn devices nearby, and the AllJoyn Control Panel service framework allows devices with simple or limited user interfaces to expose their properties and controls via a remote, virtual, control panel.

Those properties and controls can be dynamically rendered on a display such as a smartphone or tablet, for a richer user experience on devices that would not usually provide a rich user interface. The Control Panel service running on a device allows it to expose its capabilities to a control panel application running on a smartphone or tablet, which can use this data to render a graphical user interface for that device in a way that is completely independent of the manufacturer or device type.

This virtual control panel can even expose controls with no direct physical analogs, allowing simple devices with limited physical UI to offer much deeper user interaction and convenience.

The AllJoyn framework allows for proximity peer-to-peer interaction over various transport layers. It is written in C++ at its core, and provides multiple different language bindings and complete reference implementations across various operating systems and chipsets, making it easy for developers to get started.

Furthermore this provides an object-oriented approach to making peer-to-peer networking between connected devices easier, allowing developers to avoid the need to deal with lower-level network protocols and hardware.

As the market for Internet-of-Things increases, and the various growth of platform options such as AllJoyn appear, selecting the right platform for your application can be a nightmare. However with our team here at the LX group, it’s simple to get prototypes of your devices based on the AllJoyn platform up and running – or right through to the final product. We can partner with you – finding synergy with your ideas and our experience to create final products that exceed your expectations.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Intel Edison – embedded IoT made easy

June 13, 2014

Intel’s new Edison development platform is the first in a series of low-cost, product-ready, general-purpose embedded computing platforms from Intel that are aimed at lowering the barriers to entry for work in Internet-of-Things and wearable computing applications for the entire community of developers and users, from hobbyists and makers to consumer electronics developers and industrial Internet-of-Things engineers.

The Edison packs a robust set of features into its small size, delivering strong performance built around a leading-edge dual-core Intel Atom system-on-chip combined with a separate single-core microcontroller, along with good hardware durability and a broad spectrum of hardware interfaces and software support.

These versatile features allow the platform to deliver strong value to a wide range of developers and users working with Internet-of-Things, wearable computing, and other embedded computing applications.

Thanks to the integrated Wi-Fi, integrated Bluetooth Low Energy, onboard memory and generous storage, and support for more than 30 different industry-standard hardware I/O interfaces via its 70-pin connector for integration with peripheral devices and other hardware, the Edison is ready for a wide range of applications.

Furthermore with out-of-the-box compatibility and support with software and tools such as Yocto Linux, the Arduino IDE, and the Python, Node.js and Wolfram languages, using the Edison with many open-source community software tools such as these enable ease of adoption and also inspire third-party app developers to build apps for consumers and industrial applications on top of the Intel Edison platform.

This is Intel’s second product targeted partially at the hobbyist, inventor and maker market, following Intel’s Arduino-compatible Galileo platform – however it isn’t limited to that market at all. The Edison development board is a computer only about the size of an SD card, and its unique combination of small size, power, rich capabilities and ecosystem support inspires creativity and enables rapid innovation from prototype to production for professional, hobbyist or education users.

Created for rapid innovation, prototyping and product development, Edison can be configured to be interoperable with just about any device, allowing you to quickly prototype simple interactive designs or tackle more complex projects with an embedded computer that offers much more power, onboard storage and networking capability than a simple 8-bit microcontroller.

During the development process Intel has reported an enthusiastic response to this product from Internet-of-Things entrepreneurs, engineers and the maker community, as well as consumer electronics and industrial machine-to-machine companies.

Intel has decided that in order to best address a broader range of market segments and customer needs, the Intel Edison platform will be extended to a family of different development boards, with notable enhancements over similar existing offerings that include the use of Intel’s leading-edge dual-core Atom system-on-chip, increased I/O capabilities and software support, and a new, simplified industrial design.

These engineering improvements promise greater performance, increased durability and reductions in cost whilst keeping the device very compact. While Intel works to extend the family of its Quark system-on-chips, they have bought the Edison development board to market now in order to meet a broad range of market growth in the embedded and IoT sector.

Edison offers a dual-core, dual-threaded 500 MHz CPU combined with an additional external microcontroller and over 30 different I/O interfaces connected to external systems via a small 70-pin connector, providing a powerful and flexible hardware platform that offers solid performance and good value for wearable or small-form-factor application and hardware development.

System integration is easy as popular networking technologies such as Wi-Fi and Bluetooth Low Energy are supported by the Edison platform with no extra hardware needed, and the board itself is only slightly physically larger than an SD card.

Intel believes the Edison platform will provide more value for embedded computing users with its simplified design process, increased durability and value for money, with this new family of different boards and products offering individuals and small, innovative companies a compelling platform to introduce smart and connected wearable computing designs and Internet-of-Things products that will delight people in new and unexpected ways.

As an example of the Edison platform in action, Intel has demonstrated the Mimo baby monitor from Rest Devices. Based on a tiny Edison-based computer packaged into a toy turtle the size of a baby’s hand, the system receives data from sensors worn on a baby’s clothing, monitoring temperature, breathing, motion and more, and transmits its information to a smartphone via Bluetooth Low Energy, eliminating the need for an external receiver.

Besides sending the baby’s data to an app on the parents’ iOS or Android device, this compact Edison-based wearable computer can trigger actions on connected devices, such as an automatic bottle warmer accompanying the system demonstrated by Intel and Rest Devices which also incorporates a networked Intel Edison board inside.

Thanks to the tiny size and ease of integration into existing and new designs, the Edison platform will accelerate the design and production of almost any connected device.

And with our team here at the LX group, it’s simple to get prototypes of your devices based on the Edison up and running – which also translates to lowering the cost of the system development through to the final product. We can partner with you – finding synergy with your ideas and our experience to create final products that exceed your expectations.

To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Follow

Get every new post delivered to your Inbox.

Join 39 other followers