Intranet Projects Approach
Software Consulting Methodology
In Triad, we have understood the rising expectations of customers from IT companies. Triad meets the current level of customer expectations by offering complete solutions keeping their business vision and strategies in mind and not just providing them mere programming services. Itís a completely strategic approach. We have also thus raised our technological competencies and domain expertise to meet with such high expectations. This approach has taken us a long way in satisfying our clients.
Triad follows three major software development models
System Development Life Cycle
- SDLC - Software Development Life Cycle
- Prototyping Model
- Rational Unified Process
The System Development Life Cycle is the process of developing information systems through investigation, analysis, design, implementation, and maintenance. We use the famed SDLC model for developing enterprise solutions for our clients. SDLC model enables us to thoroughly understand the client's requirements before proceeding onto the coding stage. Any discrepancies are sorted out much before the actual implementation, thus leading to a fool proof design.
Below are the steps involved in the System Development Life Cycle. Each phase within the overall cycle may be made up of several steps, based on the functional domain and complexity of requirements.
Other points to remember
The first step is to identify a need for the new system. This will include determining whether a business problem or opportunity exists, conducting a feasibility study to determine if the proposed solution is cost effective, and developing a project plan.
This process may involve end users who come up with an idea for improving their work or may only involve IS people. Ideally, the process should occur in tandem with a review of the organization's strategic plan to ensure that IT is being used to help the organization achieve its strategic objectives. Management may need to approve concept ideas before any money is budgeted for its development.
Requirements analysis is the process of analyzing the information needs of the end users, the organizational environment, and any system presently being used, developing the functional requirements of a system that can meet the needs of the users. Also, the requirements should be recorded in a document, email, user interface storyboard, executable prototype, or some other form. The requirements documentation should be referred to throughout the rest of the system development process to ensure the developing project aligns with user needs and requirements.
We will involve end users in this process to ensure that the new system will function adequately and meets their needs and expectations.
After the requirements have been determined, the necessary specifications for the hardware, software, people, and data resources, and the information products that will satisfy the functional requirements of the proposed system can be determined. The design will serve as a blueprint for the system and helps detect problems before these errors or problems are built into the final system.
We shall create the system design, but will review our work with the users to ensure the design meets users' needs.
Coding and Debugging
The final system is created by Coding and debugging - on the selected technology - be it .NET, J2EE or anything else.
The system must be tested to evaluate its actual functionality in relation to expected or intended functionality. Some other issues to consider during this stage would be converting old data into the new system and training employees to use the new system. End users will be key in determining whether the developed system meets the intended requirements, and the extent to which the system is actually used.
Business Case & Project Plan
A business case and a project plan are created during the concept stage, and then continually updated throughout the life cycle as users and developers gain a clearer idea of the scope of the project. Management reviews both of these revised documents on a regular basis and determines whether resources should continue to be committed to the project.
Prototyping model as opposed the SDLC has got its own advantages and disadvantages. We use prototyping model when the client wishes to have a view of the envisaged software on a continuous basis. We also resort to this model, if the we feel the requirements may change a number of times within the estimated duration of development. Prototyping Model will highly suit web applications development as the aesthetics and performance are of equal importance.
The prototyping involves the followings steps :
Rational Unified Process
- The software is broken to subsystems and modules
- Modules which are eligible to be stand alone / less dependent prototypes are earmarked
- The total development duration is estimated
- The total duration is broken into timelines for each of the prototype modules
- The output of each of these sections will be prototypes which will be shown to the client
- The client will review and provide revisions/changes required
- The changes will be made till the prototype is completely satisfactory to the client
- After a number of such prototypes, integration is done and the final system is delivered
Rational Unified Process (RUP) is one other model we use for our software development. We also use the RUP incrementally as that is a better way of implementing RUP. RUP is a method by which software development is carried out.
The Rational Unified Process has four phases that are followed to bring a product, or a system from its conception to delivery. The four phases are :
- Inception: Identify the system you are going to develop, including what it contains and its business case i.e analysis
- Elaboration: Perform detailed design and identify the foundation of your system i.e design
- Construction: Write the software
- Transition: Deliver the system to the users - sometimes known as rolling out the system
During the Inception (Analysis) and Elaboration (Design) phases, Unified Modeling Language (UML) is used to create various models. UML helps us to visualize the envisaged software from various view points. When we change, we change only in the model thus completely eradicating the inefficiencies that may be caused in tinkering a developed system.
We follow the six primary best practices described by the RUP. They are:
- Develop iteratively
- Manage requirements
- Use component architectures
- Model visually
- Continuously verify quality
- Manage change