INDIVIDUAL WORK by soon ming poo 1). Explore topics in Agile Software Development and Scrum to learn more about how these methodologies can improve your products and make the process more efficient. Write a two page summary of your findings and upload in iFolio. I may select a few student to present in the class. WWW.SCRUMALLIANCE.ORG
Agile software Agile software development methodologies are used to produce high quality software in shorter period of time. Some popular agile development methodologies are Extreme Programming (XP), Scrum, Crystal Methods, Feature Driven Development (FDD) and Test Driven Development. All of these methodologies function differently from traditional Software Development Methodologies and help organizations meet the challenges of the digital economy Scrum It is an iterative and incremental agile software development technique. The name scrum is derived from a strategy used in the sport of rugby. In rugby scrum the ball is moved back and forth between team members to move the ball forward . Scrum framework improves communication and helps in maximizing the cooperation between team members. Most importantly scrum maximizes productivity. The best thing about implementing scrum is that it is scalable from single project to an entire organization . Scrum can be used for small as well as large projects. Smaller projects are handled by assigning scrum teams; however, large projects can be broken down in to smaller subprojects with a scrum team assigned to each project . Improve the product in productivity and quality A. Knowledge Sharing Knowledge sharing is an activity by which information is shared amongst people. It is a constituent part of agile development environment, and normally it is done with the help of a knowledge management system. Discussion with some of the senior professionals in the field of software engineering has revealed that there are regular knowledge sharing session in organizations practicing agile and senior and experienced resources are provided with a chance to share their knowledge and experience. Knowledge sharing amongst team members helps in solving wicked problems, rather spending time individually. Individuals who are new to the team get an opportunity to learn from knowledge sharing sessions. B. Active Stakeholder Participation Agile methodologies emphasizes on a strong customer and developer relationship. With the expanding internet technology and development of integrated solutions, the business demands faster delivery of projects to its clients and it can be best achieved with continuous involvement of the stakeholders who have a stake in the project completion. In order to facilitate dynamic
changes in requirements even late in the implementation phase requires active participation from customers. Most of the organizations practicing agile methodologies have their business analysts associated with clients who keeps an active contact with them, ensuring faster delivery of releases to the end users and improving productivity. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation . C. Flexible Design New requirements cannot be implemented effectively unless the design is flexible and a flexible design can be considered as a base to efficient and effective delivery of customer requirements and changes. An agile development model has been suggested in the recommendations section of this paper that emphasis on flexible high level analysis and design. make the process more efficient. a. Self Organizing Teams Teams are organized to handle complexity and pressures of deadlines during project development, and to bring the project to completion. They take decisions on their own and adapt accordingly with changing situations. Self organized teams do a much better job of utilizing the talents of the team because more minds are involved in any activity. Self organizing teams are better than command and control teams because they it provides are chance for personal development, having responsibility placed on the shoulders of individuals working in a team solely for the successful completion of the project . b. Reduced Documentation Agile development methodologies emphasize more towards completion and delivery of the project to the customer in short time span than emphasizing on documentation. The main objective of the development teams is to deliver a working release when needed complying with quality standards. ď˝Ąď˝° New releases are produced at frequent intervals, in some approaches even hourly or daily. The developers are urged to keep the code simple, straight forward, and technically as advanced as possible, thus lessening the documentation burden to an appropriate level C. Responding to Change Agile advocates that changes are welcome even late in the implementation phase, and this is one of the major reasons of increase in productivity. Changes are managed, analyzed and implemented by the development teams even on short notices. It is only possible if the organization is using agile development methodology and it is mature enough to welcome dynamic changes. F. Team Size Fewer but competent and experienced developers can deliver desired outputs in lesser time and with better quality. Experienced developers can considerably reduce the time of development as compared to slow and inexperienced developers.