People are widely acknowledged to be among the most important factors in the success of IT projects, and remain possibly the least discussed. Dozens of books about process and technology are written every year, and very few that consider the impact of people on project success. One of the most important aspects of people working in groups is that they sometimes have differing needs, goals, and priorities. These issues are often ignored in the early phases of a project, and cause problems in the latter phases. Here we discuss briefly some of the people that are involved in typical projects, and some thoughts about their perspectives.
The people we typically meet first are the project sponsors. If you're shopping for a consulting partner, that's probably you. You have some objectives, and probably already have some pretty good ideas about how to apply technology to meet them (otherwise you probably wouldn't be reading this, unless of course you happen to be... oh, Hi, Mom!) The rest of you are looking for a development partner to help you meet your objectives. We'll work to understand your objectives, but we don't stop there. We strive to understand your customers, your business practices, and your environment so we can help you meet your objectives.
For government, it's the citizens and taxpayers. For corporations it's the shareholders. Whatever the business, there will be individuals or groups of people that have a vested interest in the successful execution of the project. It's easy to get lost in the minute details of a project, and lose sight of whether a project actually aligns with the overall business objectives. Occasionally thinking about the highest level objectives of these owners is healthy for projects, and can help uncover hidden requirements. Sometimes these can have fairly dramatic influences on development priorities, or even technology choices.
On projects supporting non-trivial business processes, we insist on regular participation of an expert in the business process. This might be the business owner, or an end user of the software, but oftentimes it's somebody in between. Somebody who is an expert in the process from end-to-end, and in how that process supports the business, and the customers, how it's achieved by the business today, and how it might be improved. Sometimes it's more than one person. In any case, you probably know right away who the relevant domain experts are in your organization, and you should get them involved with your project.
One of our friends suggests that the industry would be in better shape if development teams implemented a simple practice. Upon delivery of any software product, the developers would sit in a closed room with actual users of the software, performing acceptance testing. The developers are not allowed to touch the keyboard, even if they must sit on their hands. While in the room, the software users are allowed to ask for assistance with any issue. The developers must begin every statement with, "I'm sorry that I have caused you this problem..." Well, it's funny when he tells the story, but it serves to bring up a vital part of project success.
We care about the end user of the software systems we build. In fact, we assume a certain amount of industry guilt when we're standing in line and some airline ticket clerk must struggle with an arcane and poorly written software application. We ponder the moral dilemma while they make small talk -- do we admit that we are software developers? Every project we undertake includes a workflow optimization step, designed to improve the life of the end user. We work closely with your personnel to make sure that the software we build is not only reliable, but sensible.
In most software development projects, the needs of the network and systems administrators is typically an afterthought -- if it's considered at all. Even an otherwise-well-designed application that meets the needs of the business unit may be considered a failure if it crushes your administrators under an operations burden. If you ask a business owner, a perfectly functional application is considered a failure if it simply shifts workload from a business unit to your IT staff.
We care about our customers, and we work hard to help you meet your objectives. illumineX is customer-focused, and we believe that technology is created by people, for people. As a company, we also care about our own engineers. We recruit highly skilled and highly motivated developers, and we provide them with a supportive environment and management oversight. We also provide them with continuing education, including formal and self-directed training. We help them stay current with technology so they can better help you.
Our engineers stay with the company, so that your project benefits from a pre-formed team -- developers who have worked together before, often for years, and can "hit the ground running" on your project. You'll find our pre-formed team concept to be a refreshing change from the "body shops" that bring you teams of fresh meat and consequently require quite a bit of "project ramp-up" time, at best.
Most of our engineers have been developing internet applications since 1995 - the Internet Stone Age of stone knives and bear skins. Our team has years of experience designing and developing scalable client/server and internet N-Tier applications built on the open technologies and TCP/IP protocol suites that run the internet.
What we do…
Why you need it…
How we do it…
illumineX can help you build iPhone applications for internal enterprise use, or for consumer use.