Automation Technology, Custom Application Software Development Company Automation Technology, Development and Software Outsourcing Company
Rational Software Architect
EAI Framework, EAI Architecture
Software Development Planning
Software Architecture Consulting
EAI Model, EAI Framework
OOAD Mentoring, OOAD Consulting
OOAD Mentoring, OOAD Consulting


A successful project begins with proper planning. One aspect of planning is identifying the process for software development that is right for your organization and project. The process may vary based upon factors such as the type of software system (E-Commerce, real-time, information support system), the size and location of the user community, the size and experience of the development team, and the various technologies (operating systems, networks, development tools).

"Plans fail for lack of counsel, but with many advisers
they succeed." -
Proverbs 15:22
At ATC, we embrace the Rational Unified Process (RUP) which builds upon the Unified Modeling Language (UML). The common phases and activities of a software development process are:
a) Inception
(1) Establish the business rationale for the project
(2) Decide on the scope of the project
(3) Determine a preliminary cost estimate and the probable returns (financial, customer requirement)
(4) Identify a project sponsor
(5) Determine that it is worth proceeding to the next phase
b) Elaboration
(1) Identify and document detailed requirements
(2) Perform high-level functional analysis and design
(3) Produce a project plan document that includes detailed estimates
(4) Determine that it is worth to proceed to the next phase
c) Construction
(1) Analysis and Design (Class Diagrams)
(2) Identify Design Patterns
(3) Implementation (Coding)
(4) Unit Testing
(5) Code Reviews
(6) System Testing
Application Integration Framework
d) Transition
(1) User Documentation
(2) Installation Procedures
(3) Beta Site Release
(4) Training
(5) Deployment to all Users
Based upon the software development process, a project plan must be developed. A good plan identifies the tasks, resources, costs, time frame and risks associated with the project. The plan also becomes a blueprint for managing and tracking the progress of the project.

ATC offers a comprehensive array of project planning and assessment services. Our planning services help clients understand the key elements of the software development process. Based upon the process, we help our clients organize the activities and team members required to produce object-oriented software systems. In addition to our planning services, we offer various project assessment services aimed at improving the software development process and the resulting software systems.

a) Team and Organization Planning - This type of planning helps clients set up and organize the software development team:
(1) Identify roles and responsibilities
(2) Training and mentoring programs
(3) Communication
b) Design and Architecture Assessments
Design and architecture assessments provide important insight into the quality of the software system being developed. The purpose of this activity is to understand the level to which the software system takes advantage of software reuse. We evaluate the structure of the software system and its ability to handle new or changing requirements. In addition, we consider how maintainable the software system is by team members other than the original author.
c) Software Development Process Assessments
(1) We want to always consider how we can improve the software development process. In other words, we want to learn from our mistakes. In an encouraging environment, we want to ask questions that will make the team and the development process better. Based upon this evaluation, we can formally make changes to the software development process.
(2) We want to identify elements of the software development process that have been difficult or tedious and evaluate whether new procedures or tools can be utilized to improve the process (design and development tools, testing tools, debuggers).
d) Project Metrics Evaluations
Without the proper metrics, it is very difficult to know the progress of the project. In addition, metrics are needed in order to focus attention on areas of the development process that need improvement. If the last project was 20% over budget, do you have the proper statistics to know why? As part of the planning process, we help our clients capture the proper metrics to assist in knowing the progress and quality of the software system. The metrics can provide invaluable statistics that aid in determining future estimates. In addition, tracking the right metrics provides valuable insight into the project without impeding progress.

Architecture Definition | Development Frameworks | Planning
Requirements | Construction | Training | Mentoring