
كتب بواسطة
Agile Software Development
Agile Software Development
In 2001, a group of individuals, representing the most widely used lightweight software development methodologies, agreed on a common set of values and principles which became known as the Manifesto for Agile Software Development or the Agile Manifesto [Agilemanifesto].
The Agile Manifesto contains four statements of values:
-
Individuals and interactions over processes and tools
-
Working software over comprehensive documentation
-
Customer collaboration over contract negotiation
-
Responding to change by following a plan
Agile Manifesto values
-
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
-
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
-
Deliver working software frequently, at intervals of between a few weeks to a few months, with a preference to the shorter timescale.
-
Business people and developers must work together daily throughout the project.
-
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
-
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
-
Working software is the primary measure of progress.
-
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
-
Continuous attention to technical excellence and good design enhances agility. Simplicity—the art of maximizing the amount of work not done—is essential.
-
The best architectures, requirements, and designs emerge from self-organizing teams.
-
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
The different Agile methodologies provide prescriptive practices to put these values and principles into action
Whole-Team Approach
The whole-team approach means involving everyone with the knowledge and skills necessary to ensure project success. The team includes representatives from the customer and other business stakeholders who determine product features. The team should be relatively small; successful teams have been observed with as few as three people and as many as nine.
Its benefits include:
-
Enhancing communication and collaboration within the team
-
Enabling the various skill sets within the team
-
Making quality everyone’s responsibility
Early and Frequent Feedback
When sequential development approaches are used, the customer often does not see the product until the project is nearly completed. At that point, it is often too late for the development team to effectively address any issues the customer may have. By getting frequent customer feedback as the project progresses, Agile teams can incorporate most new changes into the product development process. Early and frequent feedback helps the team focus on the features with the highest business value, or associated risk, and these are delivered to the customer first
The benefits of early and frequent feedback include:
-
Avoiding requirements misunderstandings, which may not have been detected until later in the development cycle when they are more expensive to fix. Clarifying customer feature requests, making them available for customer use early. This way, the product better reflects what the customer wants.
-
Discovering (via continuous integration), isolating, and resolving quality problems early.
-
Providing information to the Agile team regarding its productivity and ability to deliver.
-
Promoting consistent project momentum