Business Benefits

Reduce Your Delivery Times.

Rapid development of qualify software is a goal most IT managers strive for. The introduction of J2EE by Sun Microsystems sent a clear message that enterprise applications can be broken down into standard design patterns. Sun Microsystems also predicted that tool vendors would be able to rapidly deliver high quality software by following design patterns.

Unfortunately, tool vendors have delivered the same old tools, where the programmer has to point and click, setting dozens of options to deploy the simplest application. Worse, nearly all developers recommend going back to hand crafting the code, because the tools only produce vanilla compliant code, and don't produce optimized application ready code.

JGenerator has stepped out of this box. JGenerator is composed of modules, where each module captures a different design pattern. By applying a design pattern to each business rule we can generate a working application in seconds.

Business Description + Design patterns = Quality Software

The result is analogous to a software robot that codes thousands of times faster than even the best programmers. Our experience shows that by using JGenerator you can deliver the same functionality, at least, an order of magnitude faster than developing software by hand.

Reduce Your Development Costs.

On a project you have to design the business entities, and the design patterns. Then code the same design patterns for every business entity again and again and again.

With JGenerator the business knowledge is written down just once in a business definition file. The design patterns have already been written in the JGenerator. All you have to do is apply the design patterns to the business knowledge and generate the code.

The savings can be calculated as the cost of designing the Business Entities (BE) plus the cost of designing the Design Patterns (DP), plus the cost of applying all the design patterns to all the business entities, divided by the cost of designing the business entities.

Savings ratio = ( ( BE + DP ) + ( BE x DP ) ) / BE = DP

For the example given savings for this example would be:-

Savings ratio = ( ( 6 + 15 ) + (6 x 15) ) / 6 = 18.5

Increase the Accuracy of your Estimates.

Actual development time always take more time than you initially estimate. One explanation of this is to imagine that a given estimate represents the radius of circle. You are only 50% efficient (and have dead time spent in meetings), so you have to work twice as long (the diameter). You always go round in an arc to navigate technical and business problems (a semicircle) . In other words half the circumference of a circle, Pi*r, or 3.14 times your original estimate.

The bigger the project gets the more inefficient you get; communicating with one another. The newer the technology the wider the arc you go round. As the demand for bigger projects with newer technology increases estimates will increase disproportionately.

Using JGenerator reduces your risks by letting you know that a Code Generator reduces your risks,and means the code generated will be consistent and of a high quality there will be no need to compromise on price.

 

Develop Larger Scale Projects.

It is difficult to scale projects beyond a certain size. Complexity and costs are not linear, and the net costs soon begin to outweigh the benefits.

As the code base increases in size the cost of making changes increases, and number of possible profitable changes diminishes to zero. This can be for many reasons. Possibly because a change must be made across all the components, or because all the components are all implemented slightly differently, or because the huge learning curve for new developers means they never have a good grasp of the possible side-effects, and so resist the changes.

As the cost of development exceeds profitable return, so the momentum behind a project grinds to a crawl. Eventually when a new business case is developed a new code base is developed. Like a dying star, the old project has become crushed by its own weight, and with its death valuable business knowledge has to be extracted from the code base.

JGenerator allows much larger projects to be tackled. New modules for new technologies can be developed and new life can be breathed into old Business models.

 

 

Reduce your Dependence on Expensive Staff

On a J2EE project recruiting staff who know EJB and JDBC is very expensive. A typical J2EE project will need to recruit expensive, experienced developers who often spend their time doing repetitive, demotivating work. Expensive and demotivated staff are not exactly the best combination.

The diagram below shows our experience of what happens when JGenerator is used. After using JGenerator both the number and experience of the team reduces, as well as the repetitiveness of their workload. Making for a cheaper, more motivated, and consequentially more productive team.

Apply Your Skills Across Several Projects.

Unlike what methodologists like to tell you, we all know that your best business or technical experts can make or break a project.

JGenerator captures your business experts business knowledge concisely in a simple business definition file. This means that a definition of the business is captured in one place, rather than being scattered through the code. Everybody can now understand the business logic behind several large projects at once.

JGenerator can also capture your technical experts knowledge concisely in JGenerators modules. This means that good technical expertise from a successful project can now be used on new projects. If a technical expert leaves your project their expertise is captured in the modules, so the negative impact on your development will be much less.

Refocus on your Core Competencies.

People on most projects lose focus of their interfaces and core competencies soon after the development phase begins, as a consequence their expertise is not best employed. We all know the reality gap.

Actor
Expected Reality Actual Reality
     
  • Technical Architects
Infrastructure Design and Blueprints Explaining technology and keeping a vigil over developers.
  • Application developers
Graphical User Interface and coding Business Rules. Implementing basic functionality and demos with subsets of functionality.
  • Business Analysts
Business Data, Processes and Rules, and some testing. Revising down design expectations and waiting for demos.
  • Quality Assurance
Testing Plan and Error and Usability Feedback Trying to keep up with changes and bug fixes for hundreds of function points.
  • Project Management
Project Plan and Budget Management Expanding the project plan and getting burnt when its not delivered.
  • Users
Feedback and Business Planning Waiting for a demo and doing marketing.

JGenerator allows people to focus on what they're good at: -

Actor
Benefit
   
  • Technical Architects
Crystallize your architecture in a set of JGenerator modules, so that you can transparently change your architecture across large swathes of code.
  • Application developers
Rather than spending time implementing and learning new technologies spend your time implementing User Interfaces and coding Business Rules.
  • Business Analysts
Specifying your business rules in a simple manner that application developers can understand and get a working demo in days not months.
  • Quality Assurance
Start a testing plan as soon as the business specification is produced. Fix bugs once across the whole infrastructure. Generate test data.
  • Project Management
Reduce risks, give better estimates.
  • Users
Have a demonstration quickly, feedback changes. Understand the business by looking at the business specification.