You are here

Popular Methodologies

Over the years we have deployed a variety of processes and/or methodologies created and adopted for enterprise wide software/application development.

A software development process, also known as a software development life cycle (SDLC), is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process. Some people consider a life-cycle model a more general term and a software development process a more specific term.

Iterative and Incremental development is at the heart of a cyclic software development process developed in response to the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interactions in between.

Iterative and incremental development are essential parts of the Rational Unified Process, Extreme Programming and generally the various agile software development frameworks.

It follows a similar process to the plan-do-check-act cycle of business process improvement.

Agile software developmentis a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto introduced the term in 2001.

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

Extreme programming (XP)is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development,it advocates frequent "releases" in short development cycles (timeboxing), which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.

Other elements of extreme programming include: programming in pairs or doing extensive code review, unit testing of all code, avoiding programming of features until they are actually needed, a flat management structure, simplicity and clarity in code, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.The methodology takes its name from the idea that the beneficial elements of traditional software engineering practices are taken to "extreme" levels, on the theory that if a little is good, more is better.

Critics have noted several potential drawbacks,including problems with unstable requirements, no documented compromises of user conflicts, and a lack of an overall design specification or document.

Scrum is an iterative and incremental agile software development method for managing software projects and product or application development.

The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.

The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.

Making Your Vision Reality!

methodology, noun: a set or system of methods, principles, and rules for regulating a given discipline.

Do you have established methodologies?

If you do not have an established methodology we will work with you to determine the best methodology based on YOUR current resources and needs.

ResiliEnt Management Consultants work within the established methodologies in our client base. We work with our clients to assess where/if enhancements to the methods could/should be applied.

Is your methodology relevant to your current needs?

Is your methodology the same today as it was 3 years ago; 5 years ago? Resources change; needs change; the marketplace changes.

ResiliEnt Management Consultants work our clients to evaluate the methods with an eye for opportunities to improve and/or enhance the process.

ResiliEnt will work with you to determine what of your existing methodology could or should be updated or blended with current and relevant methodologies.

ResiliEnt works with you to establish a methodology best suited to your current and furture resources and needs.