IEEE Software's mission is to build the community of leading and future software practitioners. The magazine delivers reliable, useful, leading-edge software development information to keep engineers and managers abreast of rapid technology change. The authority on translating software theory into practice, the magazine positions itself between pure research and pure practice, transferring ideas, methods, and experiences among researchers and engineers. Peer-reviewed articles and columns by seasoned practitioners illuminate all aspects of the industry, including requirements and design, software construction, development tools, process improvement, project management, software maintenance, testing, and much more.
In addition, IEEE Software’s departments offer editorials; interviews; roundtables; information on current trends, people, and projects; quick how-to's; book reviews; as well as empirically based executive summaries on technologies, practices, and methods.
Please consult our Editorial Calendar for more information on special issues and submission deadlines. To propose a special-issue topic, see our special-issue proposal instructions or contact software@computer.org if you have further questions.
IEEE Software is a magazine, not a journal. Articles should be understandable to a broad range of developers who want information they can apply in their daily work. Writing should be down-to-earth, practical, original, and comprehensible to all readers, regardless of their specialty. Don’t assume that your audience has specialized experience in any particular subfield. Explain terms and concepts and avoid jargon and academic language.
Use active instead of passive voice ("We discovered ..." rather than "It was discovered ...") and straightforward declarative sentences. In an introduction of two to three paragraphs, tell what the article is about and why this topic is significant. Avoid repetition of results and signposting (indications of what will follow or references to previous or subsequent sections). If you must use acronyms, define each one on its first appearance. When you mention a person in the text, include the full name on first reference and only the last name subsequently. Conclusions should not summarize but instead outline future goals or lessons learned. We allow footnotes only when essential in tables; otherwise, extra notes are placed in parentheses in the text.
Once we accept your article for publication, IEEE Software staff editors will work with you to prepare the article to meet our style requirements, editing it according to our requirements regarding length, presentation, grammar, and style (see our Editing Philosophy). Editing includes copy editing (grammar, punctuation, and capitalization), style editing (conformance to the Computer Society magazines' house style), and content editing (flow, meaning, clarity, directness, and organization). We are happy to correct any errors inadvertently introduced during the editing process but must adhere to our style guidelines for consistency throughout the magazine. The editing process begins four to ten weeks before publication and takes two to three weeks.
Types of articles
Regular manuscripts: Besides specific topics of interest, we seek articles that fit particular genres, such as industry experience reports, case studies, tool reports, and so on. We strongly encourage submission of surveys, tutorials, and short, practitioner-oriented articles. For structuring in-depth technical articles, please consult Steve McConnell's "How to Write a Good Technical Article" (pdf) and Hakan Erdogmus's "Tips for Software Authors" (pdf).
Special issue manuscripts: These articles cover a specific topic scheduled on our editorial calendar. Please be sure to select the appropriate issue (manuscript type) when uploading your manuscript. For more information and to see upcoming special issue topics, see our Editorial Calendar.
For more information on the qualities that we are looking for in submissions, see What we are looking for in submissions.
We're looking for articles on the following topics:
Project management and software economics
- Tailoring processes to organizational and business goals
- ROI of process improvement
- Post-project analysis
- Cost effectiveness of lifecycle processes, practices, and techniques
- Business issues in small and start-up software organizations
- Planning and performance tracking software projects
- Earned-value management techniques in software projects
- Schedule and effort estimation
- Risk management of software projects
Programming paradigms and languages
- Language technology -- trends and latest developments
- Scripting and dynamic languages
- Aspect orientation
- Object orientation -- trends and latest developments
- Programming idioms and patterns
- Type systems, types, and program verification
Distributed, embedded, and enterprise systems development
- Deployment of distributed software
- Development of embedded software
- Engineering of secure software
- Development of Web-based software
- Software engineering in the automotive industry
- Service orientation, SOA, and related technologies
- Enterprise architectures and patterns
- Software engineering of business processes
- Standards
Software processes and practices
- Emerging development methods, processes, techniques, and practices
- Experiences with agile, lightweight, and flexible approaches
- Collaborative and distributed software development
- Software development on the Web
- Practitioners' good-practice guides on topic X
- Using and developing open source software
- Software development in small and medium-sized organizations
- Process improvement, experience management, and learning organizations
- Best practices, lessons learned, what to avoid
Software development infrastructure
- Development tools
- Development platforms
- Open source tools
- Integrated environments
- Application frameworks
- Domain orientation
- Middleware
- Software development using off-the-shelf components
Human and social aspects of software development
- Collaboration and communication in software teams
- User involvement in software development
- Multidisciplinary teams
- Roles and responsibilities in software teams
- The effect of organizational culture on software development
- Implications of geographical distribution
- Integration of user concerns in software development
- Use of awareness, presence, and social computing approaches to support software development
- Soft skills needed by software practitioners
- Psychology of programming
- Qualitative, field, and observational studies of software practitioners
Sofware design and architectures
- Architectures as corporate assets
- Introducing and using product lines
- Scaling software engineering
- Software architecture as a profession
- Domain-driven approaches
- Model-driven approaches
- Design patterns
- Designing distributed systems
- Designing real-time systems
- Aspect-oriented design
- New design methods and paradigms
Software quality and testing
- Approaches to software quality assurance
- Verification and validation techniques
- Testing techniques and approaches
- Experiences with software process improvement
- Process improvement frameworks and approaches
- CMM/CMMI constellation insights
- Software process and quality measurement
- Industrial experience with formal methods
- Software quality standards
Education and training
- Critical reviews of bodies of knowledge
- Software engineering education and curriculum development
- Certification and licensing of software practitioners
Requirements
- Requirements acquisition, specification, analysis, and validation
- Requirements specification languages and tools
- Requirements processes
- Requirements-based testing
- Requirements evolution
- Requirements management for product families
- Stakeholders, prioritization techniques, requirements negotiation
- Aligning business goals and system requirements
- Impact of architecture on requirements
- Requirements techniques for specific application domains (e.g., high-assurance systems, interactive systems, ubiquitous computing systems, etc.)
Standards
- Professional standards, personal liability
- What can an individual do with a standard?
- Roadmaps for how organizations can apply standards
Empirical results/evidence
- Case studies, which describe the application of software engineering practices in an industrial or organizational setting
- Project experience reports, which provide a critical review of experiences during one or more phases of a software development project and draw lessons learned from that experience
- Controlled and quasi-controlled experiments, which present results of highly rigorous examination of a specific practice or aspect of development in a way that's relevant and accessible to practitioners
- Surveys and interviews, which illuminate an aspect of the state of the practice
If you think we should be interested in some other topic, by all means tell us!
All manuscripts submitted must be original. Articles published (completely or in significant part) in other magazines or journals will not be considered for publication in IEEE Software. We will consider papers published in conference proceedings if they contain important or interesting new results, but they will be reviewed again by the magazine's reviewers, independent of the conference's reviewing process. If a manuscript has been published or is being considered for publication elsewhere, the author must include that information in the submission cover letter. If such an article is accepted for publication in IEEE Software, the author is responsible for securing permission from the copyright holder.
IEEE Software is looking for succinct, practical, readable articles that will appeal to experts and nonexperts alike.
Articles should not exceed 5,400 words, including all text, the abstract, keywords, bibliography, author biographies, and table text. Each table and figure counts as 200 words (to account for white space needed). Any article that exceeds this word count may be rejected automatically without going through the review process. Use as few words as possible to convey your meaning—5,400 words is the maximum, not the goal. Include a title page containing your submission's title and the names, affiliations, and contact information of all coauthors.
We accept plain text, Word, LaTeX, Postscript, and PDF. Any file that you upload to Manuscript Central will convert into a PDF. Do not submit outlines or abstracts via Manuscript Central. If you want feedback on an abstract, email it to software@computer.org.
Our system has size limitations on individual files. Please do not attempt to upload a file larger than 20 MB.
Set the paper size in your text document to 8 1/2 inches wide by 11 inches high rather than A4. Margins should be at least one inch on the left and right and at least 1.5 inches from the top and bottom. Your manuscript must have page numbers on every page at least one inch from the bottom of each page.
Putting the article in context
We encourage Further Reading lists, lists of important URLs, and Related Work sidebars to help readers understand the context, relevance, and significance of your work.
Please number your references in the order in which they appear. On average, an article should have no more than 15 references, sometimes more in well-justified situations such as survey or tutorial pieces. Cite only published or scheduled-for-publication material that the public can easily access. Avoid listing multiple references for standards or methodologies that are well known to the community and Software's readership.
Citations must include full publication information—for articles, this means listing all authors, the article name, the publication's full name, the volume, issue number, month, and year of publication, and the pages cited. For conference proceedings, we need all authors' names, the article and proceedings titles, the proceedings publisher’s name (not the conference's location), the year of publication, and the pages cited. ( examples appear in the CS Style Guide).
We strongly encourage the use of visual presentation of your ideas. All illustrations must be submitted inline, cited in the text, numbered, and be accompanied by descriptive, clear, and complete captions. Graphs should show only the coordinated axes (or at most the major grid lines) to avoid dense, hard-to-read illustrations. Detailed graphics guidelines are available here. We also encourage the use of code fragments to illustrate important ideas or techniques. They may be inserted inline or treated as figures. If your article is accepted, be prepared to submit separate files for each figure. Please provide high-quality, high-resolution files for best results.
We often redraw line art to conform to other figures in the magazine. See our graphics guidelines for full details on resolution and file formats.
Supplemental material might include videos, extra graphics, and extended code samples. We prefer that you submit this type of material after discussion with IEEE Software’s publications coordinator.
Articles should be accompanied by a short biographical sketch. It should contain, in the following order, your current position and technical interests, prior applicable professional experience, education, professional affiliations, and address.
Abstract, keywords, and taxonomy
The abstract should be no more than 150 words and should describe the overall focus of your manuscript.
Keywords should closely reflect your topic. IEEE Software provides keywords that are taken from the ACM taxonomy. (This is an extended version of the ACM Computing Classification SystemCopyright © 2002 ACM, used with permission.)
We recommend that you enter a minimum of two keywords when uploading your manuscript. Expert reviewers in your topic area are assigned to your manuscript by keywords.
Columns and departments
Columns are usually about 1,400 to 2,000 words. Contact the specific column editor to see if he or she is accepting submissions and what the particular guidelines are. You may also contact lead editor Dale Strok.
From the Editor in Chief: EIC Hakan Erdogmus offers his thoughts and insights into the profession and practice of software development.
On Architecture: This column discusses Grady Booch’s ongoing work on and thoughts about building an architectural handbook for software-intensive systems. Editor: Grady Booch.
Bookshelf: This online department helps readers identify the best new and noteworthy books about software engineering and related topics. A corps of volunteers reviews titles relevant to their particular area of expertise. New candidate reviewers are encouraged to submit writing samples to the editor. Editor: Art Sedighi.
Currents: Trends, People, Projects. This department touches on a range of interesting developments in the software world. Let us know if you have ideas you’d like us to cover. Editor: Hakan Erdogmus.
Design: This column encourages developers to think more about software design principles and best practices and how to apply them. It explores both established and emerging design topics and strives to address these topics with a fresh eye that creates new insights and interest. Columnist: Rebecca Wirfs-Brock.
Letters: Let us know what you think of IEEE Software. We welcome your suggestions on anything, from critiques and ideas for topics to comments on our feature articles. Please send your letters to software@computer.org and include your full name, title, affiliation, and email address. Published letters are edited for clarity.
Loyal Opposition: This column discusses topics that support the improvement of software engineering practice (that's the "loyal" part) while opposing the slavish adoption of old or new ideas "just because" someone says we should (that's the "opposition" part). The result is a column that tends to be contrarian, frank, and hype-free. Columnist: Robert Glass.
Not Just Coding: This column encourages programmers to reach out beyond writing code to contribute in other ways to the success of their projects and teams. Columnist: J.B. Rainsberger.
Professional Development: This column covers all aspects of the software development profession pertaining to professional development, career advancement, education and training. It will be informative, guiding, and thought-provoking. Columnist: Philippe Kruchten.
Requirements: This column reports on all aspects of requirements and requirements-related activities throughout the software life cycle, especially on how new development practices affect requirements, and making innovative requirements techniques available to the widest audience. Columnist: Neil Maiden.
Software Technology: This column provides concise, hands-on information on technology that's just hitting the market or that's somewhere on the hype cycle. It offers guidance for those who don't get all the latest consulting and analyst reports and who don’t have the time to cover all the relevant journals, conferences, and trade shows. Columnist: Christof Ebert.
Tools of the Trade: This column explores the interplay between software development and the specific tools we can apply to the problem at hand. Columnist: Diomidis Spinellis.
User Centric: This column helps development teams incorporate ideas and techniques from user-centered and interaction design practices to help improve the usefulness and usability of software. Columnist: Jeff Patton.
Voice of Evidence: This column features executive summaries on the effectiveness of various software practices and technologies. Columnist: Forrest Shull
First-time authors
Help is available for first time authors. If you’d like to submit a one-page abstract of your article for editorial feedback, email the editor in chief.
- We don't accept articles under review by another publication.
- We don't allow resubmission of articles that have previously been rejected by IEEE Software.
- We don't look favorably upon short versions of journal or conference papers.
- We don't accept papers that have been published elsewhere, whether in other periodicals, books, edited volumes, or formal proceedings, and whether in print or digital form.
- We expect the authors to disclose any derivative works and their sources.
- Failure to disclose multiple related submissions or derivative works may result in IEEE publication sanctions against the authors.
- For more information, refer to the relevant IEEE policies.
We do not allow submission to more than one publication at one time. If we determine that a manuscript has been submitted to another publication before IEEE Software's review process is completed, your manuscript will automatically be withdrawn.
We do not accept duplicate submissions of manuscripts. Please do not attempt to enter or upload a modified version of a manuscript that is already in the system as a new submission.
Identical submissions will be immediately rejected.
If any portion of your submission has appeared or will appear in a conference, workshop, proceedings, or another periodical (including other IEEE Computer Society magazines & transactions), please include a copy of your previously published manuscript along with your IEEE Software submission and a summary of changes identifying the differences between the two.
Please be aware that editors and reviewers are required to check the submitted manuscript to determine whether a sufficient amount of new material has been added to warrant publication. The IEEE Computer Society's guidelines are that authors should only submit original work that neither has been published elsewhere nor is under review for another refereed publication. If authors have used their own previously published material as a basis for a new submission, they must cite the previous work(s) and clearly indicate how the new submission offers substantively novel or different contributions beyond those of the previously published work(s). Any manuscript not meeting these criteria will be rejected. Copies of any previous published work affiliated with the new submission must also be included as supportive documentation upon submission.
If you have questions regarding this policy, please contact the publications coordinator.
Articles submitted to us must be published under the IEEE copyright. At least one author must sign a release form transferring copyright to the IEEE (excepting certain key rights retained by authors) before we can publish an article. The author must secure all necessary copyright clearances. For more information, see our peer review tracking system called Manuscript Central or write to Software's publications coordinator.
Login instructions
The IEEE Computer Society employs a secure, Web-based manuscript submission and peer review tracking system called Manuscript Central for all article submissions to IEEE Software. The site itself provides detailed instructions on usage. This tool significantly reduces the time required for the peer review process.
Everyone who submits a manuscript must have a Manuscript Central account. If you have previously volunteered in any capacity for the IEEE Computer Society, Manuscript Central has emailed you or will email you a login and temporary password. If you do not know or have forgotten your password, please use the 'Password Help' function on the site log in page. Please avoid creating a duplicate account.
If you have not volunteered with the IEEE Computer Society or received a new-user email, then click on CREATE ACCOUNT. The required fields must be completed in order to continue the process.
Also, if you anticipate that you will need to be notified at two email addresses, please include the second email address (Primary CC).
If you have technical difficulties with your account, please contact Support by clicking the Get Help Now button in the upper right corner of your screen.
Authors must submit a word-processed (.doc or .txt) or print (.ps or .pdf) version that includes all figures and tables; we prefer to have both word-processed and print files. A unique manuscript tracking number will be assigned to your manuscript and should be used when corresponding with the publications coordinator. On the first page of the manuscript, include the title, "Version #...," all author names and affiliations, the date of submission, an abstract, and keywords. In the cover letter, include all authors' mailing addresses, daytime telephone numbers, email addresses, and fax numbers. For articles with more than one author, state who will act as the primary contact with the magazine. Please list all authors who contributed to your manuscript. Should there be any changes to the author’s contributions to a manuscript during a major or minor revision, you may update the list of contributing authors as part of the revision process in Manuscript Central.
Authors receive five complimentary copies of the issue in which their article appears. Authors may order extra copies as well.
Detailed information on uploading your manuscript is available here. The system requires you to proof your files before completing the uploading process.
Once you receive a confirmation letter from Manuscript Central, the publications coordinator will verify that your manuscript meets IEEE Software's word length requirements and forward your manuscript to the editor in chief for an initial review. If the editor in chief finds that your manuscript is within the scope of the magazine, it will be assigned to an editor.
You can log in to Manuscript Central and check the status of your manuscript anytime during the process. Normally, you will receive a final decision within four to six months.
We solicit peer reviews from at least three individuals both inside and outside the manuscript's specialty. Reviewers are assigned to manuscripts based on their expertise. Reviews are used as the basis for acceptance and content revisions. The editor in chief makes the final decision regarding publication. Only about 25% of all manuscripts submitted to IEEE Software are accepted, and the manuscripts we publish generally receive very positive reviews.
IEEE Software
10662 Los Vaqueros Circle
Los Alamitos, CA 90720-1314 USA
Phone: +1 714 821 8380
Fax: +1 714 821 4010
software@computer.org
Publications Coordinator (submissions)
Kathleen Henry
Senior Lead Editor (staff contact)
Dale Strok
Editor in Chief (volunteer)
Hakan Erdogmus
Phone: +1 613 991-1018
Fax: +1 613 952-7151
hakan.erdogmus at computer dot org
Group Managing Editor (staff)
Steve Woods