Project Management Methodology
Our technical expertise is augmented significantly by a streamlined project/program management methodology. Shown snapshot below briefly explains our sample project execution methodology and processes.
Our Project Management services include:
- Project management for strategic planning and elements of project success.
- Project planning techniques
- Practical tools, comprehensive model, work break down structures.
- On-time performance, project costs, winning proposals, project risk, statement of work
- Project leadership techniques
- Implementation strategies for projects and project managers
- Team management
- Senior management roles/responsibilities
- Project Environment focus/li>
Agile or Waterfall? The answer is never quite that simple. Depending on the specifications, budgets and breadth of your project, SMC may use either a more traditional waterfall process or an agile software model to develop your software. Like any method, each has its own benefits and limitations, but an experienced SMC project manager will consult with you to see which model or combination of the two will be the best fit for your project, budget, and timeline.
SMC Quality Management System
Maps the Software Development Life Cycle phases of its projects through two process methodologies, namely:
Each of the phases has defined entry and exit criteria. Phase transition is triggered through management decision point by signing off phase-end deliverables. This methodology is best suited when the requirements are frozen upfront and they are well documented without any ambiguity.
Iterative and Incremental Development Methodology
Iterative and Incremental Development is a project development and management methodology, which allows for iterative project development and periodic progress measurement. This development methodology is derived from the well documented "helix / iterative" software engineering models.
The entire project cycle is sub-divided into vertical segments, called "slices" wherein each slice is a deliverable. Each slice is developed in isolation using the "waterfall model". Developers will analyze, design, code and test in a tight loop.
Slice partitioning is done up-front, with the selection criteria being:
- The slices are vertical i.e. they are not sub-systems.
- Slices cut across as much of the functionality of the system as possible, being tangible sets of functionality that allow the user to get a look and feel.
- Slices represent features. In case of schedule slippages, certain functionality releases may be differed.
- Slices are executable and demonstrable.
- A slice typically will take a few weeks to complete.
This allows a tangible part of the project to be complete at the end of a slice. Complete testing is carried out in each iteration. The deliverables for each of the slices include an executable that meets the functionality, associated analysis and design documentation and test results.
This methodology facilitates better risk management, better control on the project schedule through better monitoring and early corrective actions and better requirements management in an incremental mode.
This methodology facilitates requirement evolution during the development as well as helps in managing larger projects.
Agile Software Development works well for clients whose businesses are volatile and constantly evolving – so quickly that the business requirements change by the time the requirements gathering phase is complete! At SMC, we use Agile for clients who need a more responsive process and are in need of shorter turnaround times.
Testing and Quality Assurance
At SMC, every line of code is tested and retested by independent quality control teams to make sure that your software is functionally secure and will perform under pressure. We write test cases across several platforms — from browsers to mobile devices — making sure that your software will work as envisioned before the product even goes into User Acceptance Testing by the client.