Thursday, September 3, 2009

On Time Application Development Project Management: From RAD to RICH

On Time Application Development Project Management is achievable when you want RICH but need RAD.

Rich Internet Applications (RIA) for businesses represent a growing trend from software users wanting responsive and immersive interactions from any location. As business applications begin presenting information the same way as the social web – interactive and visual – and carry the same reach, IT departments must adapt. But what is the application development manager to do? How do you manage an application development project that threatens to become a multi-headed beast? At Magic Software, we say you cut off the extra heads. Afterall, who wants to have a conversation with a beast that has multiple heads?

uniPaaS is a multi-modal application platform.

We classify uniPaaS as a multi-modal application platform – one that supports several modes of deployment: RIA, client server, web, desktop, batch, etc. There is a debate raging over what constitutes a RIA application? The crux of the debate is over the meaning of RICH. I decided to introduce a mnemonic to contribute to the understanding of the meaning of RICH.

R – Real-time Interaction
I – Integrated Backend Systems
C – Complete Immersive Media Experience
H – Helpful and Intuitive Interfaces


So there it is, a Rich Internet Application must be capable of being a completelyimmersive media experience with real time interaction using helpful and intuitive interface but at the same time be integrated to backend (RIBA) meets all of the above criteria and has as its principle raison d’etre the conduct of business in one way or another.

A good Rich Internet Business Application platform should be ready for the Cloud but also capable of deployment on premise. It has to be connected to the reality of your business, a RIBA is not a frivolous game or mere advertisement, these are the domain of the single purpose RIA solutions that are oh-so limited in true business functionality and whose available programming techniques are relegated to the lowest of low level 3GL tedium and old school line-by-line coding? Who thinks that is modern?

To be truly agile in one’s RIBA development and deployment, the application platform needs to be changeable and customizable with little to no installation effort on the client side. With the efficiency elements of an application platform like uniPaaS, delivering on the promise of the distributed and mobile enterprise becomes a reality.
But before you can settle comfortably with a unitary approach to development where you trust a single application development and deployment environment to manage all dimensions of client, server, communication and other technical layers, you must be comfortable with that environment’s fundamental efficiency. With uniPaaS, common and repetitive development tasks are pre-programmed into the platform. As a result development cycle times are far less than expected.

Don't reinvent the alphabet.

You don’t reinvent the Alphabet each time you write a new book, so why should you reprogram basic routines for each change in platform technology or operating system revision? Why should basic application functionality, the kinds of things tha all programs must do, be a blank slate and a programming challenge each time? Too many individual developers are all too content to get paid to rewrite these programs. They are recreating the wheel for kicks. Who knows, maybe the next wheel they invent will be shinier than the last. But wouldn’t you rather just use a wheel off the shelf? That’s what uniPaaS delivers: off-the-shelf programming power.
When developers are consumed by the tedium of low-level programming for the vast variety of technology protocols in use today, then they simply are not focused on your business needs. uniPaaS pre-compiled engine contains every technological component needed to build your unique application via metadata driven specifications. This means your IT team has the Power of Choice to focus on the business logic in your applications rather than time-consuming and fragile technologies.

We don’t achieve that productivity by narrowing your choices and telling you which environments you have to run on. uniPaaS offers “the power of choice” in the breadth of its certified database and operating systems as well as other components of your infrastructure.

When evaluating the uniPaaS application platform, look for these high level efficiency drivers:

  • Task oriented
  • Event driven
  • Inheritance
  • Reusability (high level in your application and low level built into the application platform)
  • Pre-compiled functionality
  • Open environment
  • Internal debugger
  • Team ready.

    The development and implementation of new business applications is becoming increasingly complex and with the ordinary and usual suspects, requires increasingly varied skills and extensive multi-loop, multi-cycle testing, driving costs up. Yet, reduced IT budgets and fast moving business realities constrain cycle time putting a pressure to reduce innovation with traditional tools. A solution worth exploring is to move gradually to one of the new application platforms which promote application integration and composite application capabilities, and reduce the development challenge by encoding business functionality as metadata. Existing developers can quickly become familiar with such platforms thanks to their abstraction of technology, and platform vendors such as Magic Software and our partners can accelerate delivery and reduce uncertainty with skilled on-demand resources.

    Rapid Application Development Techniques: Prototyping, Incrementing, Timeboxing.

    With uniPaaS, it is easy to apply rapid application development methodologies. – uniPaaS supports Prototyping. By creating a prototype, you can create an early result as a “proof-of-concept” or as a mini-functional version of the desired application. When you are after a demonstrable result early, prototyping with uniPaaS is a great option. With feedback from the users to show that progress is on track, you gain confidence for subsequent efforts that flesh out the application in full. This allows you to work closely with your end users and incorporate desired changes not anticipated in the initial scope of the project through change orders. The advantage being that you get the change orders in early enough in the process to prevent huge amounts of rework. By prototyping at the right time in the project, you get feedback from users to the development team at the point where it can influence the shape of the application before it is too late and costly to rework what you have created or too early to really give the users a clear idea of where the application is headed.

    With uniPaaS, iteration is encouraged. You can develop incrementally and refine your application over time. Since there are no complex compile and link processes, it is easy to see results of programming efforts immediately and debug them using excellent internal debugging tools. You create a feedback loop between your prototypes and their various iterations that results in a well managed and on budget application development project.

    With this RAD approach, you can impose timeboxing on your development team. Timeboxing is an artificial constraint – a fixed period of time set aside to a particular phase, set of tasks or for the next iteration and prototype. With a timebox, you can change the scope, but you are setting an expectation that delivery will occur within that timebox despite the scope changes. The timebox is built with the expectation that there will be some change orders. When the firm boundary of the timebox is adhered to, application development project management on budget and on time is assured. So with uniPaaS, RAD development becomes reasonable and possible as opposed to just being an inconvenient theory. But introduce a deviated development approach to RAD methodology, by deviated, I mean separate languages for RIA clients and server side business applications, then you can throw RAD, agile, extreme and all sorts of other and efficiency oriented development paradigms out the window.


    For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
  • No comments:

    Post a Comment