Do you guys follow the development life cycle?
Yes. HUMASYS embraces the guidelines of IBM Rational Unified Process (RUP), which is one of the best proven practices for building and deploying software.
Please read more about our process here
We do have other processes in place too. It is standard for us to provide you with a full visibility into your project status through standard regular email, IM communications with your assigned project manager, direct online access to your project files in our version control system (usually VSS), bug and issue tracking system (usually Rational ClearQuest). It's needless to say that we have sophisticated QA procedures in place, including rigorous testing.
Can you describe your Testing Methodology?
We usually define testing Methodology during initial phase of the project based on business and system requirements. Then we document testing methodology in the Test Plan and approve it with the client.
Can you describe your Implementation Methodology?
We usually follow client's existing process/methodology in order to seamlessly integrate into client's business process. When the client doesn't have a well established development process we suggest using our own, which is described here
Does Humasys have an Issue tracking process? Describe the escalation process for issue resolution?
Yes, we do have issues tracking process in place. The complete process can have several iterations and/or deviations, is fully manageable and traceable online. Below is a sample basic workflow:
Client (or our QA representative, or any authorized person) submits an issue into our web-based issue tracking system;
Responsible person (usually PM) reviews the issue and after it passes validation it is assigned to appropriate resource (usually a developer);
Developer investigates and fixes the issue and notifies his/her project manager about progress and status;
Once the issue is resolved the developer (or a PM) notifies QA representative that the solution must be tested;
Once the issue is resolved the responsible person (usually PM) notifies client about issue resolution.
All activites relating to this RFP will need to be executed on client's development environments. How can you do it?
We have ongoing experience working over VPN channels at client's servers and/or creating required environments in offshore office using dedicated hardware and/or VMWare GSX and/or Microsoft virtual servers.
Our internal policy is to checkin code into our internal system (or client's source control) only when it's passed required tests (depending on the project:smoke tests/unit tests/etc)
We would prefer to use client's source control system and procedures in order to make development process more effective and intuitive for the client. However we could offer using our own source control system with dedicated branch for our changes. These changes could be synchronized with client's sources on a weekly basis.
What are your testing & development environment requirements?
This is to be determined once the functional requirements are known.
All code changes must be documented. How will you ensure this?
We ensure quality and documentation of code changes by creation of appropriate standards, training and peer reviews of the code being changed. Depending on client's requirements it can be just comments in source code and notes during file check in or more complex solutions utilizing requirements (issues) traceability matrix providing visibility from issue to architecture and to appropriate source code piece.
All code changes must be easily maintainable. How will you ensure this?
Code maintainability usually depends on the system architecture chosen and coding standard used.
Do you provide details of any tools and / or purchased processes used to make the code changes?
This will be mandated by functional requirements and is project specific.
How will you demonstrate that the integrity of the programs is not affected?
Regression Tests, Existing unit tests.
Run-times should be at least equal to or less than current run-times. How will you demonstrate this?
This is not possible in general case when new functionality is being added. However, if performance tests exist for the given module we can strive to reduce added processing time to a minimum. We can also try to optimize existing code and/or algorithms but this should be considered and evaluated as a separate stand alone task.
There should be no defects introduced by the changes. Who and how is this verified?
Based on project specifics, we develop Quality plan that outlines exact process to be used. Usually, when we do testing, its results are being reviewed by QA manager and then reviewed by PM.
Will your company provide a comprehensive work plan for review?
During initial stage of a new development project, we usually create several documents (similar to RUP project artifacts). When the nature of the project is bug fixes/changes to existing functionality, the detailed work plans usually are not necessary and not required.
Does your company have a process in place to manage overall quality?
Because of the nature of our business we do have a process for managing project quality in accordance to client's requirements. All deviations from our standard process have to be documented in project Quality Plan. Project team follows Quality Plan instructions and QA representative audits team's adherence to this document.
Will any level of application regression testing be performed prior to transition to a client?
We usually use client supplied regression tests for testing of the changes we developed. However, regression test must exist before any changes (bug fixes) have been made.
What resource commitment is expected to be provided by a client?
We expect that BA/PM or some similar type of resource who will be the primary liaison and driver for the project will be available at client's site.
What training needs are required to be provided to you to complete my project?
We normally have qualified people in relevant technologies. We may need to review overall client's project management / QA process that will be deployed for the specific project.
Do you have experienced Java developers?
We are able to support Java but we have historical inclination to facilitate competitive solutions using alternative technologies (for instance C# based).
How do you make your estimates? What are they based on?
In a case where there's no new functionality, i.e. strict "re-engineering", we use a couple of industry known methods such as Functional Points Method adjusted to the speed and effectiveness of our people.
When there's new functionality we do top-down analysis, split functional points into smaller tasks that we then can either get individual commitments to or we can evaluate them based on similar/relevant experience. On top of that we always spend serious effort on controlling project's adherence to planned time and tasks priorities (doing most important things first reduces risks of potential time overruns).
Please tell me what kind of developers you guys have. I would be interested in engineers with experience of a minimum of 3 years in their associated technology areas.
Please keep in mind that being located in scientific capital of Russia we always have access to a large pool of highly qualified resources. The following is a breakdown of our current capabilities in terms of familiarity of our full-time developers with specific environments / technologies:
C#, C++, VB, VB.NET - 10+ people, various levels of seniority from 3+ to 12+ years of experience;
Clipper/xHarbour - 5 senior developers (10 + years of experience), 10+ developers;
Cobol - 6 senior developers (10 + years of experience),
Pascal/Delphi - 5 developers, various levels of seniority from 3+ to 8+
PERL, PHP, ASP, IIS, Apache 10+ people, various levels of seniority;
Java, JSP - 2+ senior developers with past experience in Java, JSP, J2EE.
Do you have any brilliant Flash programmers?
No. All experts in our Development Team have high level mathematical educations (Master's and PhDs) and years of professional programming experience. They don't like working with graphical packages. But they can write/enhance them if you need it.