Agile methodology is anadaptaive methodology, its people
Here are some of the other characteristices of the Agile
1. Delivery frequently.
2. Good ROI for client.
3. Test frequently.
4. Collaborative approach.
Agile methodology is more of people oriented. Agile
methodology helps us to increase productivity and reduce
risks. There are 2 popular agile methods- Extreme
programming (XP) and Scrum.
People believe that there is less documentation in Agile.
But agile also includes documentation and it can be used
either a small or a large projects. In agile Development,
testing is also integrated throughout the life cycle. But
for the testers, they will not have a good business
requirement. So they have to get the details from the
client or through the developer. The testers will do more
of Quality Assurance work than testing.
It is a methodology to satisfy the customer through early
and continuous delivery of valuable software. This is useful
when we dont have a clear idea of the client's requirements.
The development activities can be carried out using the
Agile is software development methodology. It is very
effective where Client frequently changes his requirement.
Since it has more iteration so you can assure a solution
that meets clients requirement.
More than one build deployement for a project.
It involves more client interection and testing effort.
There are two methods by which this methodology can be
2- Extreme Progamming
Scrum: Each iteration would called a scrum which can be a 1-
2 Months.In Scrum Client prioritise his requirements what
he want first. If developer did not meets all the
requirement which was being fixed for a perticular scrum
than rest of the development part would be transferred to
the next scrum (would be delievered in the next build),
means developer cann't increase time decided for a scrum.
Extreme Programming (XP): here iteration period would be
less then in scrum , which is being 2-4 weeks.
Here developer prioritise what to do first on the basis of
This duration which was being fixed for a iteration, can be
increase if the some development part is still pending.
The build would deployed with having all the client needs.
Thus iteration period is not fixed here it can be increase.
but iteration should meets all the client's requirement in
More attension is required for testing in XP.
Agile software development is a conceptual framework for
undertaking software engineering projects. There are a
number of agile software development methods, such as those
espoused by the Agile Alliance, a non-profit organization.
Agile methods attempt to minimize risk and maximize
productivity by developing software in short iterations and
de-emphasizing work on secondary or interim work artifacts.
Scrum and Extreme Programming (XP) are two of the most
popular Agile methods, however, there are many more Agile
methods and agility, as a conceptual framework, may also be
applied to the execution of more traditional methods.
Apart from all the above answers, just add this important
There are many flavours of Agile Development:
1- Agile Manifesto
2- (XP) Extreme Progamming
5- Context Driven Testing
6- Lean Development
7- (Rational) Unified Process
Agile methodology is a conceptual framework where software
is devloped in iterations. Each iterations has Requirement
analysis, planning, design, coding, testing and
- Many builds are delivered in the iteration process
- Accepts change of requirement at any stage
- Requires close communication between business,
Development and Testing people
- Reduced risk and time to devlop
- Less documentation work compared to other methodologies
- Requires continious testing
Agile development methodology attempts to provide many
opportunities to assess the direction of a project
throughout the development lifecycle.
This is achieved through regular cadences of work, known as
sprints or iterations, at the end of which teams must
present a shippable increment of work. Thus by focusing on
the repetition of abbreviated work cycles as well as the
functional product they yield, agile methodology could be
described as “iterative” and “incremental.”
In waterfall, development teams only have one chance to get
each aspect of a project right. In an agile paradigm, every
aspect of development — requirements, design, etc. — is
continually revisited throughout the lifecycle. When a team
stops and re-evaluates the direction of a project every two
weeks, there’s always time to steer it in another direction.
The results of this “inspect-and-adapt” approach to
development greatly reduce both development costs and time
to market. Because teams can gather requirements at the
same time they’re gathering requirements, the phenomenon
known as “analysis paralysis” can’t really impede a team
from making progress. And because a team’s work cycle is
limited to two weeks, it gives stakeholders recurring
opportunities to calibrate releases for success in the real
In essence, it could be said that the agile development
methodology helps companies build the right product.
Instead of committing to market a piece of software that
hasn’t even been written yet, agile empowers teams to
optimize their release as it’s developed, to be as
competitive as possible in the marketplace. In the end, a
development agile methodology that preserves a product’s
critical market relevance and ensures a team’s work doesn’t
wind up on a shelf, never released, is an attractive option
for stakeholders and developers alike.
where is memory for struct allocated?
where is memory for class-object allocated?
I replied for struct in stack and for class-object in heap.
THen he asked if class has struct member variable what
happens.class on heap and what about struct in that class?
couldnt ans :( :-?
create a class complex having real and imaginary part of a
complex no. as a data member. overload the binary
operators(+,- and *) to perform the operations on complex
no. objects. overload binary operator using friend function.