PHP PHP, MySQL, Java, J2EE, ASP.NET, MSSQL based custom web development, products and solutions for linux & windows.
A leading web development & designing company in the world having highly experienced web developers / programmers.

 
logo-precision-php-java-asp.net-india-1logo-precision-php-java-asp.net-india-2logo-precision-php-java-asp.net-india-3  
24x7 Sales & Support
USA (TOLL FREE): 1-877-611-1333
INDIA: +91 - 9823078899, 9371136693
   Corporate profile   CEO corner   New launch  
Subscribe

    Methodologies

The field of software development is not shy of introducing new methodologies. Indeed, in the last 25 years, a large number of different approaches to software development have been introduced, of which only few have survived to be used today.

We believe in both Agile Software Development Methodologies and Process-Oriented Software Development Methodologies. We possess the requisite experience and expertise on both of them.


Categories of Method

  • Code and fix. This approach is also known as “hacking”, “hack and slash”, or “no-process at all”.
  • Serial rigorous. Software processes in this category are well defined and often include detailed procedures that developers are expected to follow in a more-or-less serial manner. ISO/IEC 12207 is an example of a process. This approach is sometimes called a “waterfall process” or a “big design up front (BDUF)” process.
  • Iterative rigorous. Software processes in this category are well defined and often include detailed procedures that developers are expected to apply in an iterative manner. The Rational Unified Process (RUP) and the Enterprise Unified Process (EUP) are examples of an iterative rigorous process.
  • Agile. Agile is an approach to software development that is people oriented, that enables people to respond effectively to change, and that results in the creation of working systems that meets the needs of its stakeholders. Feature Driven Development (FDD), Agile Unified Process (AUP), and XP are examples of agile software processes


Comparing leading software processes.



Comparing project categories.
 

Project CategoryDescriptionSuggested Methods
Commercial Off-The Shelf (COTS)You have purchased or downloaded a system built externally to your organization that may (or may not) be modified to meet your unique needs and/or to integrate into your existing environment.  Legacy analysis will comprise a significant portion of this effort.Data-driven approach
EUP/RUP
ISO/IEC 12207
TSP/PSP
Data warehouse You are building a database, or collection of databases, to be used for reporting purposes. Agile Data
Data-driven approach
EUP/RUP
ISO/IEC 12207
TSP/PSP
Emergency releaseYou have to quickly add a new feature, or fix a high-priority defect, within a system that is currently in production.Slimmed down version of the process used by the team to develop the system
Integration/replacementYou are integrating two or more existing systems, to wrap access to one or more existing systems, or simply to replace them.AMDD
Data-driven approach
DSDM
EUP/RUP
FDD
ICONIX
ISO/IEC 12207
TSP/PSP
XP
New application development – Component/object technologies (e.g. Java) You are developing a new system. AMDD
DSDM
EUP/RUP
FDD
ICONIX
OOSP
XP
New application development – Procedural technologies (e.g. COBOL)You are developing a new system.Data-driven approach
ISO/IEC 12207
TSP/PSP
Ongoing maintenanceYou are operating and evolving an existing system in production.The method used to develop the system originally, or a newer method applicable to the technologies used and the nature of your maintenance team.
OutsourcedYou are managing an outsourcing effort.The outsourcer’s method.
Data-driven approach
EUP/RUP
ISO/IEC 12207
RetirementYou are retiring an existing legacy system.Data-driven approach
EUP
ISO/IEC 12207
TSP/PSP
Safety CriticalYour system can affect the health or safety of people.  Examples include air traffic control systems, medical research data analysis reports, and heart monitoring systems.Data-driven approach
EUP/RUP
ISO/IEC 12207
XP


As known that a single methodology can not work for the whole spectrum of different projects, hence we select the best applicable development methodology based on nature of the project and clients' requirement.

Key aspects based on which we select methodology to be adopted for a particular project:

  • Different technologies require different techniques. Object-oriented methods are best-suited for projects using object-oriented technologies whereas data-oriented methods are best-suited for data-oriented applications.
  • Every individual is unique. People are not replaceable parts. Each person has a different background, different preferences for the way in which they work, and different cognitive style (e.g. are they visual or textual thinkers?). An approach that works incredibly well for you might be impossible for me to grasp, and vice versa.
  • Every team is unique. Because teams are made up of individuals, and because individuals are unique, each team will require a unique way for them to work in order to maximize their potential. Several teams could follow ICONIX, but each will follow their own “flavor” of ICONIX tailored to meet their exact needs.
  • Your external needs vary. Some projects must conform to government regulations. Other projects are highly-dependent on suppliers, such as technology vendors or software development outsourcers, and therefore must tune their process to reflect the ways that their suppliers need to work.
  • Project categories vary. Different types of projects, see below, require different approaches because each category has different priorities and goals.
  • Method categories vary. Each category of method, for example agile and rigorous, has its strengths and weaknesses.


It may be completely unrealistic to expect every single project team within organization to follow the same software development process.  Different teams will create different types of artifacts, in different manners, and in different orders. Different projects work with different artifacts, choosing the best options for the situation is the key to successful accomplishment of the task. Hence over the years we learnt and developed expertise in all types of software development processes. We adopted several methods and are successfully supporting them.

To easily adopt and successfully support several methods we maintain following practices:

  • We adopted a small and best subset of the available methods
  • Preparedness to tailor the process to each project team
  • We defined common goals, not common artifacts
  • Defined common terminology
  • Flexibility
  • Prioritize


Our preferred subset of the available methods consists of:

  • Adaptive Software Development
  • Agile Modeling
  • Crystal Family of Methodologies
  • Dynamic Systems Development Method
  • Extreme Programming
  • Feature-driven Development
  • Open Source Software
  • Pragmatic programming
  • Rational Unified Process
  • Scrum

    Hence INCREMENTAL, COOPERATIVE, STRAIGHTFORWARD and ADAPTIVE are the keywords of our processes.

Software development is complex & varied and as a result we have several processes in our intellectual toolbox to ensure successful accomplishment of project. Yes, this makes our job as an IT professional harder than we would likely prefer. But then our priority is to make our clients' life easier by delivering robust and high quality solutions on time.