Software developers have largely accepted the merits of agile development and commonly debate the value of one agile practice against another. Agile software development is a creative process that does not need all details to be defines in advance. Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
A fundamental flaw in applying the classic waterfall model to software development is that the act of designing and constructing software cannot often be reliably defined in advance.
Will Agile methods also work in in hardware circles? Is hardware development a creative or defined process? According to Agile hardware development – nonsense or necessity? article it is difficult for the average hardware developer to offer an informed opinion on agile. While there are obvious differences between software development and hardware development, there are also significant similarities. Change happens in hardware development and there is no avoiding it.