subject: Bring Innovation To Products With Embedded Agile Software Development [print this page] Today agile software development is rapidly gaining popularity among enterprises as adopting agile methods helps greatly to improve software development or application development processes. Software development teams often face issues such as unpredictable schedules, poor quality, long development cycles, missed customer expectations, late delivery, and developer burnout. This can be overcome effectively with the iterative approach of the Agile Development.
Wikipedia defines agile software development as a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, 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 interactions throughout the development cycle. Simply put, in agile development the project is broken into small iterations of one or two weeks duration. Each iteration ends in a working software, which is used to gauge the software development progress. Unlike other software development models, agile development gives emphasis on the following.
Human interaction and team work
Continuous customer/developer collaboration
Responding to change rather than following a plan
Embedded software is a software system that permanently resides in a device whose operations it controls. Embedded software is mostly used in mission-critical applications and agile characteristics such as short iterations, pair programming, and frequent communication with the customer help the embedded software developer in developing embedded applications (that reside in the software layer and are hardware dependant (i.e., "middleware")) as well as device software such as drivers and firmware.
Today technology innovation is driving rapid changes in the embedded Agile software development space, where sophisticated features are built into increasingly small hardware and complex software designs. Enterprises keen on developing embedded applications using agile software development methodology should collaborate with someone who has worked on a wide range of embedded agile software development solutions, from storage to networks to mobile solutions. They must have expertise in managing the following:
Processors & Hardware Platforms
Motorola 56K
Texas Instruments DSP
ARM
IA32
MIPS
PowerPC
SH-4
StrongARM
xScale
Motorola 68010
Intel 80386
IXP-425
IDT
Columbia
AM64
Real-Time Operating Systems
Android
VxWorks
Embedded Linux
RTLinux
Windows CE
Symbian
eCos
Nucleus
ThreadX
Languages
Assembler
C/C++
VC++
C#/.NET
PHP
Perl
Java
Java EE
Ruby
HTML/PHP/SQL/XML
Embedded software development is the future of IT industry as it helps to bring innovation to products. Hence, pay attention to it and start investing in it from today onwards.