The way that your organization manages design, development, testing, and distribution of its IT or software projects can make the difference between a project’s success or failure. Proper management can ultimately make the difference between the success or failure of your organization.
Though this may seem obvious, it has taken years for this truth to become as obvious as it is now.
The coding world was simpler in the early days of software development – the project was defined, goals were specified, basic features were described, and the coders went to work (often building the system and testing their own code) using quality control to find the remaining bugs before releasing it to the users.
It soon became clear, however, that a developer-centric approach didn’t fully meet the company’s or customers’ needs. The process had to be broadened beyond just coding and testing, and made to include consideration of all phases of a product’s development, starting from initial concept through delivery, support, revision, update, and, perhaps, even to the end of a product’s life.
Multiple terms were developed that put these essential steps into a single acronym, Application Lifecycle Management (ALM) and Software Development Life Cycle (SDLC) becoming the most prominent. Does SDLC equal ALM? Does SDLC not equal ALM?
For a company or organization to thrive today, the answer to this question is moot – it doesn’t really matter. A number of developers have applied new concepts to the old acronyms, and in the minds of many developers, the terms now have the same meaning. What matters more than adhering to a fixed definition is actually defining and managing the steps involved in developing products that meet the user’s or department’s needs as efficiently and productively as possible.
A more appropriate acronym, DevOps, refers to the interactions between the analysts/product owners who describe the features of the product, the developers who create the code, and operations, who review and implement the products. DevOps strongly suggests that all organizations must collaborate with each other, and that the collaboration between development and operations will produce products that meet the user’s needs. Devops also provides developers with the rapid feedback they require while developing the code in order to avoid stumbles (or to correct them when they occur) and assure that the operational needs are met by their products.
Are DevOps, ALM and SDLC different?
Yes and no.
Today, the development process should include all stages of development. The individuals or organizations that require a product can interact with the developers to clearly define their requirements, and the developers can interact with customers, or with those defining the requirements, throughout the development process. Various coding teams, using their preferred coding environments, should be able to communicate with managers and other developers to coordinate their efforts. Operations and marketing should also be involved in order to provide feedback to the developers and customers, and to manage scheduling and release dates. Quality control, testing, and other teams should also be able to share code, bug reports, and other data with developers, operations departments, and the users who initially commissioned the project – this should all be transparent throughout the organization.
In the past, this hasn’t always been easy to accomplish. Different teams used different tools to perform their required tasks. For example, one team may use Atlassian Jira to manage development, HPE ALM (Quality Center) as a test case repository, and IBM Doors to define requirements. Sharing information and following the thread of conversations and decisions can be difficult. Resolving to use a single system to satisfy all roles and activities isn’t practical due to license costs and the considerable task of retraining employees in a less than optimal tool.
Fortunately, integration solutions such as Go2Group’s ConnectALL transparently translates across tool sets. A development team using HPE ALM (Quality Center) can easily exchange data and tasks with another team using IBM Rational and another using the Atlassian suite; test and requirements tools can be part of the flow, with ConnectALL managing the transparent sharing of data between teams. ConnectALL bridges the top development tools, providing for easy integration of varying development platforms, communication across the organization, and distributed workflow management.
With integrated systems, it may not matter how you define your development process – ALM, SDLC, or DevOps. As long as your development efforts effectively integrate the teams and departments involved throughout the steps in a project’s lifecycle – with integrated tools providing the transparency required for teams and departments to work together — your projects will most likely meet the user’s requirements, while still enabling each team to use its own tools. Tight integration via ConnectALL helps to make development and management as efficient as possible.
Go2Group is an Atlassian Platinum and Enterprise Expert.
To learn more about ConnectALL, please visit https://www.go2group.com/connectall. Interested in a demo?
Doug Bass is a certified Atlassian consultant and trainer and a certified ScrumMaster. He is an experienced systems architect with experience in distributed application design, database architecture, network design, and project management. Author of the first relational database for military applications in the UK and the first java-internet based chat application, Doug teaches classes in object-oriented design. He holds a Masters Degree in Information Architecture. He is a consulting partner for Atlassian’s product suite, and architect of several of Go2Group’s products including the CRM Plugin (JIRA and Salesforce integration), JIRA/Perforce plugin, and ConnectALL (a multi-application synchronization solution). Doug contributes his free time to the United States Power Squadron where he teaches classes on safe boating.