p.p1 could manage the changes instead of rejecting them

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; line-height: 14.0px; font: 13.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; line-height: 14.0px; font: 11.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000; min-height: 12.0px} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; line-height: 14.0px; font: 11.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 11.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 11.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000; min-height: 12.0px} li.li4 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 11.0px ‘Times New Roman’; color: #000000; -webkit-text-stroke: #000000} span.s1 {font: 11.0px ‘Times New Roman’; font-kerning: none} span.s2 {font-kerning: none} span.s3 {font: 13.2px ‘Times New Roman’} span.s4 {font: 11.0px ‘Times New Roman’; text-decoration: underline ; font-kerning: none} span.Apple-tab-span {white-space:pre} ol.ol1 {list-style-type: decimal} ul.ul1 {list-style-type: disc}

Assignment #1 – Paper on Agile Methodology

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

order now

Agile Methodology has created a new wave in Software Industry. Some people are favoring it and there are some who are talking equally against it. While there are many who are still figuring it out on which side they are? So whats Agility? The word “Agility” means ability to move quickly and easily. Let us see what it mean in context of Software development. The pace of technology change in IT projects makes it difficult for the project managers to ensure that the project they are implementing is relevant by the time they are done. Also the requirements from customers keep on changing which makes it difficult for the developers to produce a product which is what the customers want at the time of delivery. This gave rise to developing a new methodology which could manage the changes instead of rejecting them and allowing much more flexibility than the traditional methods. This new methodology for software development was Agile methodology. So Agility in terms of software development is the ability to develop a software quickly and easily with the help of customer collaboration and other agile values.
The values underlying the agile position for software development are1:

Individuals and interactions over processes and tools,
Working software over comprehensive documentation,
Customer collaboration over contract negotiation,
Responding to change over following a plan.

The Agile Manifesto establishes  set of four values that are people-centric and result-driven. That is, while there is value in the items on the right, we value the items on the left more4.

Individuals and interactions over processes and tools:

Individuals and their interactions are the essence for the development of any software system. Who do you think will create a better software a group of skilled developers who can design their own process and tools or a bunch of unskilled people with a well defined process. Interaction or communication in case of individuals takes place whenever needed but in case of processes the communication takes place only when scheduled.

2.  Working software over comprehensive documentation:
Working software tells the customer or stakeholder what they have in front of them rather than handing them comprehensive documents which tells them what will be in front of them in the end of the software lifecycle.4

3. Customer collaboration over contract negotiation:
Customer collaboration is considered one of an important value in which the developer is in  touch with the customer, responding to the requirements and the changes stated by the customer instead of negotiating with the customer of what customer or stakeholder had asked in the very beginning.

4. Responding to change over following a plan:
While using traditional methodology for developing a software, many times the final product loses the essence or the main goal of why it was developed. As, the traditional software development assumes that it is possible to gather all the requirements at the start of the software development life cycle. However, this is far away from reality as it is not possible for the stakeholders to convey all the requirements to the development team that is needed in the software before it is up and running. Agile methodology responds to change which are stated by the customers during the development phase which makes the product completely in accordance of the customer.

The working code tells the developer or the customer what is front of them rather than promising what will be in front of them. 4The working code can be tested or used by the customer and an immediate feedback can be expected which can be used to make improvements in the code. The working code can also be used to track progress of the system. Interaction is one of the key features of Agile methodology. Developers can interact with other teammates in case they face some difficulties while developing a product. Asking for help or working together can speed up the process and cut off the difficulties faced. When developers talk to customers and sponsors they eliminate the difficulties and can respond to the changes or the requirements of the customer at an early stage. 4
Agile methodology basically eliminates the nonessential activities which leave us with the essential and important ones. If we have a group of skilled people we can increase the pace of the development of the product. 5 If the team consists of more people who are not skilled enough will create a problem in the pace of the development and also the unskilled teammates will be left behind by their colleagues. Agile methodology also requires the team to work at the same location which makes it easy for the communication purpose. Fewer people in a team makes it possible for all the team members to be at a common location while working once project. Fewer and better people in a team results in less layered communication, faster progress, no hindrance in speed because of some slow or unskilled member.
Agile methodologies are considered as the programming methodologies which are chose for a high-speed results as a replacement of security, safety, detailed planning or documentation. Agile seems or is called very undisciplined methodology. In Agile the team members are expected to be self disciplined instead of someone asking them to follow some rules. The members should be skillful enough so that they can be effective member of the team. The team should prepare its own set of rules which are to be followed by the team and also refined or changed according to the experience. The team members should know how to behave with their other teammates or colleagues. Self discipline is considered very important for best collar ration amongst the team members. 3

Individual Competence VS team competence:
Individual Competence: Agile development teams focus on individual competency as a critical factor in project success. 2 Individual in a team with great skills is enough for developing a product with any process under any situation. And if they are not skilled enough they cant develop the system under any process. 2 It is seen that a group of individuals with high competency comes with a working product within a short period of time. As the skilled individuals can communicate and interact with each other for the problem and come with a solution in minimal amount of time. Agile team focuses not only on skilled individuals but also the collaboration of the team.
Team Competence: Agile team comprises of fewer but better people which are skilled enough for developing a product. High collaboration between these people is the key factor for high speed in performance of the team. Agile team comprises of a common aim, trust within the team and capacity to face and solve any uncertainty.
Communication VS collaboration:Communication means to exchange information.In software development there can be a communication between developers and customers in regards to the requirements or the change. There can be communication between developers and manager regarding the progress track. Whereas collaboration means to work together with your team to produce something or some results. In Agile team members can talk about the problems regarding the project and come with a solution. The developers can collaborate with customers for constant feedback and requirements. The developers can collaborate with the stake holders to take a decision.

Yes, Agile processes are an attempt of micromanagement. 
Micromanagement is a management style where a manager closely observes and inspects the performance of every teammate. In Agile processes not only the manager or SCRUM master is responsible for the micromanagement. But there are other ways in which the micro-managing of the process can take place. For example in pair programming the  micromanagement is carried out within team mates or the pair of people programming together. Other example can be the SCRUM meetings which takes place at the end which lets the team members know about the progress or status of the system. Micromanagement is considered beneficial for the progress of the system as it results in frequent physical interactions of the team members with the managers within short period of time and cause of this the manger can track the progress of the system as well as the performance of the team members. Sometimes this type of management is also referred as team-led-micro-management because it is the team who gives all the status of the system to the manager rather than manager himself asking for it.

The steps of design, testing and planning do exist in Agile approaches.
Agile Lifecycle model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Each iteration typically lasts from about one to three weeks. Each iteration involves various different teams working simultaneously on various areas like planning, requirements analysis, design and testing. Each iteration consists of a new feature and the end final iteration consists of the feature that is required by the customer. Agile approach’s planning phase is not detailed as traditional methods. Agile’s ‘inspect and adapt’  helps a lot in reducing the cost and time taken to build a product. In Agile the team can build the project at the same time it gathers the requirements from the customer which helps them to build a system or product which is useful for the customer rather than holding a product which is of no value in the market by the time it is delivered. Designing in Agile is also adaptive as the design can be changed in between the development phase according to the changing environment and customer needs. The testing in Agile is iterative i.e each time a new feature is created it is first tested before handing it to the customer or showing it to the stakeholder this gives the developer an advantage of testing the system and correcting it at an early stage and to ensure that the team is progressing in the right direction.


1.  Manifesto for Agile Software Development

2. Agile Software Development: The People Factor, Alistair Cockburn, Jim Highsmith

3.  Agile Software Development: The Business of Innovation, Alistair Cockburn, Jim Highsmith

4.  Agility through Discipline: A Debate, Kent Beck, Barry Boehm

5.  Introducing an Agile Process to an Organization, Mike Cohn, Doris Ford

6.  Agile Software Development: It’s about Feedback and Change, Laurie Williams, Alistair