Software Delivery Methodologies
We employ industry-proven best practices adopted in thousands of projects worldwide to deliver the most complex solutions on time and within budget. To address differences in projects' nature and to improve flexibility we use a combination of adaptive and predictive software development methodologies.
In cases when our customer has a well defined vision of a solution as a whole with a complete set of specifications and supporting documentation, we follow more predictive methodology - Rational Unified Process (RUP). Using this method we plan the entire product development lifecycle to deliver the exact solution our client envisioned in the first place.
In cases when the business needs to deliver a product dynamically, adapting to quickly changing market realities in real time, we focus on short development cycles and frequent intermediate deliveries with working functionality. This is when we use adaptive methodology – Scrum (a subset of Extreme Programming).
Main Phases of a Software Development Project
Initiation Phase
After our proposal is accepted by the customer, Etna Software assigns a Project Manager (PM) who is responsible for front-ending all activities. This person establishes working relationships with the client, discusses the client's objectives and sets up reporting frequency and format. The PM acts as a mediator between our work force and the customer, allocating all assets that are required for successful completion of the project and maintaining continuous communication with the client.
Development Phase
After a detailed project plan is formulated and approved by the customer, ETNA Software development team starts the work. Depending on the customer's preferences and the project nature we can prepare SRS (software requirements specifications) and interface prototypes; we can also add Use Cases description, graphics design, etc.
At ETNA Software we assign a dedicated team for each and every project we start. The team usually consists of a team leader (TL) and software developers. The TL is responsible for the planning and distribution of tasks between developers. He ensures that the project progresses, meets the project's goals and resolves any organizational and technical problems. The TL also works closely with the PM, processing a client's requests. Regular reporting and interaction between the project manager and the client helps with timely clarifications of any issues on either side. This also helps maintain the outsourcing quality standards mutually agreed between the two parties.
Support Phase
Upon successful completion of the project, we continue our cooperation with the client. We arrange technical support for all of our products and solutions. Whenever we identify maintenance issues, we form a response team that includes our quality assurance and programming personnel. This team works together to ensure that the customer's issue is understood and dispatched accordingly. Naturally, all issues are tracked and measured, and daily and weekly reports are generated for management review and action.
ETNA Software Benefits
Dedicated Teams
The advantages of having a dedicated team for each project couldn't be overestimated. Working solely on a selected project, a specialist learns about the client's requirements and how to meet them in the most efficient way. Our practice is to arrange a small team of experienced software developers (3-5 people) guided by a single Team Leader. This allows us to maintain a mature development environment across all projects and to establish a single point of contact for each person from the client’s side, who is responsible for the successful completion of the project or of its part.
Continuous Quality Assurance
At ETNA Software we believe that Quality Assurance (QA) is not simply a phase in a product’s developmental cycle, but rather should encompass the entire developmental process from start to finish. Thus we take full control over quality of our solutions from the earliest stages to the end of product development. Our QA practice includes reviewing requirements, source code control, code reviews, change management, configuration management, release management and of course, software testing.
Continuous Communication
In order to develop successful outsourcing relationships, ETNA Software provides its customers with transparent and well-managed business interaction. Our model involves creating as comprehensive project documentation as possible, using all available means of communication to stay in touch with on-site project management on daily or even on hourly basis, preparing all internal and external documentation in English. Our location in St. Petersburg allows us to utilize well-developed telecommunications and data communications infrastructures. This ensures we are always on-line and ready to maintain real-time information exchange.
|