Hackers: heroes of the computer revolution
Hackers: heroes of the computer revolution
The C++ programming language
A framework for information systems architecture
IBM Systems Journal
Software processes are software too
ICSE '87 Proceedings of the 9th international conference on Software Engineering
On the use of formal methods in software development
ICSE '87 Proceedings of the 9th international conference on Software Engineering
The psychology of computer programming
The psychology of computer programming
Managing the software process
The workshop system: a practical knowledge-based software environment
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Theory-W Software Project Management Principles and Examples
IEEE Transactions on Software Engineering
Software engineering risk analysis and management
Software engineering risk analysis and management
Rapid application development
Software risk management
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The capability maturity model: guidelines for improving the software process
The capability maturity model: guidelines for improving the software process
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
Test and analysis of software architectures
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Software reuse: architecture, process and organization for business success
Software reuse: architecture, process and organization for business success
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Software architecture in practice
Software architecture in practice
Software project management: a unified framework
Software project management: a unified framework
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The Rational Unified Process: an introduction
The Rational Unified Process: an introduction
The unified software development process
The unified software development process
Design and code inspections to reduce errors in program development
IBM Systems Journal
Extreme programming explained: embrace change
Extreme programming explained: embrace change
PMDB—a project master database for software engineering environments
ICSE '85 Proceedings of the 8th international conference on Software engineering
Software technology maturation
ICSE '85 Proceedings of the 8th international conference on Software engineering
Adaptive software development: a collaborative approach to managing complex systems
Adaptive software development: a collaborative approach to managing complex systems
On the criteria to be used in decomposing systems into modules
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Communications of the ACM
Practical Software Reuse
Darwin among the Machines: The Evolution of Global Intelligence
Darwin among the Machines: The Evolution of Global Intelligence
Rapid Development: Taming Wild Software Schedules
Rapid Development: Taming Wild Software Schedules
Software Engineering Economics
Software Engineering Economics
The Java Language Specification
The Java Language Specification
Developing Software for the User Interface
Developing Software for the User Interface
Free Software, Free Society: Selected Essays of Richard M. Stallman
Free Software, Free Society: Selected Essays of Richard M. Stallman
The Cathedral and the Bazaar
Recognizing and responding to "bad smells" in extreme programming
Proceedings of the 24th International Conference on Software Engineering
Software Maintenance Management
Software Maintenance Management
The Software Factory: A Historical Interpretation
IEEE Software
Anchoring the Software Process
IEEE Software
ICSE '79 Proceedings of the 4th international conference on Software engineering
Analyzing medium-scale software development
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Structured programming in a production programming environment
Proceedings of the international conference on Reliable software
Assertions: A Personal Perspective
IEEE Annals of the History of Computing
Balancing Agility and Discipline: A Guide for the Perplexed
Balancing Agility and Discipline: A Guide for the Perplexed
The specification and application to programming of abstract data types.
The specification and application to programming of abstract data types.
Guest Editors' Introduction: Model-Driven Development
IEEE Software
20th century vs. 21st century C&C: the SPUR manifesto
Communications of the ACM - The disappearing computer
Architecture Reviews: Practice and Experience
IEEE Software
Value-Based Processes for COTS-Based Applications
IEEE Software
Improving quality through software process improvement in Thailand: initial analysis
3-WoSQ Proceedings of the third workshop on Software quality
Principles of Program Design
Software psychology: Human factors in computer and information systems (Winthrop computer systems series)
Reliable software through composite design
Reliable software through composite design
Programming in Modula-2
Value-Based Software Engineering
Value-Based Software Engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Impact of software engineering research on the practice of software configuration management
ACM Transactions on Software Engineering and Methodology (TOSEM)
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Structured Analysis and System Specification
Structured Analysis and System Specification
Work-Oriented Design of Computer Artifacts
Work-Oriented Design of Computer Artifacts
Software Engineering Techniques: Report of a conference sponsored by the NATO Science Committee, Rome, Italy, 27-31 Oct. 1969, Brussels, Scientific Affairs Division, NATO
Cooperating Sequential Processes, Technical Report EWD-123
Cooperating Sequential Processes, Technical Report EWD-123
Lessons from a dozen years of group support systems research: a discussion of lab and field findings
Journal of Management Information Systems - Special issue: Information technology and its organizational impact
The World Is Flat [Updated and Expanded]: A Brief History of the Twenty-first Century
The World Is Flat [Updated and Expanded]: A Brief History of the Twenty-first Century
On the Systems Engineering and Management of Systems of Systems and Federations of Systems
Information-Knowledge-Systems Management
A contextualized study of COTS-Based e-service projects
ICCBSS'05 Proceedings of the 4th international conference on COTS-Based Software Systems
Integration of well posedness analysis in software engineering
Proceedings of the 2007 ACM symposium on Applied computing
Applying Model-Driven Development to Pervasive System Engineering
SEPCASE '07 Proceedings of the 1st International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments
Controversy Corner: A new research agenda for tool integration
Journal of Systems and Software
Visibility of control in adaptive systems
Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems
A Collaborative Method for Reuse Potential Assessment in Reengineering-Based Product Line Adoption
Balancing Agility and Formalism in Software Engineering
Autonomic Computing Now You See It, Now You Don't
Software Engineering
ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes
Software service engineering: Tenets and challenges
PESOS '09 Proceedings of the 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Productivity trends in incremental and iterative software development
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Student classroom software development projects: a practitioners perspective: panel discussion
Journal of Computing Sciences in Colleges
Knowledge-oriented software engineering process in a multi-cultural context
Software Quality Control
Detection of consistent patterns from process enactment data
ICSP'08 Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story
Information and Software Technology
Assessments in global software development: a tailorable framework for industrial projects
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Revisiting the concept of components in software engineering from a software ecosystem perspective
Proceedings of the Fourth European Conference on Software Architecture: Companion Volume
Conceptual application domain modelling
APCCM '09 Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modeling - Volume 96
The future of research in free/open source software development
Proceedings of the FSE/SDP workshop on Future of software engineering research
Proceedings of the 48th Annual Southeast Regional Conference
Challenges of a project-based learning approach towards requirement engineering
SEPADS'11 Proceedings of the 10th WSEAS international conference on Software engineering, parallel and distributed systems
Architecture-Driven Modelling Methodologies
Proceedings of the 2011 conference on Information Modelling and Knowledge Bases XXII
International Journal of Networking and Virtual Organisations
Supporting collaboration in the development of complex engineering software
Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
Information and Software Technology
Qualitative research on software development: a longitudinal case study methodology
Empirical Software Engineering
An analysis of trends in productivity and cost drivers over years
Proceedings of the 7th International Conference on Predictive Models in Software Engineering
How Well Do Search Engines Support Code Retrieval on the Web?
ACM Transactions on Software Engineering and Methodology (TOSEM)
Information and Software Technology
Using basic Statechart to program industrial controllers
Computer Standards & Interfaces
Managing emerging configuration dependencies in multi product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Field study on requirements engineering artefacts and patterns
EASE'10 Proceedings of the 14th international conference on Evaluation and Assessment in Software Engineering
EASE'08 Proceedings of the 12th international conference on Evaluation and Assessment in Software Engineering
Joint implicit alignment work of interaction designers and software developers
Proceedings of the 7th Nordic Conference on Human-Computer Interaction: Making Sense Through Design
Point-and-shoot security design: can we build better tools for developers?
Proceedings of the 2012 workshop on New security paradigms
HCSE'12 Proceedings of the 4th international conference on Human-Centered Software Engineering
Software Engineering Productivity: Concepts, Issues and Challenges
International Journal of Information Technology Project Management
The true role of active communicators: an empirical study of Jazz core developers
Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
Maps of lessons learnt in requirements engineering: a research preview
REFSQ'13 Proceedings of the 19th international conference on Requirements Engineering: Foundation for Software Quality
When agile meets the enterprise
Information and Software Technology
Information and Software Technology
Crafting interaction: The epistemology of modern programming
Personal and Ubiquitous Computing
Hi-index | 0.00 |
George Santayana's statement, "Those who cannot remember the past are condemned to repeat it," is only half true. The past also includes successful histories. If you haven't been made aware of them, you're often condemned not to repeat their successes.In a rapidly expanding field such as software engineering, this happens a lot. Extensive studies of many software projects such as the Standish Reports offer convincing evidence that many projects fail to repeat past successes.This paper tries to identify at least some of the major past software experiences that were well worth repeating, and some that were not. It also tries to identify underlying phenomena influencing the evolution of software engineering practices that have at least helped the author appreciate how our field has gotten to where it has been and where it is.A counterpart Santayana-like statement about the past and future might say, "In an era of rapid change, those who repeat the past are condemned to a bleak future." (Think about the dinosaurs, and think carefully about software engineering maturity models that emphasize repeatability.)This paper also tries to identify some of the major sources of change that will affect software engineering practices in the next couple of decades, and identifies some strategies for assessing and adapting to these sources of change. It also makes some first steps towards distinguishing relatively timeless software engineering principles that are risky not to repeat, and conditions of change under which aging practices will become increasingly risky to repeat.