What to Expect from the illumineX Proposal and Development Process

What does illumineX need from me to create a proposal?

Call us or send us email -- you don't need to prepare in advance. Just tell us a little about your project, and we'll ask all the questions we need to get a proposal underway. It's likely that we'll chat with you more than once during the creation of the proposal. Any supporting documentation that you have for design requirements, use cases, etc. is helpful, but not required. We can help you carry your project from concept to completion.

How soon can illumineX begin my project?

Once the details of the business relationship are agreed upon, we can often begin your project within a few weeks -- sometimes the very next week. We can generally accommodate projects with urgent deadlines which require immediate project start.

Why not use my existing in-house team do the project?

Your in-house team may be over-subscribed developing and maintaining your current core software projects, or may not have the skills in place to develop the project you have on deck. You may be seeking a project jump-start, with technology transfer to enable your in-house team to come up to speed in a set of new technologies and techniques, without taking them "off line" while the new project gets underway.

Who will be working on my project?

illumineX has a small cadre of highly motivated, customer-focused engineers, many of whom have been working together in various combinations and on a wide variety of projects for over a decade. Your illumineX project team is a pre-formed team, ready to "hit the ground running" on your project. We are not a "body shop" and we do not assign random engineers to your project.

How long is my project going to take?

Your priorities and project requirements are the primary driver for delivery schedule. Once we know more about your project, we can give you a better idea of how long it might take. Features that you need for initial production deployment are placed earlier in the development schedule. We work with you throughout the lifecycle of the project to establish your priorities, and review and adjust the development iteration plan if your priorities shift during the project.

When will I see some completed work and what will it be?

We consider your review and feedback to be vital to the project, so we typically deliver a build for your review within three weeks of the project kick-off. The first delivery includes a build of your project which serves as a "proof of concept" for the deployment architecture -- and the software foundation of your application. It will make a round trip from user interface to web server to database and back (but the user interface probably won't be pretty).

The first delivery will be accompanied by a high-level statement of system architecture, including major design decisions that were made. We believe that good design happens best and costs least when supported by software code. Our iterative development strategy allows us to identify and resolve higher risk elements of your system early in the development process, so that decisions affecting the rest of the architecture can be made early. Subsequent iterations will allow you to see the functionality in your application as it grows.

How will I know how the project is progressing?

illumineX employes Agile development practices including continuous integration and short-cycle development iterations. This means that you will get frequent opportunity to review actual software as new features are added to the system. If your software project is web-based, the current build can be found, running live and ready to inspect, in your private project area on our web site. For other types of software arrangements are made to deliver in a manner appropriate to the project. Whatever the nature of your project, frequent delivery of running software, combined with regular status reports, release notes and supporting documentation help improve the transparency of your window into the development process -- giving you control over your project, not just tracking.

What is expected of me during the project?

Your regular participation in the project is essential to success. Depending on the nature of your project, you or your team may be needed to provide requirements, and help us understand the use-case for them. We'll need you to provide timely feedback on software that's been released for your review. Each project proposal will include a description of any specific items which are known to be needed from your team. Those often include things like graphics resources -- logos and whatnot to give your application a "look and feel" consistent with your other in-house software, etc. Other items needed from you might be uncovered during the course of the project, depending on your evolving requirements.

How do we communicate during the project?

Your primary contact at illumineX will be available to you via phone and email. We also provide your project with an email list to keep the entire team "in the loop" on discussions, and a collaboration area on a private server where you can regularly find updates to your software, as well as release notes, architecture documentation, and other supporting materials.

How do I work with remotely located team members?

You will have direct access to the illumineX developers and project managers working on your project via email and phone, and an email list which includes all members of the project team from illumineX and your company including developers and managers. In addition, we provide you with a secure, private project collaboration area available on the internet which you can use to access all of your project materials at any time, including the latest build of the application and project documentation and status reports. Larger projects may benefit from regularly scheduled project conference calls or face to face meetings at your location or ours. We place a high value on regular delivery of functioning software.

What if the scope of work changes?

Your requirements will change. It's a reality of software development that much of the industry denies or tries to repress. illumineX will work with you throughout your project to make sure that your shifting priorities can be accommodated as quickly and efficiently as possible. Development cycles are defined in a series of short iterations, so we can respond much more quickly than development projects based on traditional "waterfall" methodologies.

New requirements, changing needs, and shifting priorities can affect cost and timing estimates, of course. However, we don't "freeze" your requirements for a year at a time, nor do we impose a cumbersome change-request process on you, and you don't have to spend a year and a half a million bucks producing power-point slides and visio diagrams before you see any code. We believe strongly that delivered software product is made possible only through writing software and accommodating inevitable changes.

What happens if my project grows or shrinks while in progress?

At every level of your project, illumineX follows Agile development principles, which help us adapt to changes quickly. For staffing your project, illumineX relies on small teams of very talented engineers who have worked together in various combinations over a period of years. From time to time, we add engineers to the pool, and integrate them. This strategy lets us add developers to a project if needed, with a minimum of "ramp up" time needed for the new members. We also have a pool of regular contractors with whom we've also worked on many projects and over many years, so we can expand the team on your project if needed, without loosing the benefits of the pre-formed team. For many projects, the staffing needs decline after the initial product ships. As it happens, we have a number of our own in-house projects that can soak up "bench time" for developers as your project is winding down.

Will illumineX send developers to my facility to work on-site?

illumineX projects benefit from pre-formed teams working from our offices for most project phases. In order to help you minimize costs, we perform on-site work only when needed. Typically that may include startup and deployment phases which can sometimes benefit from illumineX engineers working with your staff on-site. Projects involving technology transfer may require illumineX engineers to work with your staff on-site for extended periods of the project.

I would feel better if one of my engineers was part of the development team. How does illumineX work with my in-house developers?

Your engineers and business domain experts are welcomed and encouraged to participate in the project at various levels of involvement, depending on the characteristics of the particular project. Every project requires a certain minimum participation from your staff, in order to help guide the project.

Remote participation in the development process can be facilitated by regular conversation by email, phone, or private "internet chat" rooms. Your engineers can also come to our site periodically or for the duration of a project phase to work jointly with our team. We may visit your site during the course of a project, too, meeting with domain experts, users of the software, and project sponsors.

(Note that we do have a casual work environment. Your engineers should be prepared to hear our engineeers refer to each other by various terms of sarcastic but sincere endearment. Oh, and the office cat might decide to spend an afternoon perched on any given desk. If it happens to be yours, you can either tolerate, or pet continuously until retreat.)

How will I know when the project is done?

The answer depends somewhat on the nature of your project.

Some projects are"Discrete" -- they have finite requirements that remain unchanged. During the course of your project, the project manager and a technical contact at your company will review the list of requirements and defects. When all features are implemented, optimized for workflow, reviewed for security, and debugged to your satisfaction, the project is completed. You will receive an archival copy of all project source and documentation.

"Continuous" or "Living" projects may have requirements that grow or change over time, and may be under continuous development for a period of years. We will review the list of features periodically with your team to keep the project in alignment with your evolving business objectives. You have control over the pace and duration of the project, and the appropriate time for transition to in-house maintenance, if desired.

What if I want my in-house team to take over responsibility of the code after the product is released?

We use JavaDoc style comments, so that your project comes complete with source code documentation that can be viewed easily from a web browser. Browseable source documentation helps your developers "come up to speed" on the project quickly, once they take over development. We strive to make our code easy to read and easy to maintain, and we follow industry standard coding practices. We can also work directly with your in-house developers to provide "technology transfer", supported by architecture documents, database schema documentation, and a documented build and deployment process.

iPhone front

illumineX can help you build iPhone applications for internal enterprise use, or for consumer use.