- What is Agile Project Management?
Agile project management is a software development system which has a frame work comprising of testing of software during each step and phase of its development. It follows a schedule of completing small portions of the output in each cycle, whereas in iterative life cycles, the output comes as a whole set after a certain period of time.
In agile project management, be it managing development of software or development of any other relevant system, the management system is similar to the previously known iterative life cycle systems of project management but is different in it of being refined and improved in every iteration, on the basis of experience of the previous pass. Thus it can also be proposed to be a dynamic variant of the life cycle systems.
Agile Project Management and the Agile Manifesto was developed by a group of software developers when various obstacles were experienced in projects whose progress was of sequential nature. The Agile manifesto comprised of a set of changes in only a few but essential components of the software development process. The first came the human factor in which individuals developing the software and their interests are now to be given importance rather than just the tools of software development. Next it is stated in the manifesto that the making the software work be concentrated more on than on just lengthy documentation of how to make it work. The customer or client was to be put ahead of business contracts of the software, meaning that the customer needs that need to be fulfilled by developing the software should be concentrated on. Another point made in the manifesto was that changes detected in the process would be followed and addressed accordingly rather that senselessly following the same plan ignoring the discrepancy that has been detected.
Historically Agile Project Management surfaced in the early 2000’s and the ‘Agile Manifesto’ was published in year 2001. The Agile Manifesto was a collaborative effort of software developers who developed lean processes that led to faster development, enhancement and integration of simpler software such as SCRUM; Crystal; Pragmatic programming; DSDM; Adaptive Software development and others.
The Agile Manifesto comprises of 12 principles of agile system development.
The first principle states that customer satisfaction can be enhanced by delivering software that is beneficial to the customer as early as possible and this procedure of earliest delivery should be made an established consistency.
The second principle states that changes at any stage of development should be welcomed, even if they are found needed at a step close to completion. This leaves minimal space for need for changes once the project is completed.
The third principle states that functional software should be delivered on a weekly basis rather than monthly, as this would lead to greater number of refining iterations and thus better end product, or a more efficiently completed project.
The development should be carried out at a sustainable pace which can be maintained throughout the project and not slowed down at any stage.
Consistent communication and collaboration between business managers and developers on a daily basisleads to faster development.
First hand and face-to-face communication is ensured;
The measure for progress is working software;
Focus is on giving continuous attention to development of good software design;
Complexity is to be minimized, and simplicity is to be pursued;
Self-organizing teams lead to better software;
Teams assess the current performance and strategize to become more efficient.
- What is SCRUM?
SCRUM is a method which provides an effective framework to build complex software. It comprises of management and control processes using which enable the software developer to penetrate through the complexities to focus on those parts of the software which will directly address the client’s business needs.
When defined from a simpler perspective, SCRUM is basically a system that enables teams to effectively collaborate in software projects of complex nature and resultant bring out working software that helps people.