18
AGILE METHODOLOGY FOR SOFTWARE DEVELOPMENT AGILE TERMS FROM A - Z

Glossary of Agile Terms

Embed Size (px)

Citation preview

Page 1: Glossary of Agile Terms

AGILE METHODOLOGY FOR SOFTWARE DEVELOPMENT

AGILE TERMS FROM A - Z

Page 2: Glossary of Agile Terms

AGILE Agile is a philosophy rather than a single methodology or set of tools. What you need to know: It’s all about using the principles of Agile to create software development projects which deliver results into your business which are implemented faster, and are better quality.

BUGS In XP Agile, at the end of an Iteration, users perform acceptance tasks on each Iteration. The task of fixing bugs becomes a step in the next Iteration.

CIRCLE OF AGILITY

Page 3: Glossary of Agile Terms

CUSTOMER COLLABORATION The Key to successfully delivering on your software projects is at the heart of Agile. Customer Collaboration ensures that we listen to what you want your software to do, and then work with you and the people who use your software, to deliver software that works.

CONTINUOUS IMPROVEMENT Part of Agile is putting time to one side at the end of iterations, and the whole process, to consider best practice, issues being experienced, and business constraints. This helps deliver improvement actions and root cause analysis, enabling your business to work smarter in the future.

Page 4: Glossary of Agile Terms

DEVELOPMENT Agile teams are made up of people in your business who understand what the requirements of end use are. This means that the project development focuses on your end results. Development is the result of bringing together IT and the Business team, and end users, to ensure that requirements and constraints are fully understood.

EVOLVING REQUIREMENTS The nature of Agile means that changes can be reviewed often, and integrated into the development process. Rather than a more traditional methodology which may only test at the end, testing can happen during the iterative process and to ensure that the needs of the business are met. This is particularly useful in the fast changing world.

Page 5: Glossary of Agile Terms

FIT FOR PURPOSE Agile is responsive to change rather than being stuck on initial standards, plans and requirements. We recognise that often when you start a software project, the real requirements are tough to define. The beauty of Agile is that we work with the users to create a story focused on what is needed, and then use those user stories to deliver small, step by step enhancements.

GETTING THINGS DONE The focus of Agile Projects is on Getting Things Done. Agile enables software development which is on time, to budget and has an enhanced business value. This is because of the focus on splitting the projects into smaller, more manageable sections and focusing on testing and reviewing outputs regularly.

Page 6: Glossary of Agile Terms

HEAVY-WEIGHT VS LIGHT-WEIGHT Agile Methodologies are seen as Lightweight. Traditional Software development methodologies such as Waterfall are seen as Heavyweight. This means that the Lightweight Methodologies enable increased flexibility and ability to meet your requirements – even when you start out without being clear about what you want, or when your requirements change in the project. The emphasis is on flexibility and adaptivity rather than on heavy, comprehensive documentation.

ITERATIONS Small teams work together on Iterations of your software development project. Stakeholders are engaged to ensure that business needs are understood, with the end goal of each iteration being the output of working code which is then tested and verified by the users. This enables feedback to be integrated earlier and requirements to change during projects.

Page 7: Glossary of Agile Terms

INDIVIDUALS AND INTERACTIONS Individuals and Interactions are preferred to focusing on processes and tools. Whilst these can be useful to your business, what you want to know is that your business gets results. When we focus on you, your business and the interactions that you need your software to deliver, we can then ensure that the right tools and processes are used.

KNOWLEDGE Agile Software development is most successful when you invest time as well as the financial cost into your business. Putting the right people, who are able to make decisions, and those who understand how your systems work and what you need, together with Agile specialists, will focus the results of the delivery into what is most important to you. Without that internal knowledge, software development will be less effective.

Page 8: Glossary of Agile Terms

LEAN Lean is another methodology which focuses on maximising customer value and reducing waste. Agile fits with Lean in that Agile Projects seek to deliver to customer requirements and there is a fit with the quality and continuous improvement of how you work and what that means to your business.

MANIFESTO The Agile Manifesto is a summary of the main principles of working in an Agile Way.

Page 9: Glossary of Agile Terms

NEEDS OF YOUR BUSINESS The needs of your business and the needs of your IT department should be stemming from the same overall business objectives and goals. Working with an IT Agile Solution such as those delivered by Valtech will help focus on the strategic difference that well managed software development brings. Speed to business will help give you operational value and the competitive edge.

ORGANISATIONAL FOCUS Ever heard the phrase “computer says no”? What Agile software development should be giving you is IT with an organisational focus – one which delivers on what you need to have the strategic edge in your organisation. The focus is not just on the tools – these are the how of delivery – but on the why of the development project. Agile partners should be able to show you how they have experience in business sectors and why you should choose them over a competitor.

Page 10: Glossary of Agile Terms

PRODUCT BACKLOG In the SCRUM Agile Process, the Product Backlog is the centre of the process. It is the list of work to be done and is populated during the Planning Phase. The backlog then defines the Scope of the Release. The Management of SCRUM projects stems from this initial planning which includes project scope and high level design. The Iterations in SCRUM are called SPRINTS. Teams are put together to work on the backlog in these Sprints by developing, wrapping, reviewing and adjusting the backlog items.

QUALITY Quality is an important element of Agile Software Development Projects. One way to ensure Quality is in the XP development process, which uses Pair Programming, working with the end user and “Integrating Often” to implement in changes daily. Pair Programming is 2 coders working together on the same project – no more end cost but additional quality.

Page 11: Glossary of Agile Terms

RELEASE PLAN The Release Plan is formed from the first cut of the Product Backlog. The Release Plan is based on priorities of your business. The Release Plan can be reviewed and updated as business requirements change. It is the plan for implementing releases of software and then these are then broken down further into Iterations.

SCRUM The Scrum is a daily team meeting which is part of the Iteration Management Process. The purpose of the Scrum is to bring everyone together, monitor progress against the features and review on a real time basis what was done yesterday, what is planned for today, and what are any blockers to progress? Naming the blockers enables review of them and to find out whether the blocks can be removed.

Page 12: Glossary of Agile Terms

SCRUM METHODOLOGY SCRUM Methodology is another of the well known Agile Processes (see XP for the other) Scrum uses both managerial and developmental processes (unlike XP which is purely focused on development). The goal of the SCRUM process is to put out a release. SCRUM Methodology allows for plenty of change during the project.

SPRINTS SCRUM Methodology splits the Iterations into SPRINTS. Each SPRINT aims to fix a number of the BACKLOG items. During each Sprint, there is a clear process to manage the progress of the software 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 backlog items.

Page 13: Glossary of Agile Terms

WORKING SOFTWARE The goal of Agile is to deliver Working Software. Agile focuses on meeting the needs of your business by refining and meeting business needs, rather than getting stuck in comprehensive documentation at the loss of insight into your business.

WASTE Agile reduces waste in your business. A Johnson Survey in 2002 on Actual Use of Requested Features on Traditional Software Projects, showed that only 20% of features from traditional software projects are actually regularly used – what a waste of time to develop, and system resources. Working with your users and being able to change to meet business needs reduces this waste.

Page 14: Glossary of Agile Terms

WATERFALL Waterfall is a more traditional form of undertaking a software development project. In Waterfall, there is a more stringent process which is now seen as more document than business driven. Waterfall is a “serial” method of managing a software project which goes through the phases of Requirements, Design, Implementation, Verification and Maintenance. Waterfall projects are often known for a high level of detail in setting out requirements and design to reduce the risk that the project may not deliver what it was set out to.

Page 15: Glossary of Agile Terms

USER STORIES An important part of the XP Software development process of Agile is creating a series of User Stories. The User Stories describe the need that the software will fulfil, which helps the Agile team be more realistic in assessing the resources required to build the release and user acceptance tests. The User Story focuses on the problems to be solved using the software. Because they are short, it is critical that there is continued input from the user to check that the development is fit for purpose.

Page 16: Glossary of Agile Terms

XP XP is one of the best known Agile Methodologies. Extreme Programming (XP) concentrates on development of the software enabling the management team to pick the parts of this methodology which work for them. XP development focuses on release planning and then stages of iteration, where the emphasis is on understanding the “user stories”, leading to user acceptance testing, and to the review and closure of the Iteration with the successful release of the software.

Page 17: Glossary of Agile Terms

We’re a digital consultancy providing strategic solutions with technical power & creative edge

ABOUT VALTECH

Page 18: Glossary of Agile Terms

Valtech UK

www.valtech.co.uk [email protected] blog.valtech.co.uk twitter.com/valtech facebook.com/valtechuk