• IEEE.org
  • IEEE CS Standards
  • Career Center
  • About Us
  • Subscribe to Newsletter

0

IEEE
CS Logo
  • MEMBERSHIP
  • CONFERENCES
  • PUBLICATIONS
  • EDUCATION & CAREER
  • VOLUNTEER
  • ABOUT
  • Join Us
CS Logo

0

IEEE Computer Society Logo
Sign up for our newsletter
FacebookTwitterLinkedInInstagramYoutube
IEEE COMPUTER SOCIETY
About UsBoard of GovernorsNewslettersPress RoomIEEE Support CenterContact Us
COMPUTING RESOURCES
Career CenterCourses & CertificationsWebinarsPodcastsTech NewsMembership
BUSINESS SOLUTIONS
Corporate PartnershipsConference Sponsorships & ExhibitsAdvertisingRecruitingDigital Library Institutional Subscriptions
DIGITAL LIBRARY
MagazinesJournalsConference ProceedingsVideo LibraryLibrarian Resources
COMMUNITY RESOURCES
GovernanceConference OrganizersAuthorsChaptersCommunities
POLICIES
PrivacyAccessibility StatementIEEE Nondiscrimination PolicyIEEE Ethics ReportingXML Sitemap

Copyright 2025 IEEE - All rights reserved. A public charity, IEEE is the world’s largest technical professional organization dedicated to advancing technology for the benefit of humanity.

  • Home
  • /Publications
  • /Tech News
  • /Build Your Career
  • Home
  • / ...
  • /Tech News
  • /Build Your Career

Software Engineering for Bioinformatics — Teaching Domain Specificity

By IEEE Computer Society Team on
February 1, 2023

Software engineering for bioinformaticsSoftware engineering for bioinformaticsBioinformatics refers to the science of collecting and analyzing complex biological data. An example is the analysis of genetic codes. The software used to gather, organize, visualize, analyze, interpret, and store such data is immensely complex and increasingly needs to be designed specifically for the field in which it will be used. Bioinformatics software engineers need to first understand the complexity of the computational tasks required to address the biological problems of the specific life science they are developing software for.

As the needs and requirements evolve, the success of software engineering for bioinformatics begins with the education of engineers, and a key element is teaching domain specificity. Immense amounts of time and resources can be saved by benefiting from the collective successes and failures of the bioinformatics software development community. The results of a survey among developers can improve our understanding of the requirements and, thereby, our approach to education.

The Approach to Development


The survey revealed that the majority of developers used prototyping or extreme programming (XP) as the process they followed. But how the processes were used differed, often based on what is applicable in the field of bioinformatics. This highlighted the need for collaboration within the community as to what works and what doesn’t. For example, prototyping may provide a more rapid solution to the client, but often the prototype is used as the actual software, resulting in bugs and other problems in the long run. Educators of the next generation of developers need to show the importance of a knowledge of XP and its associated paradigms, such as test-driven development. Ultimately, strategies may need to be mixed and adapted to fit the requirements of individual projects.


Want More Tech News? Subscribe to ComputingEdge Newsletter Today!


The Importance of Documentation


The importance of proper documentation goes beyond the maintenance needs of the specific project and extends into the education of the community itself. Thorough documentation saves money in the long run and increases the efficiency of maintenance of the software, but it also benefits future development. Existing software can be expanded and improved upon instead of developers being required to start from scratch.

Best Practices for Quality Assurance


Code review and testing must be performed adequately to ensure the quality and maintainability of the end product. The survey results showed that many developers feel that these steps fall far short of being thorough. Including writing test code and performing code reviews as part of the curriculum may help developers strengthen their appreciation for quality assurance best practices.

Evolution and Maintenance


As bioinformatics software becomes increasingly complex, it stands to reason that it would be expected to have a longer life cycle. However, increased age often translates into more frequent and costly maintenance. In order to achieve the right balance, educators would need to impress on budding developers the need to understand the cause-and-effect relationship between software complexity, lifecycle, and maintenance.

Requirements Gathering Techniques


It is helpful for bioinformatics software developers to have a knowledge of the specific requirements of the science being studied by their clients. Beyond what knowledge they may already have, they often need to interview end users and read up on current documentation. Again, community-based collaboration and agile requirement-gathering techniques will contribute to the success of the final product.

Additional concerns of bioinformatic software developers may be how to integrate and visualize data and when and how to reuse existing software. Helping developers to be cognizant of the challenges and how they can be solved at the educational stage will better prepare them for the hurdles they will face in the real world of bioinformatic software development. You can download and read the full results of the survey, Software Engineering for Bioinformatics, and access its comprehensive suggestions for educators.

LATEST NEWS
Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development
Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development
IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System
IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System
IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System
IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System
Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?
Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?
AI Agentic Mesh – A Foundational Architecture for Enterprise Autonomy
AI Agentic Mesh – A Foundational Architecture for Enterprise Autonomy
Get the latest news and technology trends for computing professionals with ComputingEdge
Sign up for our newsletter
Read Next

Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development

IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System

IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System

Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?

AI Agentic Mesh – A Foundational Architecture for Enterprise Autonomy

IEEE O.C A.I “DEVHACK” Hackathon 2025 Winner Celebration

Broadening Participation Winners 2026

IEEE Publications Serve as Accessible Industry Standard for Authors