Home | Site Map



In the twenty first century software developers have continued to refine the methodologies utilized to produce effective software. Two of the most commonly used methodologies are the Agile and RUP methods. In general, Ideal perfers the Agile process but in many cases, we employ a mixture of both.

The basic difference between these two methodologies is flexibility vs. rigidity but there is more to the story:

  • RUP: Rational Unified Process is best suited for larger projects where the requirements are clearly defined in advance. The potential pitfall is that in the real world, large projects can take a few years to complete and requirements change at a rate of about 1% a month on average. You may think your requirements analysis is iron-clad, but things rarely workout that way.

  • Agile: This methodology assumes that requirements will be changing during the development process and therefore, provides best-practices to meet said changes. The potential pitfall is that clients may feel that they can change the scope in a willy-nilly fashion, which may in turn pull the rug out from under your budget.

  • There are 4 phases to RUP:

    1. Inception: The scope of the project is defined and functional, data and user requirements are collected.
    2. Elaboration: All requirements are analyzed and an architecture framework is developed.
    3. Construction: The application is developed according to the baseline architecture and component testing is undertaken.
    4. Transition: The finished application is tested, fine tuned and installed on a production server for release to end users.

    The Agile Methodology is driven by a modular process, wherein requirements are divided into modules and each module essentially becomes a project on it's own. Within this modular process, all phases are carried out for each module, including the requirements analysis, design, coding, testing and documentation of each module.

    The following graphs help to illustrate these two methodologies:
    Graphs provided by Damnish Kumar, Software Architect, HTP, Inc.

    Why Invest in Custom Software?
    The challenge of software is to make businesses more profitable by improving productivity and by allowing users to perform tasks that would otherwise be either difficult or impossible.

    Word processing software replaced the typewriter and although users were not enabled to necessarily type faster, the benefit of other features such as saving files, editing, printing mulitple copies and spell checking greatly increased productivity.

    Your business is full of processes, such as order processing and scheduling, but there is nothing so generic about these processes as word processing. They are unique to your business or your way of doing business.

    Good software will further enable your staff to complete these processes and as important, empower them to do more - not just in terms of quantity, but also in terms of quality and capability.

    Custom software is often the only solution to the unique processes within your business. You do things your way and off-the-shelf software knows nothing of those ways. So, typically, businesses like yours attempt to fit the proverbial round peg in a square hole, sometimes achieving better results than others.

    This scenario rarely unfolks without aid from manual processes that support the off-the-shelf software you've chosen. Sure, the software was cheap, but employees and lost productivity are expensive.
                  

    Figure 1: With RUP, each iteration is typcially decided
    at the commencement of the project and very little
    flexibility is available.



       

    Figure 2: This graph shows the modular process
    of the Agile Methodology. Modules are undertaken
    as individual units, developed and released.



    In a perfect world, all software would be built using the RUP methodology, however,
    defining requirements in an ever-changing business world, in advance of developoment,
    is nearly impossilbe. Clear-headed project managers realize that changing requirements
    are inevitable and they plan accordingly. On larger projects, there are various means
    of planning for and accommodating changing requirements, but on smaller projects
    flexibilty is key.

    At Ideal, we strive to reduce the timeframe of projects by asking the right questions
    during the requirements phase and then listen intently to the answers. In the end, all
    that really matters is that the clients expectations are met and Ideal delivers
    software that fits the business like a glove. This is a goal we have met on each and
    every project.



    Copyright 1999-2008 Ideal Custom Software, LLC. All Rights Reserved.
    info@idealcustomsoftware.com 877.620.0850