What’re the Differences between Software Engineering, Application Lifecycle Management and Project Management?
Franco Scarpa

Franco Scarpa @francoscarpa

About: BD in CS 🎓 Azure Developer at Nebula 🖥 Web Developer 🌐 Blogger ✍🏻 Always Learning 📚 Minimalism and Performance ⚙️ Lover of JAMStack and Eleventy ❤️

Location:
Venice
Joined:
Jun 17, 2019

What’re the Differences between Software Engineering, Application Lifecycle Management and Project Management?

Publish Date: Jun 19 '20
2 7

Comments 7 total

  • Brandin Chiu
    Brandin ChiuJun 20, 2020

    Everything you've included here is an organizational process for building and shipping a product.

    Application Lifecycle Management refers to how an organization manages and plans their internal Software Development Lifecycle, and is in most cases (in my experience), a synonym for systems engineering, or the process of planning the full scope of a software project from start to finish including conceptualization and development. The actual act of doing this has fallen out of practice due to the wide adoption of Agile, and the more perverse version "move fast and break things", as popularized by large tech companies like Facebook.

    Project Management is the consistent review of a particular project to ensure that it is meeting it's goals: things like deadlines, financial goals, etc.

    In short, the lifecycle management is planning the development of the project, the engineering piece is actually programming it, and the project management piece is keeping it on track.

    That being said, these terms are heavily generalized, and will vary widely from organization to organization. In my over a decade of doing this, I've never actually formally worked in an environment with anyone responsible for application lifecycle management, for example. A lot of this work gets done as part of the software "engineering" component.

    So take these definitions as a more high-level review. The specifics will change heavily from one interpretation to another.

    • Franco Scarpa
      Franco ScarpaJun 20, 2020

      Thanks, Brandin. Your answer helped me. At University, I had both Software Engineering and Project Management classes. Unfortunately, I couldn’t attend them because they were optional, but now that I work as a developer I thought they were important things to know. For example, at work we use CI/CD pipelines to make night builds. Before this experience, I’d never heard about this concept. Again, I thought I was missing an important part of software development.

      • Brandin Chiu
        Brandin ChiuJun 20, 2020

        I'd highly encourage you to spend some time on your own learning about project management.

        It's a valuable set of skills to have. It will help you better appreciate the work your managers are doing and improve your ability to communicate and work with them, and it will prepare you for how your career will progress in the future.

        It's super important, and a knowledge set I find a lot of developers skip.

        • Franco Scarpa
          Franco ScarpaJun 20, 2020

          That’s great! I surely want to improve it! Do you think I should do the same with ALM and SDLC?

          • Brandin Chiu
            Brandin ChiuJun 20, 2020

            Understanding how SDLCs develop is probably important, but ALM specifically isn't really a thing anymore.

            The industry has matured a lot since ALM was used, and most of those responsibilities have been broken up into other jobs like devops and just general best practices.

            • Franco Scarpa
              Franco ScarpaJun 20, 2020

              What’s your version of “devops”?

              • Brandin Chiu
                Brandin ChiuJun 20, 2020

                In this particular scenario we'd be talking about things like managing automated testing, deployments, and source control systems.

Add comment