PROJECT METHODOLOGY

Every company has its own methodology, tailored to its business and delivery model. At Ethos, ours is an evolution based loosely on the Iterative Methodology, as opposed to Waterfall Methodology, factoring in necessities to account for the distributed environment and unique cross-ocean project management model. In this methodology, we take the foundation from modern iterative methodologies and incorporate best practices from our clients' and our own experiences.

image Ethos’ project methodology centers around strong client involvement and relationship building right from the start. Feedback is requested early and often to ensure that both parties share the same expectations. We also push for open and honest communication from our clients.

For distributed delivery projects, planning in the early stages is key. However, planning is not limited by system architecture and project process. It also encompasses planning to define roles and responsibilities - how will we work together, not just what will we work on together.

Traditional Waterfall Methodology is often criticized for creating a process that is inflexible to projects underway. Changes to the project may be necessary as a result of changing framework conditions, better knowledge of requirements and needs or opportunities for improvement through new technologies and external solutions.

Iteration-focused methodologies (i.e. eXtreme Programming, agile) on the other hand focus mainly on learning through the process. It accepts that early planning is still limited by surrounding conditions; conditions which may change rapidly. Iterative Methodology also highlights the value of project learning. It places higher emphasis on prototyping and user interface in the early stages.

We believe that clarifying needs and goals at an early stage is necessary and setting the appropriate system architecture minimizes both development and lifecycle cost. At the same time, a degree flexibility and iterations ensures that the solution will be high quality solutions and meet the real business goals. Ethos strikes the balance.

Large enterprise projects are split into modules based on Service-Oriented Architecture (SOA) principles. These subprojects minimize inter-dependencies.

Ethos methodology breaks the development process into 6 phases:

image
A project may run through each phase several times, implying that different subprojects will be in different phases at the same time.

Ethos may, as requested by customer or given by the nature of the project, take responsibility for all or some of the phases. Normally Ethos will at least take responsibility for Elaboration, Implementation and Stabilization.

Assess

imageThe objective of Assessment Phase is to identify the business goals of the application, and analyze affected users and business processes. By this, the project will be anchored and aligned with the business aspect, facilitating the later integration process and a successful outcome. The Assess phase will often be conducted by the Client, either alone or assisted by Ethos consultants. Ethos personnel have strong business competence from many industries, and can provide advice and process methodology that facilitates bridging to the later Elaboration phases.

At the exit of this stage, the client should have a strong idea of:

  • what are the goals of the application
  • what business processes will be affected by the application
  • who the user is and how is this specific user integrated into this process
  • what is the predicted flow of the application to reach its goals

Top

Elaborate

imageThe objective of Elaboration Phase is to examine business requirements through a technical lens. Thorough system design, technology analysis and project and resource planning will be conducted to secure successful Implementation, Stabilization and Deployment phases.

Throughout Elaboration, Ethos' identifies and mitigates any potential risk factors. Common risk areas include system integration, technical feasibility and usability but also not to be forgotten is resource availability. Design is the most interactive and intense phase of the project. The planning is done in close cooperation between our team (including Engagement Manager, Project Manager and Technical Architect) and the key client contacts.

The Elaboration phase starts with a thorough review of the specification by our team in close cooperation both with technical personnel at the Client side to clarify technical architecture and infrastructure, and the users of the new solution to provide the best overview of what are needed on screenshots and reports. It is important that the Client contributes with the best qualified resources during this process.

At the close of this planning phase, we will have together drawn up all the screen shots and modeled the database. The various parts of the project are then divided into manageable-sized tasks, each not to exceed 40 hours. Preliminary dates and milestones are set.

At the exit of this stage, the client should have a strong idea of:

  • what technologies will be used in the application
  • what the application look like and how many classes and modules will be required
  • how many resources will be needed for implementation and testing.
  • schedule for the next phases

Top

Implement

imageThe objective of Implementation Phase is to go from paper to program.

Experience has shown that it is good to start this phase of the project off with a joint kickoff, including the Client and all other parties involved in the project. Teaming up for a joint kickoff is positive for the Client in terms of increased knowledge of the project processes, and in general provides better predictability of how the project will be run. For the developers a kickoff adds value in better understanding the user’s needs and requirements.

The project is divided in according to the modules described in the specification. Changes are implemented based on testing and feedback from the client according to contract regulations. The modules are implemented according to plan with a degree of parallel development and iterations. Code is built daily and new versions are regularly made available for internal and customer testing to verify that each module covers the needs of the solution and matches the Client’s underlying objective.

As soon as the first part of the module is ready, it is released to a test server for the Client to test. This “part” (i.e. a screenshot) will contain all fields and functionality specified. The most important at this stage is to get input from the Client if the module covers the needs and the underlying objective of the solution.

At the exit of this stage, the client should have:

  • a basic working version of the application with testable modules
  • module test scripts. User test scripts
  • a compile-able build

Top

Stabilize

imageThe objective of Stabilization Phase is to finalize modules, free of bugs and according to the functional expectations. Testing is done in 3 steps: unit testing, beta testing and user testing. Every module is signed off by Ethos testers before it is sent to the client for user testing and in a defined test environment.

Effective execution of Stabilization Phase also requires access to testing resources with the client. During intense periods one may truly see the advantage of outsourcing across time zones as errors reported in the afternoon will often times be corrected next morning.

At the exit of this stage, the client should have:

  • completed modules integrated in the total system for the modules and functions that is included in the iteration
  • at completion of stabilization for the last module; a complete and error free system deployed in the designated test environment

Top

Deploy

imageThe objective of Deployment Phase is to deploy the system to production.

Deployment Phase includes the planning of production launch, actual launch, and subsequent stabilization of the system in the production environment. The launch may include both data migration as well as coordination of client-side marketing activities. The plan must also include a state of readiness for rollback in case of launch failure.

At the exit of this stage, the client should have:

  • A stable, operational system

Top

Maintenance and Additional Development

imageMaintenance Phase starts after the system has been launched. At this time, Ethos continues to support and maintain the project, should the need arise. The project is evaluated according to project plan as well as the original business goals.

Additional Development may involve modifications or scope extensions for the system. Minor modifications may follow the procedures for maintenance, whereas more comprehensive changes are defined as a new project and accordingly follow a new iteration of the execution process.

Top

AttachmentSize
1.gif17.38 KB
2.gif9.5 KB
3.gif7.93 KB
4.gif8.89 KB
5.gif9.54 KB
6.gif6.52 KB
7.gif6.64 KB
8.gif6.25 KB