Agile Methodology With Scrum Model For Software Information Technology Essay

Agile methods may produce software faster but also need to know how they meet quality requirements. This research focuses to make the base of question can agile methods ensure quality even though they develop software faster and can handle unstable requirements?”. To show how agile methods achieve software quality, compare the scrum model with agile processes. Present a detailed scrum model showing its software quality support processes. Then show the quality practices that agile methods have integrated into their processes. Finally it is the comparison of agile methodology with scrum model in the environment of Pakistan software industry and proposed the best efficient model in the distributed software environment

Introduction:

Main idea of this research is to identify the challenges and issues of an agile adoption in an organization and formulate ways to grab with those issues. And also propose a solution for agile scrum limitation “Limited support for Distributed Environment [1]”. Main Issue in distributed environment is “Communication”, I am proposing a several ways how we minimize communication barrier in distributed environment. And ensure that agility with scrum model is possible in Distributed Environment. “Scrum…is a framework within which you can employ various processes and techniques…within which complex products can be developed [2]”.

Scrum Principles includes Time-boxes ,Cross-functional teams ,Open communications Within team With stakeholders ,Priorities set by Product Owner, Demonstrable results, Responsive to change[3].

Benefits of Scrum Targets Product Owner’s functions-of-value focus on team communications, frequent and ready access to knowledge, co-location improves communications, frequent demonstrations for early feedback from stakeholders, sense of accomplishment, quality of product.

Scrum is a knowledge creating process with a high level of information sharing during the whole cycle and work progress. Its application also generates a strong culture with well-defined roles and relationships[4].

The key to scrum is planing the date of completion for production or release, prioritizing functionalities, Identifying available resources, decision about the architecture.

Scrum offers a collection of empirical techniques that assume existence of uncertainties but provide practical and specific techniques to tame Iterative, Incremental and Adaptive Software Development Model. In scrum Project work is identified dynamically and prioritized according to the customer’s needs and what the team can do.

Existing System:

In every agile process development methodology there are some limitations with respect to nature of work. Some issues are highlighted in [5] for distributed area, sub contraction, developing large and complex systems, Safety-Critical system development etc.Existing software methodology has many issues in distributed environment. Now a days software development is doing by outsourcing the projects because in advanced countries cost factor is very important but the most important constraint is the communication gap between the owner and developer. To resolve this gap and to enhance the autonomy in distributed environment under the umbrella of agile methodology scrum model is implemented for dynamic development model

Drawbacks with existing system

Existing system (agile process development methodology) has many issues for for user and developer aspects.

Disadvantages with agile:

Active user involvement and close collaboration

Requirements emerge and evolve

Agile requirements are barely sufficient.

Incremental approach to development and frequent delivery of product.

Testing is integrated throughout the lifecycle.

Frequent delivery of product

Finally, common feedback is that agile development is rather intense for developers. The need to really complete each feature 100% within each iteration, and the relentlessness of iterations, can be mentally quite tiring so it’s important to find a sustainable pace for the team [6].

Objective:

Numerous works has been done to cover all aspects of Scrum Development methodology but still there are open research areas which need to be covered. In every agile process development methodology there are some limitations with respect to nature of work [7]. Some issues are highlighted in [7] and for distributed area, sub contraction, developing large and complex systems etc, but still there are open areas where no significant research work has been done. Ensure that agile method with Scrum Model can ensure quality even though they develop software faster and can handle unstable requirements.

PROPOSED SOLUTION:

My Objective of this research is to minimize the issues and challenges of an agile adoption in an organization with collaboration of Scrum Model. So organization can successfully adopt and integrate agile with scrum into their enterprises for greater responsiveness to changing market demands and conditions.

Ensure that agile method with Scrum Model can ensure quality even though they develop software faster and can handle unstable requirements.

OBJECTIVES OF PROPOSED SYSTEM:

The new methodologies should be developed and then it will be implemented in the different software industry with techniques and the results will be compared.

New software size estimation methods should be developed. These methods will help in software cost estimation by using the different estimation techniques.

These new methods will be better in software cost estimating, particularly for in the environment of Pakistan.

There should be easier methods for Software development in the Agile with Scrum Model.

It is comparison of old and new technologies.

In the environment of Pakistan these approaches will be valid for software cost estimation.

FUTURE WORK:

Developing the new methodologies for software creation is an emerging trend in the environment of Pakistan. The approaches for software size, code, space and time estimation will be applied on the different software estimation techniques. Basically, the methodology proposes an integrated usage of available all these estimation techniques in different phases of the development life cycle. Application of the methodology in developing software by SD approach is also discussed. As a next step, the methodology should be experimented in various projects and thus will be enhanced. Some applications are also needed for applying the methodology to other software development approaches such as object-oriented development, Jackson System Development & Programming (JSD & JSP) etc. Also, the tool needs to be ported to UNIX environment.

Review of Literature:

Artem Marchenko, Pekka Abrahamsson (2008): The authors carried out an ethnographically informed longitudinal case study in industrial settings and closely followed how the Scrum method was adopted in a 20-person department, working in a simultaneous multi-project R&D environment. Altogether 10 challenges pertinent to the case of multi-team multi-project Scrum adoption were identified in the study. The authors contend that these results carry great relevance for other industrial teams.

Steve Berczuk (2007): Stated main reason that it is difficult to do work in agile with distributed teams is that distribution can reduce communication bandwidth. Co-located teams that don’t communicate well can also fail with agile methods. But the rules of agile methods serve to increase communication and feedback. Any team is best served by following the rules of the agile method with as few adjustments as possible. Distribution increases the damage that non-compliance can cause. If the team feels like it owns the process and the tools it is more likely to be able to overcome obstacles and be successfull.

Andrew Begel, Nachiappan Nagappan (2006): This paper report on the results of an empirical study conducted at Microsoft to learn about Agile development and its perception by people in development, testing, and management. They found that one-third of the study respondents use Agile methodologies to varying degrees, and most view it favorably due to improved communication between team members, quick releases and the increased flexibility of Agile designs.

Barry Boehm, Richard Turner (2005): Their discussions with traditional developers and managers concerning agile software development practices nearly always contain two somewhat contradictory ideas. They find that on small, stand-alone projects, agile practices are less burdensome and more in tune with the software industry’s increasing needs for rapid development and coping with continuous change.

Wilton, P. and J. W. Colby(2005). Stated that most database management systems these days are relational with implementing agile methodology, termed relational database management system . These systems make storing data and returning results easier and more efficient. They allow different questions to be posed of the database even questions the original designer of the database didn’t expect to be asked.

Outi Salo (2004): Empirical results are reported from two XP (Extreme Programming) projects where the project teams conducted “post-iteration workshops” after all process iterations in order to improve and optimize working methods.

Andreas Kornstadt and Joachim Sauer (2002) It includes discussion of the “diary-driven development” lightweight approach to documentation and providing a technique of introspection to help “peer-review yourself”. The experience reported on also covers what happens when you try to take these techniques successfully applied by an individual and scale them up for adoption by a typical small team. Adding relevance to a non-technical management audience, the presentation looks at these practices from a risk-mitigation viewpoint. It will help validate them as worthwhile for solo developers and debunk the idea that “software engineering is only for big teams”.

Highsmiths J.A.(2000): The research project described in their report is three-pronged effort to investigate the issues associated with Scrum adoption. First, the practices that characterize the Scrum agile method will be stated, along with common variants. Second, projects that have adopted, or are in the process of adopting, Scrum will be surveyed to identify which Scrum practices, or variants thereoff, they have implemented and the perceived value of the method. Third, factors affecting Scrum adoption will be investigated. The objective of this research is to better understand the barriers to adoption and the leverage points that might encourage Scrum to be more widely and efficiently deployed.

Boehm. B(2000)

l: The paper proposes the component paradigm as a way to bridge the gap between model-driven and agile development. Service-based component concepts applied at the level of modeling, architectural design and development can ensure and strengthen agile development principles and practices. Components provide a way of building simple and flexible software architecture that can easily scale in size and level of details in order to overcome certain limitations of agile development processes.

Material &Methods

This research is an empirical study .The existing published literature and research material, relevant to the Agile and scrum model are the first treasure of knowledge for this research study and provide the baseline to execute the research in proper direction. Online digital libraries and databases e.g. ACM, Springer link, IEEE etc, are the main source of information. Due to the fact that this is relatively a new research domain with insufficient academic research contribution I will also approach the online articles, success stories, case studies and personal experiences, shared by Agile practitioner, through the search engines. I will approach the agile practitioners who have experienced the Agile methodologies in distributed/Offshore environment[10]. And various research groups e.g. Google groups, Yahoo groups etc, relevant to the research topic, for getting the research input. I will also survey different organizations, especially in Pakistan, for getting the multiple responses, close ended and open ended questionnaires will be published to capture the views of IT professionals.. After approaching the wider group of Agile practitioners to get the general view point. In order to become more focused, I identify the group which are very specific and practically working in the particular development environment (Distributed agile)[8]. Structured and semi structured interview will be another tool to refine the respondent findings. The results will be formulated for this empirical study on the basis of theoretical frame work (literature review) and empirical study (survey and interviews with practitioners) The key to scrum is planning the date of completion for production or release, prioritizing functionalities, Identifying available resources, decision about the architecture.

Scrum offers a collection of empirical techniques that assume existence of uncertainties but provide practical and specific techniques to tame Iterative [9], Incremental and Adaptive Software Development Model. In scrum Project work is identified dynamically and prioritized according to the customer’s needs and what the team can do. My Objective of this research is to minimize the issues and challenges of an agile adoption in an organization with collaboration of Scrum Model. So organization can successfully adopt and integrate agile with scrum into their enterprises for greater responsiveness to changing market demands and conditions. Ensure that agile method with Scrum Model can ensure quality even though they develop software faster and can handle unstable requirements.