Agile development methodology is a conceptual framework for undertaking any software engineering projects. There are a number of agile software development methods but the most popular agile methods are Extreme Programming (XP) and Scrum. In general agile methods attempt to minimize risk and maximize productivity by developing software in short iterations and deemphasizing work on interim work artifacts and it is people oriented.
Here are some of the key characteristics of the agile methodology.
Deliver frequently. More iterations. Less defects. Test frequently. Collaborative approach. Maximum ROI
It is very effective in environments where frequent changes in the requirement happen quite often due to various business reasons. Since it has more iterations, more than one build deployment for a project. It involves more client interaction and testing effort which assures a solution for the requirement. It is believed by some people that there is less documentation in Agile. But agile also includes documentation and it can be used either small or large projects. In agile Development, testing is also integrated throughout the life cycle. But one of the challenges for the testing team in the project is that they may not have business case and have to learn a great detail directly from the business users or the developer and as result the testing team will conduct more of Quality Assurance work than testing.
As previously mentioned various agile methodologies share much of the same philosophy, as well as many of the same characteristics and practices. But from an implementation standpoint, each has its own set of practices, terminology, and tactics. Below is a brief outline of the two most popular Agile methods: Scrum: Scrum is a lightweight management framework with broad applicability for managing and controlling iterative and incremental projects of all types. Scrum is becoming increasingly popular in the software community due to its simplicity and proven productivity. This method concentrates particularly on how to manage task within a team based development environment. XP (eXtreme Programming): XP is a more radical agile methodology, focusing on the software development process and addressing the analysis, development and test phases with novel approaches aimed at making a substantial difference to the quality of the end product. In agile software development projects, project management takes a slightly different form, relying more on the project managers skills in communication, facilitation, coordination, and emphasizing less on planning and control.
Confidential & Proprietary Page 3 of 4 Overall agile development can be a very exciting and invigorating approach, although some projects suit agile more than others. The collaboration and visibility can provide a much richer and more rewarding experience for teams to develop great software products. Agile development can be a lot more enjoyable than the waterfall approach, which requires lots more documentation and is less flexible by its nature.
Top reasons for adopting Agile Methodology:
The core agile delivery principle is that although agile methods differ somewhat in their practices, all of them advocate these core principles--iterative and incremental delivery, collaboration and continuous improvement and here are top reasons to adopt agile methodology.
Iterative and incremental delivery: Project delivery is divided into small functional releases or increments to manage risk and to get early feedback from customers and end users. These small releases are delivered on a schedule using iterations that typically last between one and four weeks each. Iterations are all fixed to the same length to maximize feedback and regularly force the tradeoffs necessary to deliver, and they are fixed-scope to retain stability. Plans, requirements, design, code and tests are created initially and updated incrementally as needed to adapt to project changes.
Collaboration: All core project team members including an on-site customer are co-located in a shared, open area to facilitate face-to-communication and conduct interactions. Dedicated space is provided for regular work, impromptu meetings, design sessions and other formal and informal group activities. Team members self-organize by continuously completing tasks collaboratively without top- down management control.
Continuous Improvement: Practices that enable delivery process inspection and adaptation are integrated into agile methods. Project Reflections are meetings conducted while the project is underway to facilitate regular reflection on its successes and failures, and any of the tools and techniques applied. Daily standup meetings provide an opportunity to exchange valuable information and to fine tune improvements continuously.
How can Reliable Software support Agile Software Development?
Reliable Software has developed industry best- in- class processes and project development methodologies using agile delivery methods which allows us to deliver the projects on time and on budget. We work with you and understand your requirements well and tailor our model to meet, exceed your requirements. Reliable Software team has developed and refined a repeatable way to enable the efficient and successful delivery of enterprise scale agile projects. This approach includes the concepts applied, the tools used and the activities conducted for successfully delivering business applications. At Reliable Software, we believe that being Agile requires not only a set of adaptive processes but also tools that make everyone involved with the project, agile. This includes the complete agile delivery team-management, development team members, business users and all key stakeholders. Our proven processes and methodologies manage the whole process, build effective relationships and set regular communication with project stake holders. We maintain clear and transparent communication right from project initiation. This will ensure a seamless integration of our processes and methodologies in to your processes, providing a stable and successful project.
Confidential & Proprietary Page 4 of 4
About Reliable Software Resources, Inc. Reliable Software Resources Inc. is a leading provider of information technology consulting and provides high-value, industry-specific IT solutions and is a pure-play IT project implementation and system Integration Company with cost effective delivery model for its clients. Our project delivery solution emphasizes local accountability and a flexible mix of global resources. The result is more-practical and actionable recommendations and the right-sized services that tightly align to your needs. Reliable Softwares services are offered on a project- or strategic-staffing basis, across all technology platforms, operating systems and infrastructures. Reliable Software Resources Inc., Consulting practice has national foot print in United States and has been recognized as one of the fastest growing companies by Inc. Visit us online at www.rsrit.com or follow us on Linked In, Facebook & Twitter.
Copyright 2011, Reliable Software Resources Inc. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Reliable Software Resources Inc. The information contained herein is subject to change without notice. All other trademarks mentioned herein are the property of their respective owners.