An Agile Embedded Systems Design Capstone Course

1 downloads 0 Views 155KB Size Report
ARM, Texas Instruments and Cypress for the round table at the “ARM Developer Day”. Atlassian for their educational license grant on software development and.
Session F4F

Work in Progress - An Agile Embedded Systems Design Capstone Course Antonio F Mondragon-Torres, Alexander Kozitsky, Clifford Bundick, Edward Mc Kenna Jr, Eric Alley, Matthew Lloyd, Peter Stanley and Roger Lane Rochester Institute of Technology, {afmiee,axk7127,ccb3795,ejm7169,eja8967,mrl9121,prs7351,rjl7405}@rit.edu Abstract - Embedded systems design has been characterized by the combination of two basic design methodologies: Hardware and Software. In this work in progress we incorporated Agile Project Management methodologies to a Computer Engineering Technology senior capstone course on product ideation, prototyping, demonstration and final presentation. As students were going through the course, they were; imprinting their stories on a wiki; creating, self assigning, working and closing tasks; following an Agile like methodology; and behaving like an entrepreneurial start-up company that wants to launch an innovative product. INTRODUCTION An embedded system is the combination of hardware (HW) and software (SW) to tailor a system to perform a specific function. Embedded systems are everywhere, from miniature implantable medical devices to smart phones and cars. Embedded systems design (ESD) requires multidisciplinary teams. In this work in progress we demonstrate how Agile project management (APM) [1] methodologies (traditionally used to develop Software) were incorporated to a Computer Engineering Technology (CpET) senior capstone course on ESD product ideation, prototyping, demonstration and final presentation. CpET students have already taken a strong sequence on ESD and are proficient in both HW and SW, but until this course their experience was based more on weekly laboratory exercises and outcomes defined by the instructor, rather than allowing the students to come up with an independent solution based on their acquired skills. The intended learning outcomes for this course are: to enable team collaboration; to learn project management techniques; work in and industry like safe environment, and to present their work to an audience. While these goals were accomplished effectively in previous course offerings in a more traditional project management framework, the innovations included in this new course are: inclusion of APM methodologies to let the project teams self-organize; create a backlog of to-do tasks, and allow these to be self assigned; work on sprints or releases on incremental versions of the final product; define product specifications based on their research of a target market; create competitive teams; reusability of both HW and SW components; work on product differentiation; create intellectual property (IP) blocks; evaluate time to market requirements; use of version

control software; and work with an open source hardware and software mentality. During the quarter, students are working on five sprints or major revisions. At the end of each sprint, a more refined version of their project was demonstrated. Students were asked to specify parameters that are not included as part of a traditional course, such as: price, power consumption, battery life, graphical user interface design, timing closure, signal integrity, HW/SW partitioning, HW/SW interfacing, etc. Along the course, students developed high level specification documents as well as individual functional specifications for the IP blocks they created. The outcomes for this course are a set of HW and SW modules and documentation in which future courses could leverage. THE PRODUCT – AN MP3 DECODER WITH TOUCH SCREEN The product to be created in this first course offering is an MP3 player using an FPGA platform, a soft core processor, and a LCD display with touch-screen capabilities. In order to develop the project during the ten weeks available in a quarter, instead of writing the MP3 decoding algorithm from scratch, we opted to use an IP block already available, to concentrate more on the final outcome rather than the specific signal processing algorithm. THE VISION – VALUE PROPOSITION •







Prototype: Students were asked to create a cardboard prototype to accomplish the vision of their product, and instead they proposed to create a plastic prototype using a 3D plotter and taught themselves how to design their model using Solidworks. This innovation created a very interesting new collaboration with the Mechanical Engineering Technology Department. Product Differentiation: Current consumer electronics products are rich in communications and multimedia technologies. Students are encouraged to think on what will make their product unique and work only on those tasks. Students have to carefully evaluate on what IP modules are already available for reuse and their cost implications on the overall product budget. Value Proposition: Students are encouraged to create value in their product for a specific market niche. Which segment would be the principal customer of your product? One team selected karaoke features, while other team selected a minimalist approach and a stand. Social Networking, Agile and Entrepreneurship: As the students were going through the course, they were;

978-1-61284-469-5/11/$26.00 ©2011 IEEE October 12 - 15, 2011, Rapid City, SD 41st ASEE/IEEE Frontiers in Education Conference F4F-1

Session F4F



imprinting their stories on a wiki; creating, self assigning, working and closing tasks; following an Agile-Scrum like methodology; and behaving like an entrepreneurial start-up company that wants to launch an innovative product. Global Economy: In addition to widespread communication, Internet has made a revolution on how business are conducted globally. Nowadays, it is very common to design products with teams all over the world. In addition many US jobs are being outsourced and students need to learn how to compete and conduct business in a global market.





THE COURSE – EMBEDDED SYSTEMS DESIGN III •



Lectures: At the beginning of the course, the students are told that this course rather than teach new embedded systems design concepts, the course will be a direct application of what they have already learned in the CpET program. The difference strives on team collaboration, component reutilization, agile techniques, and industrial-like design environment. There were several invited lectures given by subject matter experts from some other disciplines complementary to our program skills such as: software engineering, open source hardware platforms, and real time operating systems. Agile: Agile techniques have been used for software development for long time, especially in object oriented methodologies [2, 3]. Agile is now started to be used on embedded systems [4] and System on a Chip (SoC) [5] design. Agile techniques can be used where traditional project management techniques are not adequate, such as on innovative products requiring adaptation and rapid feedback. Agile ESD Development (adaptation from [6])

o

o

o



Cross-functional teams that integrate hardware and software development, or, perhaps, combine design, verification and physical implementation. This way people are working together rather than "creating headaches for each other." Incremental design and verification. "Do little bits at a time. Small increments create tight feedback and review cycles that help a team converge on a successful product. Incremental development is the alternative to the monolithic feature sets most teams push through their development process." Teamwork and communication. Foster effective verbal communications rather than "sitting in cubes and writing emails."

Innovation: The presented course is an open ended project based ideation curriculum. Students have worked mostly on directed laboratory exercises until this course. Students are organized in teams and form a small startup with a unique product targeted to a specific market. IP creation and reuse is encouraged. The concepts of rapid prototyping and fast time to market are emphasized during the course.

Energy Efficiency: One characteristic of this generation of product designs is the "energy awareness" requirement. Students in addition to functionality are given the task to think in terms of power consumption. Low power design methodologies are reviewed and strategies for performance vs. energy consumption are highlighted. Capstone Experience: At the end of the course, students presented their work to a small audience composed of professors, classmates, and industrial guests. In addition, they were required to prepare a video demonstration and upload it to YouTube. The final project deliverable was to reproduce their product on the professor’s platform out of the version control repository, by following a set of written instructions and executable scripts. The objective was to be able to reproduce results based on written documentation and particular tags in the version control system. CONCLUSIONS

Students were presented with an open end problem to be solved using the knowledge acquired through the CpET program. Students have to come with a realistic solution within 10 weeks including a working prototype and accompanying documentation. Students applied Agile project management techniques to develop their product, in contrast to traditional project management techniques. Students are given a similar experience to that of a small startup company with limited resources, time to market constraints, and global competition. ACKNOWLEDGMENT We would like to acknowledge the support of Gregory Jurman CpET student for his ideas and IT support on Attlassian software. Kenn Martinez from the Software Engineering department for his software development with UML lecture. Philip Zevitas from QNX for his lecture on RTOS. ARM, Texas Instruments and Cypress for the round table at the “ARM Developer Day”. Atlassian for their educational license grant on software development and collaboration tools for teams. Altera has been the biggest contributor by donating boards and daughter cards to make this course possible. William Leonard and the MMET department for their support on the physical prototype. REFERENCES [1] [2]

[3] [4] [5] [6]

C. Larman, Agile and Iterative Development: A Manager's Guide: Addison-Wesley Professional, 2003. R. Goering. ( 2010, Can Agile Software Development Methods Help SoC Design? Available: http://www.cadence.com/Community/blogs/ii/archive/2010/08/18/can -agile-software-development-methods-help-soc-design.aspx (2011, IBM Agile development - Rational. Available: http://www01.ibm.com/software/rational/agile/ J. A. Highsmith, "Agile project management creating innovative products / Jim Highsmith," ed: Upper Saddle River, NJ AddisonWesley, c2010. A Cadence Vision: EDA360 Available: http://www.cadence.com/eda360/pages/default.aspx Agile SoC. Available: http://www.agilesoc.com/

978-1-61284-469-5/11/$26.00 ©2011 IEEE October 12 - 15, 2011, Rapid City, SD 41st ASEE/IEEE Frontiers in Education Conference F4F-2

Session F4F AUTHOR INFORMATION Antonio F Mondragon-Torres, Ph.D., Assistant Professor, Rochester Institute of Technology, Senior Member IEEE, [email protected]. Alexander Kozitsky, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected]. Clifford Bundick, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected].

Eric Alley, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected]. Matthew Lloyd, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected]. Peter Stanley, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected]. Roger Lane, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected].

Edward Mc Kenna Jr, Computer Engineering Technology Student, Rochester Institute of Technology, [email protected].

978-1-61284-469-5/11/$26.00 ©2011 IEEE October 12 - 15, 2011, Rapid City, SD 41st ASEE/IEEE Frontiers in Education Conference F4F-3