Welcome to AgileSOC.com



AgileSOC.com is here to promote the use of agile methods in ASIC and FPGA development to help teams manage themselves, create better hardware and make ASIC and FPGA development as enjoyable as it should be!


Follow agilesoc.com updates on linkedin


Why Agile?

ASIC and FPGA projects are becoming increasingly complex. Managing and planning such large, complex projects is becoming increasingly difficult. The waterfall model that is so prevalent in ASIC and FPGA development works well when a product is well-defined, unlikely to change in scope or complexity, has an experienced team assigned containing individuals with uniform and interchangeable capabilities and has an established high quality development process.

For many projects these conditions represent ideal scenarios that rarely apply.

  • Product feature sets are not fully realized at the outset of the project

  • Customers alter their expectations for the product as the development proceeds

  • Unexpected architectural challenges arise through the course of development as a result of under-estimating size or complexity, power or packaging constraints, thermal considerations, Design For Test issues and functional verification closure and others

  • With time to market being so critical, well defined development and quality assurance processes are disregarded or short-circuited

  • Company turnover results in people with different skills, capabilities, and personalities joining and leaving a project team at different times, possibly even in different geographic locations

The difficulties in planning for hardware projects under such conditions, and effectively managing all the team members have increased to such a point where many designs fail unnecessarily.

We are not alone. Software engineers and their management have faced similar challenges and issues. The software engineering community has responded to these issues by collecting a set of guiding principles and best practices to help tame the complexity of managing and implementing such challenging products through a practice called agile software development. The key aspect of agile development is the ability to absorb and even embrace change as a necessary component of software development with a realization and acceptance that rigid, defined process is an unreasonable expectation.

Feature Article

A Method is not a Methodology

Current functional verification methodologies like OVM and VMM have been critical in keeping pace with complexity in IC development. But are these technologies themselves the decisive factor when drawing the line between success and failure in functional verification? While the focus of functional verification and other aspects of IC development is generally dominated by technical challenges, teams are often overlooking the single most critical requirement for success: people.

Call for Articles

This is an open invitation for people interesting in sharing their interests and experiences related to applying agile development practices in the hardware domain. Articles are posted on agilesoc.com along with an author bio on the contributors page. Their is a huge range of relevant topics to explore:

  • tdd for rtl design and/or verification
  • transforming documentation with user stories
  • team organization with scrum
  • agile project planning
  • agile tools applied in SOC development
  • improving team dynamics
  • incremental development
  • integrating customers on development teams
  • agile practices applied to ESL
  • using agile to incorporate emulation
  • introducing agile concepts to ASIC teams
  • introducing agile concepts to management

...with many, many more topics that would provide great basis for discussion on how we can best adopt the great ideas that software developers have been using for years. If you are interested in contributing,  send us a short abstract or theme for your article!