|
|
Personnel Management
Building
a team is generally time consuming and includes reviewing resumes, coordinating
with recruiters, interviewing and following up with potential candidates.
However, building a team allows you to tailor the personnel to your projects
needs. Some existing teams
work well together, but others may need a
lot of coaching. The goal is to improve an existing teams by rewarding
stellar employees and setting goals for those who need motivation.
Mentoring employees in interpersonal, communication and technical skills
is critical to a well functioning technical team. Also critical is the ability
to communicate and coordinate with other peer and higher level managers.
Program and Project Management
Shipping a product takes a lot of planning, coordination
and communication. Usually some amount of formal process is necessary but
the amount of process needs to be tailored to the scale of the project
collaboration. Product specifications, functional
requirements,
use cases, detailed design and object models, test plans, and documentation
plans
can all be tailored depending on the level of complexity of what is to
be shipped and when. We view program and project management as a focal
point, someone who can coordinate requirements from Marketing, management,
engineering, quality assurance and users then track those requirements
through to the projects end and beyond. It is important to coordinate
end user documentation and quality assurance at early phases of the development
cycle. Tracking and adjusting project time lines is vital, including
incorporating engineering, QA and publications estimates into the master
schedule.
Design and Development
In theory, a linear development life cycle is the most
efficient way of seeing a project from concept to fruition, but in reality,
that almost never happens. Thus it is important to begin by accepting your
software development
will likely be a cyclical process. This is particularly true when human users
are experience the final product. Admittedly, updating design documentation
is time consuming, but it is incredibly useful for new employees
as well as existing employees as they have to return to the development of
a project for subsequent versions.
User Experience
Can engineers really design a product that all types of people, novice to
expert, can successfully use? Quite possibly, if they are guided in using
the right tools and techniques . Contextual Inquiry, participatory design,
low fidelity prototypes, user studies and testing are invaluable for developing
a satisfying (and non frustrating) user experience. Understanding that the
user experience is not limited to how a human interacts with the computer
is also critical. A holistic approach to user experiences also includes documentation,
support and incorporating user defined changes into future versions of the
product.
Creativity
Did you know that programming is really a creative endeavor? Communicating
good technical designs necessitates using diagrams,
sketches,
storyboards.
So a background of artistic
endeavors that includes pottery, metalwork, jewelry, woodworking, landscape
design, mosaics, and knitting certainly doesn't hurt.
Programming
Unlike many developers out there, we're not wedded to any one platform,
operating system or language. Although we have extensive experience on PCs
running Windows and DOS, Java
and C/C++,
we also have experience using Various/*nix, Apple
Macintosh/OSX, DEC/VMS and Sun/OpenWindows platforms. Additionally we
have done significant programming in Ada, Assembly, BASIC, HTML,
Lisp, Modula-2, Perl, Prolog, Self, and Smalltalk. Even if you have a new
and possibly esoteric language and you need some development help? We can
learn it, we
can help.
Mentoring
What good is knowledge if you can't share it? Over 24 years of experience
in computer programming and product development is worth sharing. Helping
friends and family with seemingly small computer issues is one way in which
our knowledge is shared. Another is to be a resource for junior level employees
- teaching and coaching them in programming skills as well as efficient design
work habits.
|