Our Processes

Atimi has established an effective set of development processes that enables us to consistently produce quality software. Our approach is modeled on the Software Engineering Institute's Capability Maturity Model (CMM). By using the CMM, Atimi's development team is able to identify best practices, useful in improving the maturity of our processes.

We document and evaluate each project in order to continually improve our development standards. Our knowledge base and capabilities are constantly expanding, allowing us to stay ahead of our competitors. Our approach is evolutionary — we become even more effective with every project we work on.

Find out more about the strategic and tactical processes we employ on every project.

Strategic Processes

Forethought and strategic planning are essential when developing a successful software project. We employ an established set of Strategic Processes to ensure we have all the bases covered before development begins. Every Atimi development team follows these management and organizational steps to smoothly plan and execute your project.

Project Planning And Management

Every development project begins with a Vision and Scope document outlining the scale and business context for the project. During this stage, we thoroughly document software estimates, project activities, tasks and commitments, in order to plan and track the project from concept forward. Before any programming begins, requirements are gathered, traced, prioritized, verified and analyzed. Poorly-articulated requirements can result in a substantial delay or cancellation of a project. To accurately manage your software projects, we establish a requirement baseline for software engineering and management use. Software plans, products, and activities are considered and kept consistent with the requirements allocated to software.

Organization And Engineering

Using project requirements and plans, we develop a standard software process that both you and Atimi senior management sign off on.

Information related to the use of our client's standard software process is collected and made available to the development team for review. Software engineering tasks are defined, integrated and consistently performed to produce the software. These tasks form the core of project management activities during the development stage.

Tactical Processes

Using what we have learned through our high-level investigation and planning, we use established tactical processes to develop, test and build your software project.

Project Tracking And Quality Assurance

Atimi tracks projects throughout design and execution, conducting regular meetings to track performance and raise project issues. We compare results against the software plan, ensuring that we can act early to address emerging issues.

Quality assurance is the least popular but critically important step of the development process. We adhere to and objectively verify all applicable standards, procedures and requirements using industry-standard testing tools and processes. The QA process may include unit testing, system testing, performance testing, and so on. We address noncompliance issues that cannot be resolved within the software project.

Risk Management

Only through an intimate understanding of your needs are we able to ensure all your expectations are being met. We involve you in every phase of the project with meetings and regular reports to ensure your satisfaction. We identify possible risks and put extra resources on a project during high-risk areas, and reduce threats by placing extra investigation into risky components. We continually communicate the status of all high-risk parts of a project to our clients.

Your involvement is critical to managing risk and important to the overall success of your project, which is why we pre-plan contingencies with you and continually monitoring your project to prevent risks from becoming realities.

Key Steps In Development

Atimi's development processes draw upon the best principals of Extreme Programming, a model of development that incorporates rapid prototyping, frequent builds, continuous unit testing, refactoring and peer review. Our key development steps will guide you through the entire process of creating or porting your project. Web-based tools give you real-time access to your project's status, and our experienced team of Project Managers will provide all the information you need as the project progresses.

The Key Steps:

  1. Project scope is defined, and communications plans are set in place
  2. Risk analysis begins
  3. Atimi creates Software Requirement Specification (SRS)
  4. Once SRS is approved, a test plan is created from the test cases, followed by a detailed project schedule
  5. Development priority focuses on the overall architecture of the product
  6. Risk mitigation review takes place
  7. Most efficient use of resources is determined, and schedule is adjusted if required
  8. Once all requirements in the SRS have been implemented, the software is designated Beta 1
  9. Additional Beta Cycles occur, as defined at the start of the project
  10. Once all bugs are resolved, a complete regression test is run and Final Candidate will be produced
  11. When the final Candidate is approved, it is deemed Golden Master
  12. Project is delivered to our client
  13. Project Manager reviews the project, evaluating the effectiveness of development processes for future projects

Documentation Development

Atimi produces quality documentation for all groups of users. We follow a 6-stage documentation development cycle in order to meet the documentation needs of our customers.

For each project we spend about week planning. We produce a Needs Analysis, Audience Analysis, Task Analysis, and a detailed Documentation Specifications Requirement. During Documentation Development the materials are produced and tested.

Needs Analysis

Documentation development starts with a detailed Needs Analysis. The Atimi documentation project manager works with the customer to answer the following questions:

  • Why is documentation required?
  • What is the scope of the documentation?
  • Who needs the documentation?
  • Is XML in place? Would the business benefit from implementing XML?
  • What file format is required for the documentation?
  • When does the documentation need to be completed?
  • What is the budget?

Based on the information provided by the client, the Atimi documentation project manager will write a formal Needs Analysis and provide it to the customer.

Audience Analysis

Once the audience has been identified we do an Audience Analysis. The goal is to assess the educational background of the users, their ability to use computer hardware and software, and their learning styles.

The documentation project manager will consult with supervisory staff, interview users individually, or ask the representative members of the audience to complete a written survey.

The audience analysis will provide the following information:

  • Identify different user groups (e.g., supervisors, production, support staff)
  • Assess the common background for each user group
  • Assess the computer skill level for each user group
  • Task Analysis

A thorough task analysis is conducted to identify all of the tasks that can be performed using the software. This will determine the scope of all of the documents.

The technical writer conducts research to identify all tasks. They use the software (if possible), read the software specifications and any other pertinent documentation such as company procedure manuals, and interview subject matter experts—usually software developers.

Once all tasks are identified, they are organized into chapters, and divided into manuals each with a table of contents. Then, the table of contents is reviewed; by subject matter experts to ensure they are accurate and complete.

Documentation Requirements Specification

The final stage of the planning process is to produce a Documentation Requirements Specification, also known as a Documentation Plan, which provides all the details on the software documentation.

The Documentation Requirements Specification is produced - by compiling the results from the Needs Analysis, Audience Analysis, and Task Analysis.

The Documentation Requirements Specification defines the following information:

  • All manuals to be included in the documentation set
  • An outline for each document, which includes:
    • The document name
    • The purpose of the document
    • The audience
    • The scope of the document: a table of contents
    • The application used to produce the document
    • The final output of the document
  • Documentation material deliverables, including native files and final output
  • The document development schedule
  • The estimated cost of development
  • The estimated cost of printing or electronic distribution

When the Documentation Requirements Specification is completed, it is negotiated, and signed off by the customer.

Content Development

The writer develops the content based on the requirements outlined in the Documentation Requirements Specification and the document outline. Each documentation set will include some or all of the following types of documentation:

  • Hard copies printed by a professional printer
  • PDFs for electronic distribution
  • Searchable on-line help
  • Context-sensitive on-line help
  • Quick reference cards for commonly-used procedures, and keyboard shortcuts

During production, the writer collects information by using the software and consulting subject matter experts as required. The chapters and tasks are put in logical order, and detailed, usable tables of contents and indexes are created for each document.

When the documents are completed, the Atimi QA team tests them and all revisions are incorporated.

Gold Master Documentation Released

Finally, the documents are officially released. Electronic manuals are released on CD; and any required printed manuals are sent to the printer for printing.

Training Development

At Atimi we can design objective-based training materials for any kind of software product. We follow a structured training development cycle in order to produce effective training projects on-budget every time.

Needs Analysis

Course development starts with a needs analysis. The Atimi project manager works with the customer to answer the following questions:

  • Why is training required?
  • What is the scope of the training?
  • Who needs the training?
  • When does the training need to be completed?
  • What resources are currently available? (instructional designers, trainers, training coordinators, training environment, training equipment, software manuals)
  • How much budget is allocated to the project?

Based on the information provided by the client, the Atimi project manager will write a formal Needs Analysis and provide it to the customer.

Audience Analysis

Once the audience has been identified a formal Audience Analysis can be performed. The goal is to assess the education and training background of the users, their ability to use computer hardware and software, and their learning styles. If in-house trainers will be used, the Audience Analysis also includes an assessment of the trainers.

The Training Project Manager will consult with supervisory staff, interview users individually, or ask the representative members of the audience to complete a written survey.

The audience analysis will provide the following information:

  • Identify different user groups (e.g., supervisors, production, support staff, trainers)
  • Assess the common background for each user group
  • Assess the computer skill level for each user group
  • Deyermine most effective delivery method(s) (Instructor-led training, learning lab, or computer-based tutorials)
  • The pace of the training for each group
  • The location for the training (in-house, or off-site)
  • Prerequisite third-party training, if required
  • Task Analysis

A thorough task analysis is conducted to identify all of the tasks that can be performed using the software. This will determine the scope of the training for all users.

The instructional designer conducts research to identify all tasks. They use the software (if possible), read the software specifications and any other pertinent documentation (e.g., company procedure manuals), and interview subject matter experts (usually software developers).

Once all tasks are identified, they are organized into training modules. Then the Task Analysis is reviewed by subject matter experts to ensure the analysis is accurate and complete.

The final step is to identify of the Task Analysis is to identify which user group(s) will perform each task.

Training Requirements Specification

The final step of the planning process is to produce a Training Requirements Specification, also known as a Training Plan, which provides all the details on the software training program.

The Training Requirements Specification is produced by compiling the results from the Needs Analysis, Audience Analysis, and Task Analysis.

The Training Requirements Specification defines the following information:

  • All Training Course included in the Training Program
  • Training paths for each user group
  • A Course Outline for each Training Course, which includes:
    • The course name
    • A course description
    • The course duration
    • The course objectives
    • The course audience
    • The number of students in each class
    • Student course materials
    • Course prerequisites
    • The course location
  • Training material deliverables, including native files and final output
  • The development schedule
  • The estimated cost of development
  • Resources for delivery and coordinating the training
  • Computer training equipment
  • The training schedule
  • The estimated cost of delivery

The Training Requirements Specification is completed, negotiated, and signed off by the customer. The Course Outlines are used to market the courses to end users, and course development begins.

Course Development

The instructional designer develops the course based on the requirements outlined in the Training Requirements Specification and the Course Outline. Each course will include some or all of the following training materials:

  • Training Guide: classroom preparation and setup, presentation slides, demonstrations, exercises with answers, and course evaluations.
  • Student Workbook: a copy of presentation slides, exercises, and projects.
  • Slide Presentation: electronic slides in Keynote, PowerPoint, or PDF format.
  • Job Aids: quick reference cards for commonly-used procedures, and keyboard shortcuts.
  • Tutorials: a video overview of how to use the main features.
  • Computer Based Training Modules: a set of video demonstrations on how to perform all major tasks that includes exercises and/or tests.

During production, the instructional designer collects information by using the software and consulting subject matter experts as required. The tasks and modules are put in progressive order so the students can build on the previous tasks. Then, the slides and exercises are created for each task, and projects or quizzes are developed for each course.

When the training materials are completed, they are tested by the Atimi QA team. All revisions are incorporated. Then a final draft is released for the Course Pilot.

Course Pilot

The course pilot is delivered to test the materials in a classroom situation. The instructional designer, a subject matter expert, or a designated trainer delivers the course. All input is fed back into course development, and the materials are revised accordingly.

Gold Master Training Materials Released

Finally, the course materials are officially released and customer training can begin. At the end of each course, Course Evaluations are completed and feedback from both trainers and customers are incorporated into the next release of the training materials.