Success of a project depends on the development team. The working efficiency of the team depends on its individual members and of course on the quality of the relationships that they are maintaining. By a good relation among the team members we mean the team spirit, comradeship and communication between them. All these qualities give rise to a good team.
In a software development cycle the relationship between a program developer and tester is very crucial. Since the two processes i.e., the development of the software system or application and its testing are inter- dependent on each other.
Successful completion of both these processes is crucial to any software development cycle.
POSITION OF A DEVELOPER?
The software developers fall under the following three categories:
1. Computer programmers
2. Software applications developers and
3. Software systems developers
- Software or a program developer as we know is the one who is concerned with the development of a software system or application.
- He/ she takes care of all the phases of the software development cycle.
- His/ her work includes research, planning development, designing and developing the software system or application.
- Sometimes it may also include the facets of testing the software.
- Program developers are at the center of the whole development process and are involved with management of the software project and its programming.
POSITION OF A TESTER
- He/ she is the person involved with the testing facets of a software system or application.
- Their job is to provide the details about the quality of the software system or application to the stake holders.
- He/ she is responsible for executing the software program with the intention of discovering bugs and errors in it.
RELATIONSHIP BETWEEN DEVELOPER AND TESTER
- The relationship between a tester and a developer should be excellent.
- It is obvious that both the software developers and the software testers work for improving the quality of the software.
- Quality of software includes the design of the software system, actual core implementation, requirements, gap analysis, specifications analysis, development of prototypes, feasibility analysis, documentation, testing, software pre release and post release activities and not to forget the maintenance of the entire software system or application.
But, it is often seen that the relationships between the developers and testers are not so good. This is probably because of the roles of these two.
- Their work often clashes.
- It is obvious that something in the process of development will certainly have bugs.
- It becomes important to decide if this bug is to be left or it is to be fixed. - At this point usually the relationship between the two worsens.
- After all, it is the duty of the testers to identify the bugs in the program.
Matters like these should not hamper the relationship between the developers and the testers as it is crucial for the development.
- Team work and better individual understanding is the best solution for this kind of problem.
- Maintain the quality of software is not just the responsibility of a software tester or developer.
- It is responsibility of the whole development team.
- Therefore every stake holder holds the responsibility for the quality of the software product from the programmer to the customer.
Testers are usually held responsible for the quality sine they are the one who are responsible for finding out the weaknesses of the software and the testers accuse the developers for putting up a bad code. This puts a bad impact on the whole development team since the team spirit is lost.
Friday, February 17, 2012
What is the relationship between a developer and a tester? Who is responsible for a good software quality?
Posted by
Sunflower
at
2/17/2012 11:00:00 PM
0
comments
Labels: Application, Communication, Design, Developer, Inter dependency, Phases, Planning, Project, Quality, Relationships, Responsibility, Software development, Software testing, Successful, Team, Tester
|
| Subscribe by Email |
|
Monday, September 3, 2007
Factors in making a project successful - some quick factors
Unpredictable, late, over budget projects are not something very uncommon. In some cases the project even fails before it delivers even one program. In this article we discuss about some success factors that are crucial for a successful project. Even though we have gone through 4 programming languages generations, 3 development paradigms, we are still not capable of transforming our ideas in to successful software. The number of software project failures has risen rapidly since recent years. No magic goes in to successful management of software development. But there are some factors that make it better: Complexity management: There are several characteristics of software that make the management of the development process very complicated and thus difficult. First, the systems that are based up on software are quite complex. Secondly computing itself is a complex thing. The problem of mastering it is the basic problem. The software developers have to work out such complex problems and so no doubt they are very intelligent people and complex individuals in themselves. This complicates their management also. On top of that if the developers are trying to target user requirements, all the management issues mix up. One study has shown an improvement in the completion rate of the software if the complexity is lower. Companies are now adopting the projects that are small and thus easy to manage rather than taking up large projects, or breaking up larger ones into smaller pieces. Starting on the right side: It is difficult to develop successful software when the development efforts are not proper just like you cannot grow strong plants in soil that is weak. Below we list some failure symptoms out which some are predetermined before the development starts: - A lack of understanding of the users’ needs. - Poorly defined scope of the project. - Changes in the technology chosen for development. - Changes in the business needs. - Setting unrealistic deadlines. - Resistant users - Lack of sponsorship. - Lack of appropriate skills - Ignorance towards best practices. For avoiding this we should have objectives that can be really achieved and the expectations that can really come true. Your team should consist of people with proper skills required for the job. Adequate resources must be given to the team to meet their requirements. Momentum maintenance: Now that you have a strong team, a good working environment, good resources etc. you can gain the momentum. Next you need to keep increasing this momentum. Having a high momentum is quite easy but taking it further from here is very difficult. It keeps changing with the course of development. Your focus should be keeping the attrition low, monitoring quality early and managing the product more. Progress tracking: The nature of the software is intangible i.e., it cannot be physically touched or measured. If you don’t know what mistakes you are making while doing the project, it is quite possible that you’ll keep repeating them. Smart decision making: Difference between the project failures and successful projects comes from making smart decisions. It is often not difficult to analyze whether a decision is good or bad before you implement it. Bad decisions are often made while selecting what technologies are to be used. It may happen that you might not be able to finish your project and the platform your project supports goes away. Before picking up a technology, its analysis must be done and you should if there is a market for it. Post – mortem analysis: Successful companies analyze the project to learn from their mistakes. If this not done, the same mistakes will be repeated again and again.
Posted by
Ashish Agarwal
at
9/03/2007 12:24:00 PM
0
comments
Labels: Development, Engineering, Models, Processes, SDLC, Software, Strategy, Successful, Successful projects
|
| Subscribe by Email |
|