Noetic Technologies Methodology
At Noetic a completely a professional approach and well conceived project development methodology are employed. In particular we follow traditional waterfall model, prototyping model or iterative Rational Unified Process (RUP) Methodology, considering the nature of the project.
Developing a software solution is a complex and time-consuming process. We employ a structured framework to guide this development process.This framework defines different phases of the development process, such as planning, requirements analysis, design, testing and maintenance.
The choice of the methodology to be used for a development project is closely related to the size of the software system and the environment it is supposed to function in. Any project essentially goes through a cycle of Define, Design, Develop, and finally to Delivery and Management.
The work is started at the system level and passes through phases of analysis, design, coding, testing and maintenance.
Six activities constitute the overall development process.
This activity is characterized by system-level requirements gathering for all system elements, which then is reduced to a subset of requirements that are relevant to the software system being developed. Overall design and analysis tasks are also executed in order to understand the full system of which the software system being developed is only a part.
Software requirements analysis:-
This activity is usually executed together with the customer, as the goal is to document all function, performance and interfacing requirements for the software.
Requirements are gathered using industry-standard practices and reviewed both internally by peers and externally by clients, and findings of reviews are tracked to closure. Once these requirements are frozen, the design work begins.
Design:-
For creating the design of the software system the requirements are transformed into a representation of software that can be assessed for quality before the actual coding begins. Data structures, architecture, procedural details and interface characterization are outlined and documented in a design specification.
For overall functionality, we use Microsoft Visio for architecture and database design. Before the design is finally approved, it is exhaustively reviewed by Technical Leads and System Architects. Design specific errors are identified and resolved. The detailed design is given to the customer for review, if desired
Coding:-
This activity is the transition of the design specification into a software program.Internal and inline commenting is done along with the coding activity. Completion of each module results in preparation of test cases and unit level testing. Code reviews are also done to ensure that the developed code adheres to the organizational guidelines for coding.
Code Reviews are done upon completion of each software unit. This ensures that coding is done according to laid out guidelines and that code is readable, clean and maintainable.
Testing:-
This activity is for unveiling of all possible errors encountered using documented test methods in order to ensure that the software is in accordance with the requirements.
Test Planning is done at the onset of the project in the project planning phase. The Test plan outlines the types of test to be performed, resources, tools and responsibilities for test related activities.
During the integrated testing the entire application is deployed on the testing infrastructure and then various aspects of the application such as the platform support, browser support are considered. Some automated tools and stress testing tools are also used for this purpose.
Maintenance:-
Rather than being an atomic activity, maintenance reapplies all other activities, as new requirements are defined in order to adapt the software to the changes occurring in its environment and to correct errors encountered after the software has been deployed.
Use of the above methodology for the software development projects has yielded following benefits is our experience:
- Timely completion of project
- Higher reliability
- Development of a flexible & easy to use system.
- Optimum use of resources
- Customer satisfaction
For more detail contact us.
