AGILE METHODOLOGY FOR SOFTWARE DEVELOPMENTAGILE TERMS FROM A - Z
AGILEAgile is a philosophy rather than a single methodology or set oftools. What you need to know: It’s all about using the principlesof Agile to create software development projects which deliverresults into your business which are implemented faster, and arebetter quality.BUGSIn XP Agile, at the end ofan Iteration, users performacceptance tasks on each Iteration. CIRCLE OFThe task of fixing bugs becomes AGILITYa step in the next Iteration.
CUSTOMER COLLABORATIONThe Key to successfully delivering on your software projects is atthe heart of Agile. Customer Collaboration ensures that we listento what you want your software to do, and then work with youand the people who use your software, to deliver software thatworks.CONTINUOUS IMPROVEMENTPart of Agile is putting time to one side at the end of iterations,and the whole process, to consider best practice, issues beingexperienced, and business constraints. This helps deliverimprovement actions and root cause analysis, enabling yourbusiness to work smarter in the future.
DEVELOPMENTAgile teams are made up of people in your business whounderstand what the requirements of end use are. This meansthat the project development focuses on your end results.Development is the result of bringing together IT and theBusiness team, and end users, to ensure that requirements andconstraints are fully understood.EVOLVING REQUIREMENTSThe nature of Agile means that changes can be reviewed often,and integrated into the development process. Rather than a moretraditional methodology which may only test at the end, testingcan happen during the iterative process and to ensure that theneeds of the business are met. This is particularly useful in the fastchanging world.
FIT FOR PURPOSEAgile is responsive to change rather than being stuck on initialstandards, plans and requirements. We recognise that oftenwhen you start a software project, the real requirements aretough to define. The beauty of Agile is that we work with theusers to create a story focused on what is needed, and then usethose user stories to deliver small, step by step enhancements.GETTING THINGS DONEThe focus of Agile Projects is on Getting Things Done. Agileenables software development which is on time, to budget andhas an enhanced business value. This is because of the focus onsplitting the projects into smaller, more manageable sections andfocusing on testing and reviewing outputs regularly.
HEAVY-WEIGHT VS LIGHT-WEIGHTAgile Methodologies are seen as Lightweight. TraditionalSoftware development methodologies such as Waterfall are seenas Heavyweight. This means that the Lightweight Methodologiesenable increased flexibility and ability to meet your requirements– even when you start out without being clear about what youwant, or when your requirements change in the project. Theemphasis is on flexibility and adaptivity rather than on heavy,comprehensive documentation.ITERATIONSSmall teams work together on Iterations of your softwaredevelopment project. Stakeholders are engaged to ensure thatbusiness needs are understood, with the end goal of eachiteration being the output of working code which is then testedand verified by the users. This enables feedback to be integratedearlier and requirements to change during projects.
INDIVIDUALS AND INTERACTIONSIndividuals and Interactions are preferred to focusing onprocesses and tools. Whilst these can be useful to your business,what you want to know is that your business gets results. Whenwe focus on you, your business and the interactions that you needyour software to deliver, we can then ensure that the right toolsand processes are used.KNOWLEDGEAgile Software development is most successful when you investtime as well as the financial cost into your business. Putting theright people, who are able to make decisions, and those whounderstand how your systems work and what you need, togetherwith Agile specialists, will focus the results of the delivery intowhat is most important to you. Without that internal knowledge,software development will be less effective.
LEANLean is another methodology which focuses on maximisingcustomer value and reducing waste. Agile fits with Lean in thatAgile Projects seek to deliver to customer requirements and thereis a fit with the quality and continuous improvement of how youwork and what that means to your business.MANIFESTOThe Agile Manifesto is a summary of the main principles ofworking in an Agile Way.
NEEDS OF YOUR BUSINESSThe needs of your business and the needs of your IT departmentshould be stemming from the same overall business objectivesand goals. Working with an IT Agile Solution such as thosedelivered by Valtech will help focus on the strategic differencethat well managed software development brings. Speed tobusiness will help give you operational value and the competitiveedge.ORGANISATIONAL FOCUSEver heard the phrase “computer says no”? What Agile softwaredevelopment should be giving you is IT with an organisationalfocus – one which delivers on what you need to have the strategicedge in your organisation. The focus is not just on the tools –these are the how of delivery – but on the why of thedevelopment project. Agile partners should be able to show youhow they have experience in business sectors and why you shouldchoose them over a competitor.
PRODUCT BACKLOGIn the SCRUM Agile Process, the Product Backlog is the centre ofthe process. It is the list of work to be done and is populatedduring the Planning Phase. The backlog then defines the Scopeof the Release. The Management of SCRUM projects stems fromthis initial planning which includes project scope and high leveldesign. The Iterations in SCRUM are called SPRINTS. Teams areput together to work on the backlog in these Sprints bydeveloping, wrapping, reviewing and adjusting the backlogitems.QUALITYQuality is an important element of Agile Software DevelopmentProjects. One way to ensure Quality is in the XP developmentprocess, which uses Pair Programming, working with the end userand “Integrating Often” to implement in changes daily. PairProgramming is 2 coders working together on the same project –no more end cost but additional quality.
RELEASE PLANThe Release Plan is formed from the first cut of the ProductBacklog. The Release Plan is based on priorities of your business.The Release Plan can be reviewed and updated as businessrequirements change. It is the plan for implementing releases ofsoftware and then these are then broken down further intoIterations.SCRUMThe Scrum is a daily team meeting which is part of the IterationManagement Process. The purpose of the Scrum is to bringeveryone together, monitor progress against the features andreview on a real time basis what was done yesterday, what isplanned for today, and what are any blockers to progress?Naming the blockers enables review of them and to find outwhether the blocks can be removed.
SCRUM METHODOLOGYSCRUM Methodology is another of the well known Agile Processes(see XP for the other) Scrum uses both managerial anddevelopmental processes (unlike XP which is purely focused ondevelopment). The goal of the SCRUM process is to put out arelease. SCRUM Methodology allows for plenty of change duringthe project.SPRINTSSCRUM Methodology splits the Iterations into SPRINTS. EachSPRINT aims to fix a number of the BACKLOG items. During eachSprint, there is a clear process to manage the progress of thesoftware development project. The SCRUM meeting (see above)is where this progress is reviewed. At the end of each Sprint,there is a review which demonstrates progress on the backlogitems.
WORKING SOFTWAREThe goal of Agile is to deliver Working Software. Agile focuses onmeeting the needs of your business by refining and meetingbusiness needs, rather than getting stuck in comprehensivedocumentation at the loss of insight into your business.WASTEAgile reduces waste in your business. A Johnson Survey in 2002on Actual Use of Requested Features on Traditional SoftwareProjects, showed that only 20% of features from traditionalsoftware projects are actually regularly used – what a waste oftime to develop, and system resources. Working with your usersand being able to change to meet business needs reduces thiswaste.
WATERFALLWaterfall is a more traditional form of undertaking a softwaredevelopment project. In Waterfall, there is a more stringentprocess which is now seen as more document than businessdriven. Waterfall is a “serial” method of managing a softwareproject which goes through the phases of Requirements, Design,Implementation, Verification and Maintenance. Waterfallprojects are often known for a high level of detail in setting outrequirements and design to reduce the risk that the project maynot deliver what it was set out to.
USER STORIESAn important part of the XP Software development process ofAgile is creating a series of User Stories. The User Stories describethe need that the software will fulfil, which helps the Agile teambe more realistic in assessing the resources required to build therelease and user acceptance tests. The User Story focuses on theproblems to be solved using the software. Because they are short,it is critical that there is continued input from the user to checkthat the development is fit for purpose.
XPXP is one of the best known Agile Methodologies. ExtremeProgramming (XP) concentrates on development of the softwareenabling the management team to pick the parts of thismethodology which work for them. XP development focuses onrelease planning and then stages of iteration, where the emphasisis on understanding the “user stories”, leading to user acceptancetesting, and to the review and closure of the Iteration with thesuccessful release of the software.
ABOUT VALTECHWe’re a digitalconsultancyproviding strategicsolutions withtechnical power &creative edge