"Systems analysis and design" is not a clear term. The concept of system analysis, referring to activities that analyze, model, simulate, or conduct experiments to determine feasibility, risk, quality attributes, or cost still exists. The level to which these activities are performed greatly depends on the type of system under development. A system that is life-critical or mission-critical may rely more on these types of activities than other types of systems. However, the idea that comprehensive or extensive design documents are created first and used by developers to build the system is not prevalent.
Big up-front analysis and design activities have fallen out of favor, with agile methods taking their place. Other philosophies, such as lean software development, often support the agile methods. These approaches tend toward small increments of software built iteratively, with just enough requirements analysis and design to reduce risk to an appropriate level. The agile techniques may still employ modeling, and these analysis and modeling techniques may use the same tools (like use cases, UML models, ER diagrams, threat models, data flow diagrams), but they have been supplemented by new tools such as stories, story mapping, and lighter-weight free-form diagrams and sketches. The overall emphasis is on just-enough and just-in-time analysis and design. These techniques are designed to take advantage of the inherent uncertainty and ambiguity, coupled with the ease of changing, building, and deploying software.