'The difference between success and failure is the difference between doing something almost right and doing something right'---- BENJAMIN FRANKLIN. The same philosophy applies to the IT Project development and Management Industry.
This paper is about Agile project development history, why the need for agile project development arise, different methods used in implementation of Agile project management and along with more positives then negatives of Agile Project development methods.
In Information Telecommunication world projects change all the time not due to lack of planning from the project managers or developers but due to change in customers requirements, change in budgets or even schedule change. Hence Agile project management is mostly used in software development projects as they are less time consuming and are flexible enough to respond to evolving client (business) needs. Project managers needed something that focuses mainly on maximum collaboration, people, minimal methods and most importantly results in place of the old and traditional process oriented developmental method. The significant characteristic of deft systems is to utilize cycles of little improvement undertakings creating constrained sets of the most significant purpose at a given point in time. The basic property of lithe strategies is touchy as opposed to proactive strategies, urging fast adjustment to change as opposed to anticipating it. The objective of coordinated techniques is to take out long prestudy and examination of necessities and begin characteristic preparation at the earliest opportunity. The positive part of this methodology is that it accelerates the preparation of practicality that is viewed as critical at present; the downside is that it confines the likelihood to control and arrangement the substance of a discharge. The Agile development proposes plan B to conventional task administration. Coordinated methodologies are regularly utilized within programming advancement to help organizations react to eccentrics.
History of Agile:
In 1970, Dr. Winston Royce presented a paper entitled 'Managing the Development of Large Software Systems', which criticized sequential development. He believed that development process of a software could never be the same as of building machines on assembly line where all parts are attached one by one in a sequential manner. In traditional project developmental process there is lack of communication between the specialised groups who completes the main tasks of the project.
Later on In February of 2001, a gathering of individuals, baffled with the existing overwhelming programming philosophies met in Utah to discover some shared view in interchange programming improvement. With the help of such views and discussion they came up with a manifesto.
'We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
' Individuals and interactions over processes and tools
' Working software over comprehensive documentation
' Customer collaboration over contract negotiation
' Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left More' (Agile Alliance, 2000)
Every problem that engineers face is predominantly due to change in the project requirements or sometime they want to strive harder for more functionality if time permits as change means more opportunity for the engineers to try their hand at a new functionality at a cost of a new risk. At a point where every risk has a capability of bringing down a whole system. Along with the constant pressure to deliver the product on time the software development faces problems like finding the man power, because the newer the technology used fewer the amount of skilled professional available in the market. The same goes with the technology the newer the technology the more prone to problems and poor stability.
In such situation using traditional methodology is not feasible as they require extreme preplanning stage which most of the time on the other hand people like to dodge these traditional methodology by using something known as Chaotic activity where a program is written directly without much discussing or preplanning and several such small programs are joined together to obtain a desired functionality. (Fowler, 2000).
Need for Agile Methodology:
It's not difficult to perceive how the "waterfall" technique is a long way from advanced contrasted with light-footed strategy. Above all else, it accept that each necessity of the task could be recognized before any configuration or coding happens. In that situation, an organization has invested time and cash to make programming that nobody needs. Wouldn't it be able to have been conceivable to guarantee the deciding item might in any case be applicable before it was really completed?
In such consecutive stages, each period of the venture must be finished before the following stage can start. Royce proposed against the stage based approach in which engineers first assemble the greater part of a venture's prerequisites, then finish every last bit of its structural engineering and configuration, then compose the sum of the code, etc. Royce particularly questioned this methodology because of the absence of correspondence between the specific gatherings that finish each one period of work.
The main feature of Agile project management is to break up a big project into smaller project and then completing the main functionality of all these smaller projects in a given amount of time and the main aspect of Agile project management is it is reactive, it get adapted to change very quickly. Its main concentration is to eliminate the long pre project planning agile aims at directly start developing features or important functionality of the system by which we can save more time.
Coordinated improvement strategy gives open doors to evaluate the course of an undertaking all around the advancement lifecycle. In a light-footed standard, each part of advancement prerequisites, outline, and so forth ' is persistently returned to all around the lifecycle. The effects of this "review and-adjust" methodology to improve the cost and time to market. Since groups can create programming in the meantime they're assembling prerequisites, the marvel known as "examination loss of motion" is less inclined to obstruct a group from making advancement. Deft improvement philosophy helps organizations assemble the right item. As opposed to resolving to advertise a bit of programming that hasn't even been composed yet, deft engages groups to persistently replan their discharge to advance its esteem all around improvement, permitting them to be as focused as could reasonably be expected in the commercial centre. Advancement utilizing a nimble philosophy safeguards an item's discriminating business pertinence and guarantees a product doesn't wind up on a rack. And now a days looking at the market agile is best suited for a profit oriented company where requirements are easily accommodated during the development process and equally responsive to the customers ever increasing demands (Aoyama, 2000).
There are also different kinds of agile development process available.
Extreme Programming is another methodology to programming administration which takes a code-driven perspective of the movement. XP offers a few propelling characteristics:
' Comprehensive unit tests,
' Short discharge cycles,
' Adding just what's required for the current undertaking,
' Collective code possession,
' Continual change, and
' Adding characteristics in the request of vitality (Chromatic, 2001)
The improvement environment in an Organization which utilizes XP is described by these techniques:
' Customer records the characteristics that the product must give
' Programmers break the characteristics into stand-alone assignments and assessment the work required to finish each one assignment
' Customer picks the most paramount errands that might be finished by the following discharge
' Programmers pick undertakings, and work in sets
' Programmers compose unit tests
' Programmers add characteristics to pass unit tests (Addicam, 2005)
' Programmers fix characteristics/tests as vital, until all tests pass
' Programmers coordinate code
' Programmers transform a discharged adaptation
' Customer runs acknowledgement tests
' Version goes into processing
' Programmers redesign their evaluations dependent upon the measure of work (Chromatic, 2001)
' Scrum is a spry, lightweight methodology to oversee and control advancement work.
' Scrum is a wrapper for existing building practices.
' Scrum is a group based methodology to iteratively, incrementally create frameworks what's more items when prerequisites are quickly evolving
' Scrum is a process that controls the bedlam of clashing investment and needs.
' Scrum is an approach to enhance interchanges and expand co-operation.
' Scrum is an approach to locate and reason the evacuation of anything that gets in the method for creating and conveying items.
' Scrum is an approach to augment profit.
' Scrum is versatile from single undertakings to whole associations. Scrum has controlled and sorted out advancement and execution for numerous interrelated items and ventures with over a thousand designers and implementers.
' Scrum is a route for everybody to like their occupation, their commitments, furthermore that they have done the precise best they could (Control Chaos, 2002)
The Crystal group of lightweight SDLC approaches was made via Alistair Cockburn. Crystal is a group of human-controlled and versatile, ultralight, "shrink-to fit" programming Management & improvement approaches.
' "Human-controlled" implies that the centre is on accomplishing venture triumph through upgrading the work of the individuals included (different approaches could be process-driven, or structural engineering driven, or device driven, however Crystal is individuals driven.
' "Ultralight" implies that for whatever the undertaking size and necessities, a Crystal family strategy for the task will work to decrease the paperwork, overhead and administration to the minimum that is functional for the parameters of that extend.
' "Therapist to-fit" implies that you begin with something perhaps little enough, furthermore work to bring about a noticeable improvement fitting. Crystal is non-desirous, implying that a Crystal philosophy licenses substitution of comparative components from different procedures (Cockburn, 2001)
The Dynamic Systems Development Method (DSDM) is a lightweight programming system which has its beginnings in the U.K. In customary methodologies the centre has been on fulfilling the substance of a necessities archive and fitting in with past deliverables, despite the fact that the prerequisites are regularly off base. The past deliverables may be defective and the business needs may have changed following the begin of the undertaking. Furthermore, time and assets are regularly permitted to change throughout advancement.
In DSDM, the accurate inverse is correct, time is settled for the life of a venture, and assets are settled the extent that this would be possible. This implies that the prerequisites that will be fulfilled are permitted to change (DSDM, 2001).
DSDM has underlying standards that incorporate dynamic client collaboration, successive conveyances, enabled groups, testing all around the cycle. Like other spry techniques they utilize brief time boxed cycles of between two and six weeks. There's an accentuation on superb and adaptivity towards evolving necessities (Fowler, 2001).
The White-water Interactive System Development with Object Models (Wisdom) addresses the needs of little improvement groups who are obliged to manufacture and uphold the most noteworthy quality intelligent frameworks (Nunes & Cunha, 2000). The Wisdom technique has three key segments:
A product methodology dependent upon client focused, evolutionary, and rapid prototyping model
A set of calculated displaying documentations that help the demonstrating of utilitarian what's more non-functional segments
A task administration theory dependent upon instrument use models and open documentation
The project development time has gone down by 75% along with the even distribution of work loads
Can manage large scale developmental project with a fixed number of man power.
It provides higher flexibility in the change of requirements and also good feedback from customers.
It cannot handle large teams well. It is very hard for a new person to understand about the status of the project because of the approach.
For Agile project management to be successful it requires highly skilled and motivated individuals which in this current working conditions and all office politics involved is very hard to find.
Agile development methods needs short time to complete the task using short cycles which is very practical approach for a profit based company but Agile project developments people involved in the core team have to be highly motivated and if any disagreement can even hurt the outcome of a project.
Addicam, S. V. (2005). Overview of Agile Management & Development Methods.
Nunes, N., Cunha, J. (2000). Wisdom: A software engineering method for small Software development companies IEEE software, September/October 2000, 113- 119
Agile Alliance. (2001, February). History: The Agile Manifesto. Retrieved Sept 22 2004, from the World Wide Web: http://agilemanifesto.org/history.html
Wolak, Ronald. (2001, April). DISS 725-System Development: Research Paper SDLC on a Diet: Retrieved Sept 22 2004, from the World Wide Web:http://www.scisstudyguides.addr.com/papers/rwDISS725researchpaper1.pdf
Chromatic. (2001, May). O'Reilly Open Source Convention: An Introduction to Extreme Programming. Retrieved Sept 22 2004, from the World Wide Web: http://linux.oreilly.net.com/pub/a/linux/2001/05/04/xp_intro.html
Cockburn, Alistair. (2001, October). Philosophy of crystal Methodologies. Retrieved Sept 22 2004, from the World Wide Web: http://crystalmethodologies.org/philosophy.html
Control Chaos. (2002). What is Scrum? Retrieved Sept 22 2004, from the World Wide Web: http://www.controlchaos.com/scrumo.htm
DSDM. (2001). Overview: Why is DSDM different. Retrieved Sept 22 2004, from the World Wide Web: http://www.dsdm.org/en/about/overview.asp