To Ameliorate Quality in Software Development Projects By Using Contemporary Agile Bug Tracking System V. Nithya 1, S. Lavanya 2, G. Gokila Deepa 3 1,2 Students/M.Tech IT, 3 AsstProfessor, Dept of Information Technology, SNS College Of Engineering, Coimbatore. Abstract- In software development, human technical skills and realization experience are the inputs for the success of the project. It requires the high level of human intensity to the allocated module which is finally integrated into a complete project. In spite of the hard work, many issues such as bugs and enhancement requests need to be tracked and managed. So, tracing system is used. It will increase the human efficiency and productivity by avoiding task redundancy and help the development and testing team by increasing their control over system development. This will have the influence over performance of the resources across various phases in software development i.e. (from requirement to implementation phase). System will be more exploratory in nature to all team members to coordinate their work, and to make sure that detailed detects and improvement requests won't get forgotten. Keywords- Defect Tracking, Bug Flow, Agile, Scrum, Efficiency and Effectiveness. I. INTRODUCTION A. Efficiency in development life cycle The software development life cycle term explains the method of planning, designing, coding, and testing of software. In each of these phases efficiency plays a vital role for the success and profitability of the company. A well organized company wants to handle both effectiveness and efficiency well. Achieving both in a project is very difficult. Efficiency denotes the proportion between output and input where as the effectiveness denotes level of achieving the expected manufacture output by a created system. Defect tracking system provides the efficient ways to achieve the maximum effectiveness. Profit can be categorized into solid and vague. B. Physical profits In depth knowledge and understanding of clients there by the response to the customer will be quicker. Increased market share Increased in productivity and service quality. Minimize the cost level. On other side the vague profits are Ability of decision making can be improved. Better product quality. Better coordination between associates. Finally this will help in having the resources in right places and help to avoid task redundancy. Efficiency of the project management will increase. This will increase the client image and hence profit increase in future. II. LITERATURE SURVEY The literature review is based upon the various surveys of the bug tracking system which is for reporting the bugs from projects. Bug tracking tool is a fundamental tool for most software development projects. Essentially, this tool is a catalog of bug reports, with a front end that smooth the progress of actions such as filing new bug reports, changing the state to replicate the progress of the work done to tackle the bug, and produced reports on the bug data. A. Need of Bug Tracking System In many software projects, defect tracking systems play an innermost role. They allow users to communicate with developers to let them know about any problems and to request new features. In addition, developers can remain track of any unsettled defects and request more information from client. However, most defect tracking systems are far from perfect. Many of them are basically better interfaces to a database that stores all reported defects. As consequence, they often ask too much from end-users who are not recognizable with development practices. At the same time they cause irritation for developers who are disappointed about the quality of defect reports submitted by client. We reported quantitative results of our survey, which can be briefly reviewed as follows: Most caring for developers are ladder to reproduce, stack traces, and test cases. The grimmest problems that they face are wrong steps to reproduce and incomplete information. Defect duplicates were not considered as harmful, because they often provide additional information. Reporters consider test cases, steps to reproduce, code examples, and stack traces as most hard to gather. There was proof for an information mismatch, i.e., reporters give not the information that developers need most. Yet reporters give the impression to know what is important for developers. These results indicate a need for. 197
B. Analysis and Execution It is relatively safe to finish off those companies that track defect data fall into three camps. The first set, which we identify "firefighters," collects defect information firmly for day-to-day management. Their defect tracking systems provide the managers a way to allocate defects to certain developers to be fixed. At the same time, the system advise the tester when the defect has been set so the tester can verify then fix. They provide a mechanism for developers to query a system to find what bugs are assigned to them; project managers can also use the systems to check the work on each developer. Some simple analysis can be done, such as tracking how many new flaw reports were filed in a given period of time. As one responder to the 1998 survey stated that when the number of new defects found starts to level off, either the development phase is coming to an end otherwise the test suite is losing its effectiveness. Most software industries in this first camp require collecting a good deal of data about each defect in order to reach the above stated goals. The most significant detail is a textual summary of the defect, including the steps required to replicate the defect. The date that a defect was establish, the tester reporting the defect, the date the defect was fixed, and the developer accountable for the fix are all usually tracked. Most companies also track test environment, including which hardware and operating system the test machine was running when the defect happened. Fault messages produced by the software or operating system are often logged, and in some industries, an identifier of which test case produced the defect is tracked. In some cases, bugs are logged with a priority and/or a severity, which indicates either the tester's (or manager's) input on how to prioritize the fix of defects. Development groups often try to narrow down the location of the defect, by tracking a functional area of the program, a module or a source file, depending on the group. All of these data will be used to classify bugs. For example, all bugs found during a certain phase would be one bug class. However, bug analyses are timeconsuming and often endure on resource-constrained projects. C. System Maintenance by BTS i) Manager Module: The Manager home page contains summary of bug list and total bug count of developers, testers. ii) Manager View of Total Bug List: In total bug list, when bug id is clicked the details about the bug will display. Then Manager validates the bug and accordingly he sends the bug to the developer. iii) Total Bug Count of Developer &Tester: This will contain the name and number of bugs assigned to the particular developer and a tester. iv) Privileges of Manager: Adding the new user (may be Tester or Developer). Adding new products and modules. Adding the new bugs and assign priority, severity & Build no to developer or tester. He can view priority and severity of the bugs. v) Tester Module: The Tester home page contains total bug list. vi)tester View of Total Bug List: In total bug list, when bug id is clicked the details about the bug will display. When the bug status is Fixed then he will test that bug, if it is satisfied the bug is closed. Otherwise status changed to be reopened. vii) Privilege of Tester: Adding the new bugs to the selected projects & modules then assigned to Manager or developer. They can change the status of the bug, priority and severity. viii) Developer Module: The Developer home page contains logged-in developer s total bug list. By clicking a bug id, the details are displayed. The Developer open the bug and solves it. Then change the status to Fixed. Developer can assign that bug to another developer or Manager in that case of not able to solve. ix) Main Bug List: The main bug list page displays a list of bugs. This list will b viewed by all the logged-in-users. The bug list shows the bug id, product name, submitted date, and the user logins for the person who submitted the bug and the tester/manager assigned to the bug. By clicking on each bug id all the details will be viewed. 198
It focuses to planning and managing projects is by bringing decision-making authority to the level of operation properties and certainties C. Traditional Bug Tracking is dead in agile world A bug tracking system employs the progress of work through the development life cycle contains reporting, to urging, to assign, to test develop, to completion, to test, to integration, to deliver. It simplifies the answering of customer questions such as what is fixed in this release and what release will the fix appear in for a bug. A bug tracking system also permits for the collection of metrics which aids in the spotting of trends. Multiple sources that metrics collected from bug tracking system are worthless because developers will just game (unfit to) the system. That may be true in an unhealthy working environment. However, in an environment where developers are actively participating in the improvement of the process, they will need this information in order to help to find and fix problems, including the root cause of each individual problem. i..bug Flow [8] III. RELATED WORK A. Emerging Agile Methodology Agile software development is a collection of software development methods based on iterative and incremental development, where requirements and solutions acquire through collaboration between Management and Development team. It encourages adaptive planning, evolutionary development and delivery, confined iterative approach, and motivates instant and flexible response to change. It is a conceptual framework that elevates anticipated interactions throughout the development cycle. It performs unit testing and integration testing. B. Scrum Scrum is an iterative and incremental agile software development framework for managing software projects and product development. Scrum focuses on project management organizations where it is hard to plan ahead. Mechanisms of experimental process control, where feedback loops that comprise the core management technique are used as opposed to traditional commandcontrol management. Fig. 2 Traditional Bug tracking system [9] Bug tracking is a fundamental part of the Software Engineering lifecycle process. Through this people involved in products / projects discusses each other and prioritizes issues important to it, but only in a narrowly technical way. As it is said - it is always good to get bugs from internal people than outsider. Effective use of a bug tracking system will lead to a more structured approach throughout the development lifecycle, resulting in a higher quality product while also reducing development and support costs. D. Role of Bug tracking system in Agile Methodology In few years ago, Agile Methods for software development have gained importance in many segments of the software industry. 199
Like conventional methods, the goal of Agile Methods is to build high quality software that meets users needs. The main difference between them lies in the means to achieve this goal, that is, in the principles used. This approach is fundamental for the success of most projects because requirements change as the customer needs change. The Bug Tracking Process Follows as: Track every bug, issue and defect Generate automatic notifications and alerts when a bug / issue / defect is assigned The customized workflow sends bugs through your defined process, adapting to methodology By managing bugs along with user stories, see their affiliation and work them into your burn downs Give a glance, which projects they are in, who are working on what will be going on and everything! Fig. 3 Agile/Scrum Bug Tracking System [9] In software development, requirements for a project often change while implementation is still in progress. It shows that the percentage of software lifecycle cost due to maintenance ranges between 40 and 90%. Many companies and development teams consider changes undesirable because they break previous plans. However, requirements are likely to change as the customer sees the system after it is deployed and it is not feasible to make an initial plan that foresees such changes without having to spend too much time and money. With Agile Methods, more value is given to practical aspects. Detailed plans are made only for the current development stage, and draft plans are created for the next phases in such a way that they can be adapted to changes by the time comes to detail and execute them. The Manifesto for Agile Software Development defines the essential principles of Agile Methods and highlights the differences between agile and conventional methods by valuing: i) Individuals and interactions: over processes and tools. ii)working software: over comprehensive documentation. iii)customer collaboration: over contract negotiation. iv) Responding to changeover following a plan. These characteristics bring dynamism to development, motivation to the team, and more comprehensive information about the real situation of the project for the customer. Some conventional methods claim to be predictive. In contrast, Agile Methods are adaptive. Fig. 4 Agile Scrum Bug tracking system [7] IV. CONCLUSION AND FUTURE WORKS Bug tracking is a fundamental part of the Software Engineering lifecycle process. Through this people involved in products / projects discusses each other and prioritizes issues important to it, but only in a narrowly technical way. As it is said - it is always good to get bugs from internal people than outsider. Effective use of a bug tracking system will lead to a more structured approach throughout the development lifecycle, resulting in a higher quality product while also reducing development and support costs. Bug tracking system analysis leads to deliverable better quality products / projects and to know about the employee performance as well as to reduce communication gap between developers and testers. It Improves company productivity and stability of the products. REFERENCES [1 ] Joel Spolsky (November 08 2000). "Painless Bug Tracking". Retrieved 29 October 2010. [2 ] Multiple (wiki). "Bug report". Docforge. Retrieved 2010-03-09. 200
[3 ] John Dooley, Software Development and Professional Practice, Apress publications. [4 ] Louis Testa, Growing Software Pages in Print Edition: 424 March 5, 2009 [5 ] Elfriede Dustin, Effective Software Testing: 50 Specific Ways to Improve Your Testing, Addison-Wesley Professional publications. Dec 18, 2002 [6 ] http://www.mks.com/solutions/discipline/dm/defect-management. [7 ] http://blog.jetbrains.com/youtrack/files/2012/08/scrum.png [8 ] http://www.bughost.com/images/buglifecycle2.gif [9 ] http://www.axosoft.com/blog/wpcontent/uploads/2011/12/termino logy.png [10 ] http://en.wikipedia.org/wiki/scrum_%28development%29 [11 ] http://accurev.com/blog/2008/01/02/is-defect-tracking-dead-in-anagile-world/ [12 ] https://barelysufficient.org/2010/11/role-of-the-issue-tracker-inagile-projects/ [13 ] http://www.mountaingoatsoftware.com/blog/pdf/bugs-on-theproduct-backlog/comments [14 ] http://www.softwaretestingclass.com/top-10-free-open-sourcebug-tracking-systems 201