Home About us Nearshore outsourcing Our software services Technology Customers Contact
 
 
Industry solutions Processes Risk sharing Why work nearshore? Partners Jobs@Poeware
Your close outsourcing partner for IT Services

Software development processes
Poeware's staff includes experienced professionals in the consulting and software development industry. As such, we are knowledgeable in best practices in IT projects, as well as in the inherent, but manageable, risks that are involved.

Poeware adapts the software development process to the needs and wishes of our customers. Every project is different, every customer is different, and therefore different software development methodologies should be considered every time, as each methodology has it own strong and weak points. On top of that some customers have clear requirements about the process that we should be using when developing their software.

Some projects have an intrinsic risk (usually constantly-changing requirements) that make Agile methodologies like extreme programming (XP programming) an attractive choice. These methodologies focus mainly on putting together well-known best practices in a consistent way that target most of the classic problems encountered during software development. Direct involvement of the customer is central to Agile methodologies.


Another well-known methodology that Poeware applies often is the Rational Unified Process, or RUP.

The RUP model is a software engineering process that was developed by California-based Rational Software Corporation, now an IBM company, and is the result of 20 years of working with customers and partners.

In the RUP model, which was first published in 1998, there are four distinct phases of development - inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations until a defined set of criteria is met. Only then will the project move on to the next phase.

During inception, the project team defines the scope of the project and develops the business case. This is followed by an analysis and detailing of the project needs, in the elaboration phase, resulting in a clear definition of the architectural foundation.

During construction and actual development, the project team creates the application design and source code. When the system is finally delivered to the client or end-user, RUP uniquely considers it a period of transition, and not necessarily termination, displaying the iterative, evolutionary, and cyclic nature of the model.

Poeware will adapt this model in the development of all its projects. This entails the incorporation of six core best practices:
  • Develop software iteratively
  • Manage requirements
  • Use component-based architectures
  • Visually model software
  • Verify software quality
  • Control changes to software
By using XP or RUP, Poeware effectively employs a disciplined approach to engineering software for our clients. It will ensure that every project is developed with a guarantee of high quality, a customer-centered orientation, on-budget, and on-schedule.


Project Management
The project management process guarantees the on-time and on-budget implementation of client requirements, as required by Poeware's quality standards.

Each project is spearheaded by a highly skilled project manager, who is also the main contact person. He is responsible and accountable for the implementation and success of the project and full satisfaction of the client.

By avoiding the assembly-line production strategies employed by some IT companies, Poeware's project managers are engaged in the business process as early as the technical presentation stage. In effect, the manager makes an investment in the target project by ensuring that:
  • Client requirements are properly identified and diagnosed;
  • A service offering (i.e. the technical proposal) response is designed in a way that responds to the client's exact needs;
  • Resource requirements are detailed, and availability for on-time deployment guaranteed;
  • Milestones and their corresponding deliverables and task analyses are attainable and clearly identified in the project plan.
During the development phase of the project, the project manager handles the strict monitoring of activities and ensures that deliverables and project status reports are submitted on time. As the project's contact manager, he must extend monitoring to external service providers, if any are engaged in the project.

It is important that, whenever and wherever possible, advance prototypes or drafts be provided to the client to minimize risk and promote alignment at all times. The project manager will consult with the client regarding the details of these early deliverables to make sure that the project scope is always on track.

Based on status reports, the manager will provide the client a weekly status report, written according to management requirements and containing the following documentation:
  • Executive summary
  • The current project plan (i.e., milestone plan)
  • High-priority issues and questions that require clarification from client
  • Announcements
  • Brought-in items (e.g., deliverables, documents, etc.)
  • Progress of current tasks
  • Change control (i.e., change requests)
  • Action items (i.e., project coordination tasks, due dates, assigned staff, etc.)
  • Risk management, to document and manage both actual and perceived risks
  • Decisions, to document all project coordination decisions made
In effect, the project manager also acts as account manager. He ensures complete documentation, maintains regular communication with the client, is available for consultation, and discusses status reports with clients, etc.

Where necessary or stipulated by the contract, the project manager will coordinate training requirements, support needs, and other after-sales issues with the client.