week10

By jaanu

agile software methodologies  known as lightweight methodologies used increasingly in project and are being accepted increasingly by software developers. these methodologies have raised considerable debate between the big design upfront followers and the agile followers’this is like organisational, managerial or regularity needs: Agile methodologies highly adaptable and able to comply with standareds when required. there are almost no guidelines for incorporating into agile methodologies,process that ensure their compliance with  spcified standards. the most extreme programming is the best known and most widely useed agile mothodology.most agile methods attempt to minimize risk by developing software in short timeboxes called itertations,each iteration is like a miniature software project of its own and include all of the tasks necessary to release the mini increment ofnew functionalityLplanning.requirements analysis.design.coding,testing and documentation in iteration process no addition of enough functionality to warrent releasing the product , an agile software project intend to be capable of releasing new software  at the end of every iteration.At the end of each itration the team reevautes project priorities.Agile methods stress realtime communication preferably face to face over written document.Agile methods emphasize working software as the primary measure of  progress..

The principle behind the agile software are: customer satisfaction by rapid,continuous delivery of useful software, working software is delivered frequently, working software is the principal measure of progess, late changes in requirements are welcomed, close daily,co operation between business people and developers; face to face conversation is the best form of communication,projects are built around motivated indiduals, who should be trusted,continuous teams, self organizing teams,regular adapation to changing circumstances. Agile methods are sometimes characterised as being at the opposites end of the spectrum from “plan driven” or “disciplined” methodologies.This distinction is misleading,as it implies that agile methods are “unplanned” or ” undisciplined.More accurate distinction is to say that methods exist on a continuum form”adaptive” side of this continuum.

Agile methods differ in their practices,they share a  number of common characteristics, including iterative development,and and a focus on interaction, communication,and the reduction of resource inttesive intermediate artifacts(Cohen et.al.,2004). Agile methods are more suitable when requirements are emergent and rapidly changing they are less suitable for systems that have high critically, reliabily and safely requirement. FRom an oraganisational: culture,people and  communication.Agile development sometimes criticized as coeboy coding.Extreme programming intials buzz and controversial tents, like  pair programming and continuous design, have attracted particular criticisum, such as McBreen and Bohem and turner.Agile methods are sometimes  characterised as being at the opposite end of the spectrum form”plan driven” or ” discpline ” methodologies.This distinction is misleading, as it implies that agile methods are unplanned ior undisplined.A more accurate distinction is to say that methods exist on a continuum from “adaptive” to “predictive”.Agile support the adaptive side this focus on adaptive qucikly to changing realities.These methods supports the present time only. An adaptive team can report exactly what tasks are being done next week, but only which feature are planned for next monthsPredictive methods in contrast focus on planing the future in details, the team can report exactly what features and tasks are planned for the entire length of the development process.This  plan is typically optimized for the original destination and changing direction can cause completed work to be thrown away and done over differently.Predictive teams will often institute a change control board to ensure that only the most valuable changes are considered

Contrast with iterative development

Most agile methods shares iterative developments emphsis on building releasable software in short time periods.These methods differ from iterative methods in that their time period is measured in weeks rather than months and works in performed in a highly collaborative manner.Most agile methods also differ by treating their time period as a strict timebox.

With waterfall model

Agile development is less in common with the waterfall model . This method is the most perdective of the methodologies stepping through requirements capture ,analysis, design,coding and testing in a strict,pre-planned sequence.Progress is generally measured in terns of deliverables artifacts requirements specifications,design documents,test plans,code reviews and the like.This model can result in substantial intergration and testing effort towards the end of the cycle a time periods typically extending from several months to several years.the size and difficulty of this integration and testing efforts towards the end of the cycle  it makes the waterfall project failure .Its a very small subset of the whole.some agile teams use the waterfall model on small scale, repeating the entire waterfall cycle in every iteration.

With “cowboy coding”

Its the absence of a defined method,team members to a defined method:team members do whatever they feel  is right,it frequently reevaluaton of plans stress on face to face communication and relatively sparse use of documents sometimes causes people to distinsuishing agile approaches from cowboy coding.As with all methodologies, the skill and experievce of the user define the degree of sucess or abuse of such activity .Thew more rigid controls or checks and balances systematically embedded within a process offer stronger levels of accountability of the user.It is the degradation of well intended procedurecs that leads to activities often defined as cowboy coding

Conclusion

It has been arged above that agile methodologies can indeed be adapted to ensure compliance with a standard such as ISO 12207:1995.It should be taken to ensure that the development oraganisation abides by the agile manifesto principles of ” working software over comprehensive documentation” .The agile principle of stressing the development really is all about the production of software.

http://en.wikipedia.org/wiki/agile-software-development

Leave a Reply