Software The software development tasks are carried out

development is the process of catering valuable software in the most efficient
way. The software development tasks are carried out by various methodologies
but in order to produce rapid, more efficient and quality agent software this
agile software development method is introduced. With the time, requirements of
customer changes and traditional software development approaches no longer
serves the updating necessities of customers. This issue raised a requirement
for new software development method and from then the new concept of agile
development in software engineering was introduced. This new software
development methods help to create software in more efficient and productive
way. This agile development is designed with various principles and include
numerous methodologies to implement software development. Agility is somethings that supports the higher rates of changing requirement.
Agility provides customer satisfaction and is high quality. The agile development manifesto describes
that it supports interaction and individual competence than using process and tools.
It doesn’t require formal documentation. Agile requires customer collaboration in
terms of team competence. It also responds to change than simply following the
plan. 5

development approaches are designed to adapt the changing requirements. They
are feasible for adding, modifying requirements during the process. The agile methodologies
eliminates tasks that are not important and focuses only on the important
tasks.The working code principle of
agile simply states that the developers at all time know the functions and what
they need to produce from it. 2 People are very important factor in agile
methodologies. Fewer but skillful people can effectively reduce the time and
cost taken to complete a project. A few
programmers or designers with sound knowledge can compute problems faster than
individuals working on a problem. In agile development it is expected that
each member is self-disciplined and self sufficient like it should not require
an explicit monitoring. Control is gained by providing an order. As per Boehm’s understanding of discipline
in agile states that every individual has its own skill and the other person
may not be having the skill that the first person has so finding a collaborative
solution is always a good idea. 3 It also says that problems should not be
addressed one at a time. Thus, greater discipline is part of agility and agile methodologies.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

development methodologies emphasize on competence rather than process. To elaborate
this, it focuses on the skills than on the methods or processes. In order to
have team competence it is necessary that each one has individual competence as

competence is something that agile development teams focus as a critical factor.
The individual competency talks about
self-knowledge and validation like if a person knows good enough about a
project then that person can perform all the different tasks for that project
and complete them successfully but contradictory to that if a person is not
good enough no process can compensate their inadequacy. This lack of skilled user can kill a project. 1 When people who
have good communication skills and intellectuality work together can noticeably
produce higher levels than individual competence. This is one of the reason why
agile projects focus on both increasing the individual competence and
collaboration levels. For an example, if customer’s requirement changes rapidly
and if the individual working in the team project is not skillful enough then
it will delay the project outcome, on the other hand if there is individual competence
then it can accustom the changes and produce fruitful result.

Team Competence is something that is associated with collaboration and communication.
1 Here agility requires that team has mutual understanding, common focus, respect,
Speedy and collaborative decision-making process. For example, Scrum agile
methodology has team competence in a way where the team members do 15-20
minutes daily meetings in order to meet the rapid changing requirements of the
customers. Communication is
transformation of information like simply receiving and sending information.
Collaboration is group effort where people work together actively to deliver a
work product or make decision.

processes are an attempt to micromanagement. Micromanagement means that doing
meetings in order to decide deadlines, functionalities. In plan driven approach
the manager sometimes doesn’t have meetings with its developer for more than a
week sometimes, but in agile development methods for example in scrum or XP they have daily meetings regarding
where they interact with the manager about the functionalities and daily tasks.
As a different task some team members also take this micromanagement in agile
as a submission of an assignment or due date to complete their tasks. In order
to avoid this problem, the managers should work on the problems as quickly as
possible and must have patient if sometimes a project takes long time. 4

In agile
development approaches like scrum, XP or feature driven development there are
no specific steps for planning, testing and designing. Agile methods have no specific designing phase as there is no formal
documentation in agile for requirement specification. It is adaptive as it
changes with the requirements.  Planning
is not explicitly done like part of a life cycle as done in a sequential model
like waterfall, but it is done in form of like daily meetings that happens in
scrum for example. There is working code policy in agile where the developer
can always see the code and manage it according to the requirement.  In agile there are official meetings that
happens in time of every two-to-four weeks. They are called “Sprints”. This
kind of planning is done in order to match customer’s changing requirements
rapidly. In agile processes there are no
separate phases for coding and testing rather it works in an iterative manner
where each code written is tested along with it. In agile there is also
pair programming that is also one way of testing where the code is tested by
one person parallelly. 4

and incremental agile software development is the most prolific software
development approach today. Traditional software development approaches provide
sequential analysis of tasks that may be efficient for simpler software but
features like customer involvement, cost and quality agent, flexibility of
development is advocated with agile software development. Agile software
development provides a set of methods to implement projects supporting variety
of domains. Agile software development is useful in most of the cases but when
communication between the developer and the customer is difficult, or when the
development team includes mainly beginners, agile methodologies will not give
the best results.