Ross Group Inc Emergency DBA Support
Careers
  Home
 search   
    Ross Group Inc

Short Duration, Fast Moving Projects


April 8, 2010
By David Schroeder, Ross Group Inc

"Accelerating Corporate Transformation," is the needed approach in business today, according to Harvard Business Review contributor and Corporate Transformation Resources president, Robert Miles. He emphasizes moving fast with a collaborative team.

As we crawl out from under this global recession, CEO’s will innovate strategies for products, services, market development, staving off competitors and winning customers. Innovation is a powerful driving force. If used skillfully, innovation driven transformations will propel a company to become a leader in recovery instead of a casualty of the recession. Successful business transformations rely on information to succeed requiring collaboration among multiple business units at all levels. The tools and technology used must allow fast implementation of ideas and immediate feedback on results.

Traditionally, IT improvements are slow to start, difficult to manage, and miss their goals of schedule, cost, and outcome. Three approaches regularly considered by executives are purchasing pre-packaged software, using labor arbitrage and developing the software with internal staff. Pre-packaged software rarely aligns with business needs so it requires expensive customization in addition to the license fee. Often customization cost is ten times the license fee. Using a labor arbitrage model will only make matters worse because collaboration is nearly impossible even with on-site management. The internal IT teams are too lean to support transformation and keep the business running today. All too often real Corporate Transformation is impeded by IT. A new approach is not simply needed; it is mandatory! Business needs a low cost collaborative approach that focuses on "Short Duration, Fast Moving Projects."

Traditional Approach

IT project teams have long recognized the need for communication between their team and the business. An approach called "Structured Development Life Cycle", SDLC, is a type of methodology used to describe the process for building information systems, intended to develop information systems in a very deliberate, structured and methodical way, reiterating each stage of the life cycle. The systems development life cycle, according to Elliott & Strachan & Radford (2004), "originated in the 1960s to develop large scale functional business systems in an age of large scale business conglomerates. Information systems activities revolved around heavy data processing and number crunching routines".

The SDLC sought to align business expectations with project team objectives through documentation. This approach divided the project into phases, Requirements, Design, Development, Testing, and Implementation. Significant energy was allocated to Requirements to produce clear and concise documentation about the final system, before the system was produced. The outcomes, however, were not completely successful. The project teams produced documents they could understand, but the business did not and the results typically missed the mark. Many projects, nearly half of all large projects according to Gartner Research , never made it to production.

New Approach

Clearly a new approach was needed. In an effort to focus more energy on development and less on documentation, the Agile Software Development methodology was created in 2001. The systems would be developed, tested and iterated to align with the client’s needs. While producing outcomes that satisfied some business needs, the projects were hard to plan and manage to an outcome while predicting final cost and schedule. This paper’s approach innovates the Agile methods, improving predictability by using Component Software Engineering. This approach defines the system in terms of functional components, building blocks, then iterates through component delivery to provide custom software applications that meet the exacting needs of business today in such a way that the components can be easily migrated into meeting the needs of tomorrow. Driving success are the following principles:

  • Defining functional data and its use
  • Developing and executing a system build plan
  • Managing risk and performance to achieve outcome excellence

To achieve outcome excellence, the project team will follow key success strategies. Two of the most important are schedule management and collaboration. A tight schedule improves focus and engages both the client team and the project team. It also spreads out testing, so the client team can continue their normal work, with only a small added burden of frequent testing. In this approach, there is constant communication as they iterate through system component releases. Documentation is brief and meant to be supportive of collaboration but not replace it. The most modern tools are used, allowing component engineering practices. The components are deployed via a cloud model and delivered to users via the internet within weeks after project inception with most projects complete in ninety days.

Component Software Engineering

The Component Software Engineering process is designed to deliver success in "Short Duration, Fast Moving Projects." Instead of using the traditional process automation approach, the project team uses a data management approach. In this approach, each function becomes a data transformation component. The system is constructed by iterating through the development of data transformation components until all are tested and deployed to a production environment. As a side benefit, a common language emerges between the project team and their client, the language of business data. The Component Software Engineering model has three dimensions:

  • Functional and Technical Architecture
  • Build Plan
  • Project and Financial Management
1. Functional and Technical Architecture

The process begins with a client vision. Typically, the vision takes the form of a problem to be solved or an opportunity to improve. The project team and client discuss the vision and document the discussion in the form of a "Meeting Report." The client team reviews it, comments, and often the vision is refined. The project team then prepares a document called, the "Integrated Functional Description" (IFD), which describes the data needed to develop the vision and the methods to be used by the client to input, manage, and use the data. These methods will be the basis of the final system. The IFD is a function based (Horizontal) Work Breakdown Structure.

Following the IFD, the "Project Component Plan" (PCP) and the System Architecture Report (SAR) are developed. The PCP lists the system components and estimates their delivery, the primary measurement of project earned value and also reports on progress. The SAR lists the major method components, which perform work on the data. This is the program object level architecture and ties all of the components together.

2. Build Plan

The build plan is described in outline form in the "Project Goal Report" (PGR). This is an outcome based Work Breakdown Structure. Since the PGR is outcome based, rather than a list of tasks to be completed, the PGR describes components in terms of measured outcomes. By adding the completion metrics over time, the client has an accurate record of project status. The PGR is prioritized and executed. Typically the priority order emphasizes immediate business needs and the technical architecture needed to support them.

3. Project and Financial Management

The project charter and scope are defined by the Technical and Functional Architecture documents. The project level PGR is the primary planning and reporting tool. Each component is tracked to three delivery milestones; Development, Test, and Production. Twice each month, progress is reported to the client including schedule, cost, and outcome. Weekly meetings with the client provide structured communication to refine function, improve testing, and build rapport. Adjustments are made as needed and the outcomes are delivered on schedule and within budget.

The foundation of this approach relies heavily on component engineering, a process adopted by the computer hardware industry decades ago and first introduced by Henry Ford to the auto industry. Because of high engineering costs and the lack of mass production on the back end, component engineering was not widely used in the software industry, but with recent advances in web technologies and improvements in the Microsoft software development frameworks, component engineering costs are greatly reduced, making it a viable choice for custom software development.

The project team defines each project in terms of components. Each component is designed to be stand alone, reliant only on data. The data structure itself is a component. Components are packaged into test and production releases. Testing is easier and more productive. Development is easier and more productive. Production deployments and system use is more predictable and outcomes are greatly improved. To understand the process, one can visualize a box into which components are placed. The box is loaded onto a truck and shipped. The destination is a production system.

To improve cost management, each component is estimated individually and the system architecture is estimated as a combination of cohesive components. "Estimating Risk" is determined and a value is placed on it. "Functional Risk" is determined and a value is placed on it. "Project Management" is estimated and a value is placed on it. The sum of component estimates, architecture estimate, Estimating Risk, Functional Risk, and Project Management is the project’s target cost.

The project is managed to the target cost. Components are developed and delivered on regularly scheduled milestones, not more than three weeks apart. The entire project is completed in 90 days. The risks are mitigated. The project fees are assessed on an hourly basis to promote component scope integrity. For each cost allocation cycle, a Billing Analysis report is prepared documenting the progress and outcome for each component. The client has visibility of the progress and together, the client and project team make adjustments. The client has final control over the outcome success.

By defining client vision in terms of data, functions become iterated transformations. By prioritizing on schedule, focus is maintained. By reducing the complexity of documentation, efforts are concentrated into outcomes. By defining components and their relationships visually, nothing falls through the cracks. By managing the project, the team, and the finances aggressively, the risks are identified and mitigated early. By engaging the teams consistently, communication is improved. By demanding excellence at every step, success is achieved.

Documentation Summary

The Ross Group Software Engineering Process focuses on "Short Duration, Fast Moving Projects." It requires a set of documentation created to support communication between the client team and the Ross Group team. The documentation set includes the following:

  • Meeting Report: This is the vision development document. It describes discussions, decisions, and recommendations.
  • IFD: Integrated Functional Description. This describes the vision in terms of data. It includes Inputs, Outputs, Process, Data Table Abstracts, Screen Shots, and other visualizations to aid in communication.
  • PCP: Project Component Plan. This lists the system components, estimates their duration, and presents a milestone schedule for deployment in 90 days.
  • SAR: System Architecture Report. This lists the main methods of the system and establishes a simple hierarchy of use.
  • PGR: Project Goal Report. This is the build plan. It lists the goals for each team member and summarizes the goals of the project. Each goal is defined in terms of what will be the outcome, what work will be needed to achieve the outcome, how will it be measured, and what else is affected.
  • PRO: Proposal. This is a combination of the Summary PGR and IFD. It contains component outcome descriptions, estimates, and risk statements.
  • Billing Analysis: This is a companion document to an Invoice or time report. It describes the work performed for each component for the invoice period and invoice amount. It also presents a running total for the budget.
Conclusion

The project goals are derived from the vision. From the vision, the data and management methods are designed. The project is planned in three dimensions Functional and Technical Architecture, Build Plan Project and Financial Management. Constant communication and collaboration is the key and both are reinforced with a tight schedule. In as little as 90 days, a working system, not a prototype, is delivered and the client begins earning value.

This development model represents a paradigm shift in custom software development. In the traditional model, business process is studied, improvements are defined, new processes are automated, and a system is delivered that does not meet the needs, because in the time it takes to deliver, the business needs have changed. Sustaining business success requires constant movement and iteration of the business process to align with the constant motion in the market and economic climate.

The "Short Duration Fast Moving Projects" model shifts the development paradigm. Instead of focusing on process automation, this model focuses on iterative data transformations. Each component is dedicated to collecting, recording, transforming, reporting, or acting on data. The data in a business and its market are much more stable than processes needed for competitive advantage. By focusing on the data first and applying the business rules to the transformations, outcomes are predictable and the software can be easily iterated to keep pace with changing business needs.

Ross Group is uniquely qualified and has the experience needed to deliver "Short Duration Fast Moving Projects." Successful projects include on-line mortgage, asset management and refurbishment, inventory management, point of sale, Customer Relationship Management, commission management, call center, and many other applications. The Ross Group model transcends industries and business applications. The Total Cost of Ownership is improved over labor arbitrage and packages, since the delivery is fast and value is realized sooner.

Ross Group is a software development and consulting firm with headquarters in Dayton, Ohio and a development center near Atlanta, Georgia. Since 1994, Ross Group has provided excellence in software development and database systems management. Hundreds of clients have become more successful because of Ross Group’s dedication to client success. Our largest two market segments are Auto Club Membership and University Veterinary Teaching Hospitals. Custom software development, for a wide industry base, plus database and systems management makes up the rest of our commercial market. Ross Group is an employee owned company.

Contact Us

For more information on how "Short Duration, Fast Moving Projects" or "Component Software Engineering," please contact:

David Schroeder
Director, Software Development Services
Ross Group Inc

Ross Group Inc
Copyright Ross Group Inc 2010

Ross Group Inc is an Equal Opportunity Employer, Affirmative Action Employer, Employee Owned Company.