People is the most important part of software making. Software is many times termed as peopleware for this reason.
We hire freshers and junior developers, and provide them guidance to become world class professionals. Under the guidance of senior seasoned staff, the junior staff picks the up the skills and becomes productive engagements quickly. This turns out to be a very cost-effective model — suitable to many engagements. The junior resources are expected to make mistakes or get stuck at times — but those are caught quickly and corrected by better processes and efficient management to a good extent.
On mission-critical projects, this tradeoff does not work and the quality requirements weigh higher. On such a project, the proportion of engagement of senior resources is high.
In areas where we do not possess inhouse expertise, we engage external contractors as needed. This typically happens for User Interface design and development, or some other specialized skill. For engagements that run for over an year, hiring experienced staff inhouse is an option.
By definition, the person who has created the code is never the right one to certify the quality. We therefore insist on having dedicated testers on the team. Testers play a very important role in owning the product functionality, coordinating with the customer and manage quality on an ongoing basis.
Typical composition of a 10 member project team would be:
- Technology Architect – 1
- Project Manager – 1
- Development team Lead – 1
- Developers – 4
- QA lead – 1
- Testers – 2
Productivity and Customer Focus
Research has indicated that the productivity of a person vary as much as 10 times depending upon the environment and mental status. To ensure that the people work at the top gear, here is what we do at Acism:
- Our HR policies reward good work. More than the seniority, a person’s past performance is taken into account during the appraisals. There is a special focus on skill upgrade. On the other hand, non-performers are weeded out.
- Customer focus is nurtured within our employees. During the engagement, we have a continuous dialog with the customers Our testers are required to understand the customer perspective in depth, as they stand in for the customer in the day-to-day work.
- We follow daily scrum to keep employees in synch and up to date on project happenings, and to keep their productivity up.
- To reduce the occurrence of common mistakes, we have evolved checklists that are used while carrying out day-to-day work.
- We listen to our employees and take their feedback in project and organizational matters. Acism policies towards employees are transparent.
- We have built a robust and secure infrastructure inhouse that is ready-to-use on engagements. It breeds familiarity and makes them productive. (Of course, we are open to use other if customer wants.)
- We are a learning company. We keep learning and upgrading technology continuously. That keeps the employees motivated and interested.
- We encourage our employees to get involved in online / offline communities that are relevant to their work or technologies.
What has resulted out of this is a customer caring, open minded, eager to learn and motivated workforce.