|
Timpani Software offers a range of services specifically targeted towards
software development teams. We are software developers ourselves, and
intimately understand the needs of software development teams.
Our practice revolves around two main areas of focus: helping software teams
become more agile and adopt agile software practices, and second, providing
the supporting infrastructure around a core software team by offering outsourcing
solutions for testing, documentation development, graphical design needs, and
application deployment.
Consulting for Agile Software Development Teams
If you're transitioning to agile practices, one area of focus needs
to be setting up a fully automated build management system, complete
with continuous integration. Continuous integration will allow the team
to work more iteratively and communicate more effectively.
If you're still building your software via completely manual processes,
we can develop your automated build scripts for you and implement them
within a comprehensive continuous integration system. If you already
automated build scripts, we can review what you have in place and make
recommendations for how to improve them. Perhaps not all aspects of your
build are fully automated. We can take what you've done and move it to
the next level. Or we can recommend ways to accelerate the build process.
Using distributed build techniques, for example, we can greatly shorten the
time it takes to create a full build of the software.
Unit testing as a part of your overall testing strategy is recommended
on agile software teams. Whether you're already utilizing unit tests or
not, we can analyze your project and make recommendations for getting the
most out of your unit test practices.
We can also analyze your unit test practices in view of your overall
software testing strategy, and help you decide which areas of the code
are best tested using unit tests, and which areas will be more effectively
tested using other testing methods.
All of the software teams we've talked to agree that unit testing
is valuable and can benefit their software project. The problem
comes in the implementation of unit tests. While some people feel
that the ideal situation is for each engineer should write their own
unit tests for their own code, this is not always practical or effective.
Most project leaders feel that their project is already under-staffed,
and the extra time and effort to develop unit tests just isn't in the
schedule.
We feel that writing unit tests is a specialized skill that can be done
more efficiently by engineers that are dedicated to it. By offering unit
test development services, we can complement the efforts of our clients
and allow them to achieve their software quality objectives.
For traditional software projects that are transitioning to agile development,
there may be a great deal of existing code for which there are no unit tests
at all. We can assist by "back filling" older code with unit tests, making
it possible for the project to move forward with agility.
|
Outsourced Solutions for Software Development Teams
While we encourage our clients to adopt unit testing practices, we
recognize that unit testing alone is insufficient to fully test an
application. We offer software testing services ranging from integration
testing, acceptance testing, automated user interface testing, and
load testing. We start by reviewing your current software testing
strategy, and then help you transition to a more automated, more
maintainable software testing workflow.
If you have existing manual test procedures, we can review those and
make recommendations on which areas can be most readily automated.
We believe the key to software testing is finding the right balance
of procedures that allow the software to be tested in the most efficient
manner.
Most software projects require some type of end user documentation.
For this reason, we offer technical writing services to our clients.
We can author in numerous documentation environments, include FrameMaker,
Microsoft Word, and also XML environments such as DocBook or DITA.
We encourage our clients to consider single-source XML documentation
solutions, because we believe it offers numerous benefits over other
technologies, and gives software development teams a great deal of
flexibility in managing their documentation source. We also offer
conversion services for clients that need assistance in transitioning
their existing documentation to XML.
We believe the documentation production process should be incorporated
as an integral part of the software build process. We assist clients
in incorporating documentation production into their build management
system.
Once you write your application, you need to deliver it to your users. If you ship the software to your users, then you'll most likely need some type of installation program. This is usually done with technologies such as InstallShield or InstallAnywhere. We can develop your installation programs for your project.
If your software is delivered via an ASP or web services model, you may not need an installation program per se, but you will still need to develop a deployment process into your overall software development workflow. For example, you may want one or more projects in your build management system that deploy your software to staging or production servers.
In addition, you may need to incorporate auto updating and licensing services into your application. You may want to utilize technologies such as Windows Background Intelligent Transfer Service (BITS) or ClickOne to push updates out to your users. We can assist in these areas as well.
|
|