Of all our offerings, the Virtual
Developer™ line of services
are far and away the most popular. Here at
solutions, inc., our core client-base is primarily composed of our
own peers. They tend to be self-selected consumers of what they believe
to be the best software development services available at any cost. The
fact that our solutions are often orders of magnitude more cost-effective than
our competitors is icing on the cake.
Any individual charged with the responsibility of providing solutions to a
fickle and demanding market knows that you must operate at peak efficiency. Any shop can 'put on a show' by demonstrating
how busy their staff can be. But unguided or misdirected activity–no
matter how efficient–is only activity. To attain effective results, you
must know how best to apply your limited resources.
Unfortunately, many of our clients initially
solutions, inc. after their software
development projects have already failed. They have already fallen victim
to unqualified resources (either through the
lure of what turns out to be unrealistically cheap prices, or large-vendor bait
and switch tactics). These opportunities represent our most
difficult assignments. They
are tough projects due to a relative lack of remaining resources; both dollars
and calendar days, and the fact that their failure has already placed extreme
stress on those left behind to clean up the mess. Many times we arrive
immediately after a reorganization–after
'heads have rolled'; these are hostile and stressful environments at best.
Our 'rescue operations' are where
solutions, inc. can almost always
demonstrate the ultimate value of our services.
And yes, some projects are not worth salvaging–we'll
tell you so. Although our
core competencies were forged in these challenging environments, they have
also proven to be exponentially more effective the earlier they are integrated into
any development process.
In a perfect world, we would only take
orders for 'original' work. Based on our established track record, we
could expect to avoid serious problems. But in the real world, we find that
nothing teaches better than failure. In our case, we often find ourselves
in the position of dissecting many of our competitor's failures. What we
have learned over a 20 year span is that the tendency in the software
development community is often to generate feverish activity, while ignoring
where that activity is leading.
solutions, inc. we believe in the
old saying: "work smarter, not harder". We have found a simple truth which
spans all development projects–it
pays to do it right the first time. Unfortunately, the inverse is
also always true–it's expensive to do it over again. How do you insure
against failure the first time? Find the best resources you can, and make
the bold decision that you are not going to be short-sighted. Rely
on your long term view and commit to success from the start.
In a small to medium size
company, this role is typically fulfilled by the 'visionary' at the top.
Unfortunately, the domain expertise possessed by that individual is often
not well communicated to the developers. Do not make the mistake of
believing that your personal knowledge should be automatically obvious to
your development resources. Utilize a true business analyst to
translate your vision into a tangible description that can be shared by all
Once a business has been
analyzed, it usually pays to review it for possible re-engineering.
A talented and experienced business architect can almost always find a more
efficient means of accomplishing the same business goals. More
efficient business processes translate directly into improved financial
performance. Who doesn't want that?
Is your implementation all
that it can be? Is there 'low-hanging fruit', just waiting to be
converted into profits, or used to reduce losses? How can you know?
A qualified system analyst will provide you with the hard facts you need to
make informed decisions that can spell the difference between failure and
If you are starting with a
clean-slate, or you just don't know how to restructure your systems–a
truly talented system architect can lay the foundation for reliable, scalable, and
cost-effective solutions. Chose an amateur, and you will pay
and pay and pay.
Is your data
out-of-control? Can't help but think your most critical information
may become inaccessible due to performance bottlenecks or outright loss?
What direction should you be going in? You cannot know until you have
a trustworthy assessment or what you have. If you are not a database
analyst, you should be careful not to try to perform this complex task on
your own. Someday you may be held accountable for your actions.
Second only to the software
architect, the database architect can make or break a company. Remember,
they design the foundation upon which much of your development resources
will be invested. Done right the first time, you will never know the
pain you avoided. If left to someone less than qualified you may
never recover. Foundations are very difficult to alter without risking
all the structure they support.
This is where most small to
medium size companies seek a 'soup to nuts' solution. They very often
mistake 'cheap' for 'cost effective'. With
solutions, inc. you don't need to cut corners. Use our software
analyst services to dissect your current or proposed solutions. You
might be very surprised at what you uncover–as many of
our competitors are–after
we've performed an audit of their deliveries, which very often don't conform
to the original terms of their contract. Do not mistake a true
software analyst with a 'programmer analyst'; they are not even the
This is the role that
should fit right between system architect and database architect. More
often than not, it's the only function actually performed (if at all).
Although you can stretch your budget by eliminating the other two, don't
even dream of creating or changing software without the aid of a highly
skilled software architect–you
These days, everyone you
meet claims to be a software programmer. Yes, this is the 'grunt' role of
the software development process. But do not mistake the effort
required to 'pound out code' as menial labor. A true software
programmer is not expected to be an engineer; therefore, you must not
try to press one into performing tasks for which they are not qualified.
Unfortunately, most programmers are more than eager to 'take on the world' by branching out into roles they cannot possibly fulfill.
Unguided programmers are a disaster waiting to happen. Most lack the
self-control, let alone an honest perspective of their personal limitations,
to be trusted with anything other than implementation according to
specifications from above (as per 'programming guidelines'–another
often overlooked but critical asset to the programmer). At
solutions, inc. we
almost universally recommend that our clients hire their own programmers so
that they have in-house expertise after we leave and trust our
professional-grade 'programmers' to instill proper discipline and ensure the
adoption of software programming 'best practices'.
When only the best will do,
you need a 'true' software engineer. A true software engineer begins their career in operating systems.
From hardware device drivers to database engines and everything
in-between, a true software engineer has intimate knowledge of–in
addition to direct hands-on experience
with–virtually all core software technology in use today. They
use different tools than programmers, they work on problems that programmers
cannot begin to fathom, they think differently. They are different. A
true software engineer is often the only resource you can find to solve a
problem–hence their value. Unfortunately, most development
projects cannot cost-justify their full-time services. Nor should you hire a
software engineer posing as a software programmer–although
valuable, they will not stay focused on traditional programming tasks.
fulfill this essential need.