SOFTWARE ENGINEERING
PROCESS
Purpose
This provides the high-level details of the standard software engineering process (
As each customer engagement is unique, the standard
Software Engineering @ PragICTS
Some of our guiding thoughts / context pertaining to engineering which has shaped the way we approach and deal with it.
'Engineering cannot be an afterthought.
It is a disciplined process & effort from the inception'
PragICTS
''Life is really simple
We insist on making it complicated.'
Confucius
'Every solution to every problem is simple.
It's the distance between the two where the mystery lies.'
Derek Landy
'There is no greatness
where there is not simplicity, goodness, and truth.'
Leo Tolstoy
We believe that a pragmatic and simplistic approach to software engineering is the baseline for value creation.
Process Characteristics
The
1. Requirements and design focus
Requirements and design are given a far greater focus and effort to ensure that the requirements are understood and scoped to meet customer expectations and effective project planning and execution.Eliminates surprises at the completion stages.
2. Customer engaged process from the very inception
Customer is actively involved in the front stages relating to requirements articulation, design and prototyping.Customer is also involved at key review points to eliminate disagreements and changes at the middle and later stages.
3. Customer review and sign-off at all key milestones
All key review milestones are reviewed and signed off with the customer to ensure discipline and clarity.4. Seeing is believing
Prototypes and application5. Hybrid model
Both Agile and Waterfall techniques are brought together for effective engineering and delivery
Selected key modules will be delivered on an iterative development process with customer reviews to ensure that the correct functionality is delivered with great usability.The Waterfall approach is initiated at the completion of the design stages for faster execution of software coding activities.
6. Minimum documentation
Minimum documentation is maintained to minimize unnecessary time and effort wastage.Engineering Process
The standard
Process Stages
1. Requirements
Requirements are captured and recorded in granular form and reviwed and signed off with the client. There articulated requirements are followed right through out the project for effective communication, engineering and delivery.Trigger
- Confirmation of the PSEProposal For Software Engineering
Inputs
- PSEProposal For Software Engineering
- Email correspondence
Methods
- Direct discussion with the customer to detail the requirements beyond the PSEProposal For Software Engineering.
- Email correspondence
Note : All requirements capture and discussions sessions are recorded using professional recording instruments for reference, verifications, elimation of omissions and subsequent requirements articulation with client approval. These are stored as part of the project folder.
Outputs
- RSRequirements Specification. Detailed requirements are numbered and listed for customer review and sign off
2. Design
Trigger
- Confirmation of the RSRequirements Specification
Inputs
- PSEProposal For Software EngineeringandRSRequirements Specification
- Email correspondence
Methods
- Application architechture
- Database design
- Component framework
- UIUser Interfaceframework
- Prototyping of key components
Outputs
- Customer confirmation of the above methods
3. Prototyping
Trigger
- Confirmation of the RSRequirements Specification
- In the design stage
Inputs
- PSEProposal For Software EngineeringandRSRequirements Specification
Methods
- Develop the required functions for the prototype scope. An iterative process with customer reviews and amendments.
Outputs
- Customer confirmation of the prototype
4. Hybrid Development
1. Prototyping / Iterative of critical and foundation components2. Waterfall development
Trigger
- Confirmation of the RSRequirements Specification
- In the design stage
Inputs
- PSEProposal For Software EngineeringandRSRequirements Specification
Methods
- Prototyping of core foundations as required
- Waterfall development for the rest of the modules
Outputs
- Completion of the prototype and the completed modules
5. Testing
Testing of the application for conformity and consistancy. Compilation of the STS is required for the commencement of testing
Trigger
- Completion of modules for testing
Inputs
- STS
- STGSoftware Testing Guidelines
- and TCTest Checklist
Methods
- Test automation tools
- Execution of STS, STGSoftware Testing Guidelines,TCTest Checklist
Outputs
- Compilation of STRSoftware Test Reportfor completion of testing
6. User Review for Acceptance
Customer to review the software as per the given time shedules. Once it is completed the customer is required to sign-off the
7. Live Implmentation
On formal confirmation and sign-off of the
8. Support
Application support will be provided as per the signed-off
Glossary
Customer Support Agreement (CSA) | CSA provides the scope, terms and agreements, responsibilities, and SLAs for the support to be provided by PragICTS. |
Proposal For Software Engineering (PSE) | PSE is provided where the requirements scope of the application is articulated in detail with clarity for providing a fixed price PSE for execution. |
Proposition Brief For Software Engineering (PBSE) | PBSE is provided where the scope of the requirement is specified at a high level and not at a detailed level and requires detailing and clarity. PBSE will factor in the pricing and effort for a detailed requirements study and for the revision of the final pricing at post-detailed requirements finalization. |
Requirements Specification (RS) | RS numbers and articulates requirements at an atomic and granular level. This will form the basis definitive basis of the requirements. Any requirement not captured here is not taken as part of the requirements. Therefore it is one of the key activities of the development process as this will serve as the primary input to proposition compilation, estimation, features, design, and functionalities of the application. User testing and customer acceptance will be solely based on the RS. RS will cover application functionality, technology stack, architecture, UI/UX, etc. |
Software Acceptance Form (STF) | STF is executed on the completion of the acceptance of the software by the client. This concludes the development commitment of PragICTS and brings to the closure of the undertaking. |
Software Engineering Process (SEP) | SEP is the process executed by PragICTS for software development. The generic process is articulated here. As each requirement is unique, the process is futher tailored to meet the specific requirements of the client and project. |
Software Handover Form (SHF) | Once the STF is signed-off the SHF is compiled with the software handover as a reference to detail the complete software and environment details as a point of reference to the software. |
Software Test Specification (STA) | STA is derived and compiled based on the RS for the testing scope of the software for compliance and conformance. This ensures for a through due deligence process. |
Software Testing Guidelines (STG) | STG is a guideline of best practices for effective and through testing. |
Software Test Report (STR) | STR compiled as an output of the STA to articulate the outcomes of the tests executed. |
Test Checklist (TC) | TC is a standard checklist for the testing of common test parameters based on application types. These help to standardize the testing processes |
User Interface / User Experience (UI/UX) | In digital design, user interface (UI) refers to the interactivity, look, and feel of a product screen or web page, while user experience (UX) covers a user's overall experience with the product or website. |