Successful software requires constant change that is triggered by
evolving requirements, technologies, and stakeholder knowledge.
This constant change constitutes software evolution. Software
evolution has gained steadily in importance and recently moved
into the center of attention of software developers. There is the
new prominence of evolutionary software development that
includes agile, iterative, open source, inner source, and other
processes. As a consequence, the bulk of software development
now happens in the stage of software evolution and this changed
the face of software engineering. This paper discusses
evolutionary software development and also discusses the
software change, which is the fundamental software evolution
task. It further discusses research methodologies, teaching
software evolution in undergraduate curriculum, and difference
between software evolution and software maintenance. For all
these themes, this travelogue paper presents the current state of
the art and the perspective of the future advance.