7 Important Topics About Agile Technologies

7 Important Topics About Agile Technologies

1. Agile methodology

A conceptual framework where software is developed in iteration. It satisfies the customer through early and continuous delivery of valuable software. Useful when there is no clarity on client’s requirement or when the client frequently changes his requirement. The development activities can be carried out using the iterative actions.

Agile Methodology

1.1)Agile Methodology Characteristics

1.2)Methodology that promotes agility:
i) Scrum
ii) Crystal Methodologies
iii) Dynamic System Method Development
iv) Feature Driven Development
v) Lean Development
vi) Extreme Programming


2.Scrum

Scrum divides the development into short cycles called sprint cycles. It advocates daily team meetings for coordination and integration.

2.1)The Roles of Scrum are as follows:
* Product Owner
* Scrum Master
* Team Member

2.3)Limitations of Scrum
>>
Increase in Cost
>>Increase in Time
>>More useful for small and fast moving projects
>>Needs experienced team members


3.Dynamic System Development Method(DSDM)

Focuses on delivering solutions quickly and efficiently. RAD approach to the software development. It is iterative and incremental. Collaborative and co-operative approach among all the stake holders is important.

DSDM

3.1)Eight Principles of DSDM :
1. Active user involvement
2. Team empowerment
3. Frequent delivery of products
4. Fitness for business purpose
5. Iterative and incremental development
6. All changes during development are reversible
7. Base lining of requirements at a high level
8. Integrated Testing

3.2)Roles in DSDM

3.3)Core Concepts of DSDM
Active user involvement is imperative. The focus is on frequent delivery of products. Business suitability is an essential criteria for acceptance of deliverables. Iterative and incremental development is necessary to converge on an accurate business solution. All changes during development are reversible. Communication and collaboration among all the stake holders is very important for the success of the project. Requirements are the baseline at a high level. Testing is integrated throughout the life cycle.

3.4)Advantages DSDM:
>>Users are highly involved in the development of the system
>>Basic functionality of the software is delivered quickly
>> On time delivery of the software

3.5)Drawbacks of DSDM:
>>Training is required for both the developers and users
>>Difficulty in understanding the model


4.Crystal Methodology

The word “Crystal” refers to the degree to the degree of hardness and the different colors of the methodology. The degree of the hardness pertains to the use of rigor and ceremony.
The color of the methods are as follows:
** Clear, Yellow, Orange, Orange Web, Red, Magenta and Blue.
** The color is concerned with the “heaviness” of the project.
**The lighter the color the fewer the number of people on the project, whereas the darker colors indicate the need for more resources.

4.1)Seven properties of Crystal methodology:
1.Frequent Delivery
2.Reflective Improvement
3.Osmotic Communication
4.Personal Safety
5.Focus
6.Easy Access to Expert Users
7.Technical Environment with Automated Tests, Configuration Management, and Frequent Integration


5.Feature Driven Development(FDD)

A short iteration framework for software development. Focuses on building an object model, build feature list, plan by feature, design by feature , and build by feature. Emphasizes Quality at each step. Delivers frequent, tangible, working results. Offers accurate and meaningful Project Progress Tracking. Combines many of the best practices of other agile models. Puts less focus on initial design and quickly gets to the point where the team can deliver new functionality to the project feature by feature.


6. Lean Software Development

Lean software development is the application of lean manufacturing principles when developing software.

6.1)Principles of Lean Software Development:
*Eliminate waste
*Build quality
*Create Knowledge
*Defer commitment
*Deliver quickly
*Respect People
*Optimize the whole

6.2)Advantages of Lean Software Development:
>>Waste Elimination
>>Product delivery on time
>>Reduced Management Time
>>Empowerment of Delivery Team

6.3)Limitations of Lean Software Development:
>>Project is highly dependent on team cohesiveness and Exceptional Technical skill of Team Members
>>Decisions are made when required . So difficult to take tough decisions
>>SRS will evolve. But if changes are more, developers lose sight of the original objectives of the project


7.Extreme Programming (XP)

XP is a lightweight (agile) process. Instead of excessive documentation, XP gives more importance to customer feedback. Embraces change: iterates often design and redesign, codes and tests frequently, keeps the customer involved. Delivers software to the customer in short(2 week) iterations. Eliminates defects early, thus reducing costs.

7.1)Four basic values in XP:
>>Communication
>>Simplicity
>>Feedback
>>Courage

7.2)Principles of XP:
>>Rapid feedback
>>Assume Simplicity
>>Incremental Changes
>>Embrace Change
>>Quality Work

7.3)Advantages of XP:
>>Employee Satisfaction
>>Lesser Risks
>>Cost Saving
>>Resilience
>>Robustness

7.4)Limitations of XP:
>>XP is geared towards a single project, developed and maintained by a single team.
>>XP will not work in an environment where:
1. a customer or the manager insists on a complete specification or design before they begin programming
2. programmers are separated geographically.
>>XP has not been proven to work with systems that have scalability issues