Methodologies

Remaining competitive in today's marketplace requires a very dynamic organization. As the organization changes, the business model has to change too. Meeting the demands of today's lightening-fast business shifts require a talented resource pool with a matured delivery process.
We, at JKT, have woven a robust framework of methods and practical skills into a family of methodologies. Our methodologies allow for innovation and creativity, borne by the combined talents of our people. We believe in a development process that heavily involves the customer in a rapidly iterative environment which provides continuous feedback between the software engineer and the customer. Our methodologies allow for quick completion of projects with a higher degree of assurance that the completed project conforms to the original design specification. We excel at the delivery of a high ROI, maximally effective software solutions with surprisingly low cycle times.
We adopt varied development methodologies for project development based on client specific needs and requirements. This mechanism helps in concept building and prototyping enabling easy understanding of the requirements in a better way reducing risks. We tailor a project plan to suit your needs and allow you to derive maximum benefit from the engagement.
Our Development Methodologies in practice:
- Agile
- Waterfall
- Iterative
Agile Methodology
It is a discipline of software development based on values of simplicity, communication, feedback, and courage. It starts wherever you are right now – with an idea, a concept or a short problem description. Then, we gradually build your software in a series of milestones to create working prototypes.
We follow Agile with Extreme Programming (XP), most widely used flavor of Agile Methodology. XP is a deliberate and disciplined approach to software development. Around eight years old, it has already been proven in many companies of all sizes and industries world wide. We have successfully implemented the biggest challenge of Agile methodology - Distributed Development. We have more than two years of experience in using this method with global customers. We have flexible communication channels at our offshore premises in India and to reduce the gap of communication between on-site and offshore teams, we have even customized the Agile Software Development Process to reap maximum benefits from the methodology.

Agile Methodology
The Agile Methodology is best suited for the development process that is incremental (small releases, with rapid cycles); cooperative (customers and developers working constantly together with close communication); straightforward (easy to learn and to modify); and adaptive (able to accommodate rush orders).
For enabling projects to scale to an enterprise level, accommodating distributed development and mixed mode onsite/offshore working, while retaining the underlying principles of Agile development, please refer to the "Enterprise Agile" White Paper.
[Source: Strata Software UK, JKT Partner]
Waterfall Methodology
It follows a systematic, sequential approach to software development beginning with the customer's software requirements and progressing through analysis, design, coding, testing and post-development maintenance. JKT recommends this methodology as an ideal choice for the user's software requirements that are clearly stated at the inception of the project. It requires a clear definition of the scope, boundaries and interfaces of a system. The project phasing and critical path must be clear to ensure that all of the project phases/stages are in step. Phase transition is triggered through management decision point by signing off phase-end deliverables. 
Waterfall Methodology
The Waterfall Methodology is best suited when the requirements are frozen upfront and they are well-documented without any ambiguity.
Iterative Methodology
It is an evolutionary methodology that combines the elements of the linear sequential model (Waterfall methodology) and the iterative philosophy of prototyping and is considered ideal for a project that is complex by nature having large business components and interfaces. We usually apply the Iterative methodology to designing softwares for customers, who prefer continuous communication, short iterations, repeated reviews, and frequent deliveries. While following this methodology, we create a product incrementally, taking advantage of the experience derived from the development and use of earlier deliverable versions of the system. The analysis and measurement help us tailor the development process and improve the quality of the end-product.
The Iterative Methodology is commonly used and recommended for innovative projects where the technology or approach to be employed has to be identified as a result of experiments conducted as part of the development process.



