Software houses develop and distribute computer software that may be used to learn, instruct, assess, calculate, entertain or perform a multitude of other tasks. The development team and each project manager has its own style/way of managing the project.
A lot of problems arise in this case, some of them are
- Inconsistent project management practices applied on different projects depending upon the skill level of project manager managing the project.
- Lack of visibility on some projects as some project managers are shy from reporting the progress of the project.
- Project delays due to inexperienced project managers lacking proper training.
- Project managers working in isolation and not benefitting from the experience of each other.
- Issues not escalating to higher management due to lack of consistent reporting.
- Multiple project managers fighting for the same pool of programmers, designer, testers etc.
- Inefficient or over utilization of human resources in different projects due to different style of project managers.
According to Gartner survey, most software projects fail due to lack of proper project management/governance.
Structuring Software Houses
A professional software house normally consists of at least three dedicated sub-teams:
- Business Analysts who define the business needs of the market
- Software Designers/Programmers who create the technical specification and write the software
- Software Testers who are responsible for the whole process of quality management
In bigger software houses, greater specialization is employed, and quite often there are also:
- Technical writers who write all the documentation such as user guides
- Release specialists who are responsible for building the whole product and software versioning
- Graphic designers who are particularly important in the gaming industry and elsewhere. They are normally responsible for the design of the graphical user interface.
- Maintenance Engineers who are behind two, three or more lines of support
- Consultants responsible for making the solution operational, especially if some specialist knowledge is necessary. Examples of this include: building multidimensional cubes in business intelligence software, integrating with existing solutions, and implementing business scenarios in Business Process Management software.
- People are not focused so much on the specialization
- Each person must be very flexible and have the ability to play each role (not each person is willing to do that)
- The approach is possible just for smaller, less formalized organizations
- Each person has full knowledge about the full production cycle
- People are doing various tasks what makes especially young people excited about their work
- There is a very good possibility to manage the work load especially in crisis situations like “all hands on pump”
How Virtual Team can add value to Project Management
A virtual team can help to reduce project management problems. Virtual team can achieve this by
- Providing standard guidelines/ practice documents for project managers which they can follow in different stages of the project. For example standard guidelines for defining scope of the project, project planning/estimation, risk identification and escalation etc.
- Virtual team identifies the gaps current issues in project execution and identifies potential risks earlier
- Virtual team enhances monitoring and control of projects by implementing standard reporting policies which the project managers have to follow.
- Virtual team helps to mediate conflict resolution among different project managers.
- Virtual team provides training and mentoring to project managers so that they can manage projects effectively.
- Virtual team increases efficiency by tracking progress of the projects.
- Virtual team integrates all project plans by standardizing project progress reporting so that the management has a clear that which projects are getting delayed so that the resources can be assigned accordingly.
- Virtual team increases the overall project management knowledge of the organization/software house by documenting/collecting lessons learned from different projects so that the organization/company can learn from previous mistakes and project managers may be trained to avoid those mistakes.
Well-established software houses typically have some way of measuring their own efficiency. This is usually done by defining the set of key performance indicators (KPI), such as
- The average number of bugs done by the developer per unit of time or source lines of code
- The number of bugs found by tester per test cycle
- The average number of test cycles until Zero Bug Bounce (ZBB)
- The average time of test cycle
- Estimated time of task comparing to the real time of the task (exactitude of planning)
- Number of corrections to the baseline
A virtual team works for your company, like an in-house employee, with one primary difference that it may be within our city or working from an office halfway around the globe. Companies have now started to embrace the concept that it is the most convenient option they can adopt. Thanks to improved technology, you gain the benefits of global talent with the control and collaboration opportunities as you hardly ever feel the distance.
VizTeams has local offices in USA and Canada and offshore offices in UK and South East Asia. We have a history of serving the software industry by providing all kinds of experts on lease on temporary and permanent bases. Feel free to contact us for any consultation for your company.
Drop Us A Note