ALMIntroduction Home > Resources > ALM > Introduction
Software application development has been one of the newest technologies that have also been mass taught as computer science and software engineering. As a technology and engineering domain, it has the largest number of practicing developers, engineers and scientists.
Software engineering has been now simplified as writing code using a software language by companies peddling their languages as the simplest to use and develop complex applications. A recent guide for such a popular language claimed that you can develop your first application by end of the very first introduction chapter.
Such simplification of application writing offers many cost advantages and opens up a larger part of population to develop software applications. This has successfully penetrated use of software applications in everyday life. It has however created a real life challenge of lower quality, unreliable applications that are commercially available with relatively high number of bugs.
As a recent engineering area, application development is slowly getting organized, relative to its usage. Software services companies have been on the frontier to offer a process for developing applications for their customers. They started referring to it as Software Development Lifecycle (SDLC). It is similar to the phase gate process commonly employed for New Product Development. It consists of variation of following key steps - requirement analysis, design, development, testing, and deployment. There are few variations of the SDLC, prominent ones being Waterfall, Spiral and Agile.
Software product companies, on the other hand, have to integrate software business side with software development lifecycle. Thus Application Lifecycle Management (ALM) is a continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.
As a software product company, JamBuster is not only a practitioner of ALM but over the last 9 years of our corporate existence, we have continuously learnt from our engagement of more than 100 projects. As an outsourcing services company, we started with Waterfall and used Spiral a few times. In 2007, our customers helped us get into Agile methodology for software development. Six years later, we are so fanatic about it, that over the last five years we have developed 12 versions of our own software. We have tested our software using a team of 400 people at six locations on three continents.
An Agile project, is very iterative in nature. It takes all the phases of software development and blends them into a single phase called an ‘Iteration’ or ‘Sprint’. Each iteration has multiple teams coming together and delivering a product that can be considered shippable. So here, the time taken to deliver one shipment or release of the software is a week or two as opposed to month/s long releases that occur in Waterfall. Very relevant and practical!
Come and discover SoftALM®!