Click for more information:

The APS Company Profile

About the Principles

Areas of Consultancy and Services

Software Project Management 

Software Project Catastrophe Disentanglement and Resolution

Introduction of Orderly Process into Ad-hoc Software Organizations

Establishing Software Development Organization Structure

Reengineering and Simplification of Existing Software Processes

Training and Mentoring

Management of Multi-National Software Development

Right-click to download (153KB)

Distributed Software Development (DSD) and Global Software Development

Software Project Management for Non-Software Project Managers

International Travel Photo Album


Software Project Management
 
The principal services offered to high-tech companies are assistance and guidance in software project management. This includes the specific subject-areas detailed in the following sections.

The Problem:
The demands of software project management are changing. The rapid introduction of personal computers into the office and home coupled with the unprecedented growth in the Internet has turned software into a consumer product. This has produced a strong market demand for rapid software development cycle time that requires new agile and lean development methods and processes. This phenomenon has also impacted the way larger non-consumer software needs to be developed. The US Department of Defense has replaced its burdensome development standards with the same standards that are being used for civilian software. Large communications and mission-based software development is undergoing changes to streamline the cumbersome methods and processes of the nineties.

The Solution:
We will review the methods and processes being used by the development team together with the culture and goals of the organization to assist in the definition and introduction of rapid optimized processes tailored for the organization's business needs. We will work with the development organization through ongoing training, mentoring, and management assistance to ensure the successful introduction of the new methods, based on continuing reevaluation and adjustment of the plan to achieve the best possible results.

Software Project Catastrophe Disentanglement and Resolution

The Problem:

When development projects get into serious trouble the solution is often more costly than the problem. Extensive resources are often expended in attempting to correct the existing plans and processes but the best solution is often found through changing the way the project is being developed.
 
The Solution:
We will review the status of the project, the goal, the development plan, the team structure, and the process and methods and prepare a plan to disentangle the project and get it back on track. We will work with management and with the development team to establish a workable plan, with achievable goals, and we will mentor the team to ensure that the plan is successfully implemented.

<Click for more on this topic>

Introduction of Orderly Process Into Ad-hoc Software Organizations

The Problem:

Ad-hoc development organizations have little or no orderly process. They often have a history of successful development that may have worked well in the past when the organization was small but no longer works well today. The problem is often how to introduce a level of predictability into the development organization without restraining the creativity of the development team members.

The Solution:
Development organizations taking their first steps into orderly development are best served through evolutionary change (rather than revolutionary change). We will apply an approach that includes three basic steps: (1) studying the current organization, including its creative value, its strengths and weaknesses, and the goals of the business, (2) working with the organization to tailor a suitable development process and launch plan, and (3) mentoring and training of the organization in the introduction of the process and the correction and continued improvement of the plan as it is implemented.

Establishing Software Development Organization Structure

The Problem:
The structure of development organizations has significant influence on the success of product development. This includes:
The selection of matrix versus dedicated teams and support organizations
The establishment of quality assurance, configuration control, and test organizations
The creation of team structures that foster creativity, dedication, and motivation

The Solution:
We will propose a development team structure that is tailored to the goals and characteristics of each organization. This is achieved through studying the objectives of the organization, its strengths and weaknesses, and developing an organizational structure together with the key members of the organization. We will provide ongoing support for the introduction of the structure through mentoring and training of the organization and the correction and continued improvement of the structure while it is being established.

Reengineering and Simplification of Existing Software Processes

The Problem:

Development organizations that have adopted organized process and methodologies are often burdened with policies and procedures that are no longer appropriate. The organization is often hesitant to cancel or replace these procedures for fear of prejudicing it capabilities.

The Solution:

We will review and evaluate the organization's existing processes and methods in relation to its goals, methods, and uniqe structure. The objective will be to streamline the development organization for optimum performance through the reduction of overhead and the simplification of processes while maintaining management visibility of the product development cycle. We will provide ongoing monitoring of the process change through mentoring and training of the organization and the correction and continued improvement of the processes while they are being introduced.

Training and Mentoring

The Problem:

Many areas that can benefit greatly from formal and informal training are not necessarily part of the curricula of standard technical training organizations. Examples are:

The establishment of successful distributed development organizations,
Agile estimation and planning techniques
First steps in the introduction of orderly agile development process
Reengineering of development processes
Risk analysis and risk mitigation
Avoidance of project entanglement
Methods for successful subcontractor management
Developing relationships with customers from developing countries

The Solution:
We offer short seminars, workshops, and training sessions in the above subject areas. We also offer ongoing tutoring as follow up to help introduce the methods learned.

Management of Multi-National Software Development

The Problem:
Over the past decade, the global economy has opened up great opportunities for Western high-tech companies in such countries as China, India, and the countries of Eastern Europe. These opportunities are often coupled with foreign government requirements to maintain development facilities in the target countries or to provide in-country maintenance and support teams. This poses challenges related to logistics, training, distributed development, cultural diversity, and local relationships.
Conversely, companies from developing countries are also struggling to become familiar with business practices in Western countries.

The Solution:
Many companies in which we have played leading roles have amassed significant experience from working successfully in developing countries (e.g. Motorola, Alcatel). We will offer this experience, which includes the establishment of local in-country liaison offices, methods of providing technical training in foreign languages, understanding cultural differences and their advantages, and the creation of overseas development centers.

Distributed Software Development (DSD) and Global Software Development

The Problem:

The division of development projects between several remote locations is becoming increasingly common. This is due to business reasons and the desire to benfit from the advantages of DSD such as reduced costs, availability of expertise, and training of onsite support. Together with these advantages, distributed development presents problems of management, communication, different development practices, and cultural diversity.

The Solution:
There are different solutions for different DSD situations, such as in-country versus global distributed development, the availability of advanced communications infrastructure, the characteristics of the project being developed, and the skills, experience, and diversity of the development team. These parameters will be studied and the most suitable solutions will be designed for each type of project. Ongoing monitoring of the DSD team will be provided through mentoring and training of the team members, and the correction and continued improvement of the organization while the project is being developed.

International Travel Photo Album


Click To Enlarge

Speaking at Motorola Israel

Click To Enlarge

Being Greeted by the President of Motorola Israel


 

Click To Enlarge


Click To Enlarge
Presentation to the Regional Telcommunications Forum in China

© 2006 Copyright by Advanced Project Solutions, Inc.