原创 Are you laying bricks or building a palace?

2007-4-2 06:01 1498 1 1 分类: 消费电子
Mary Poppendieck's SD Expo 2007 keynote on the goals of Agile Software development got me thinking about applying some of these principles to embedded software development. Until the PC era in the 1980, most systems were turn-key. Hardware and software development happened under the same roof for the most part and the bricklayers also understood the shape of the palace they were building. With the arrival of the PC era, software development became decoupled from hardware to quite an extent. Specialisation became more pronounced and the system engineer who could wear all hats at any given time retreated into the background. So many people focused on the bricks that the ultimate goal of building the palace was forgotten.

Software projects are often delayed, over budget and under deliver. Software has been mostly developed in a sequential fashion and that too after the hardware platform has been developed. This worked fine in previous eras when delivery cycles were understood to be long and end user expectations were not high. However, the paradigm has shifted to one where the consumer drives the market, handhelds are within everyone's reach and expectations are rising higher and higher in terms of device usability and feature availability.

What is the take away for embedded systems developers? Just as the monolithic RTOSes of the last decade have given way to more modular RTOSes, expect applications to continue down the same path as the line between embedded systems and desktop systems blurs even more. The more modular the software, the easier it is to develop a piece at a time and test it so that fewer bugs are likely to be found in the field. This is the brick laying part. However don't forget the palace. The different bricks have all got to fit together, that is the modules must all work together and the end goal is to build a palace. The application you build will not exist in a vacuum. Think of the project from a system level perspective as you go through the development process. Set up system level test benches and module level test harnesses. If the target hardware already exists then you are ahead in the game. Real or virtual, you only have one shot at success.

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /4 下一条