This is one of the most important aspects of software development and sometimes is given the least amount of attention. A good architecture means your developers spend much less time connecting components together and more time on the actual components. It means the inevitable adding of new features and changes down the road will need less effort from your staff, and minimize the impact on the existing system. Time spent creating a quality architecture will pay for itself in savings of time over the project's lifetime.
Developing code is not meant to be a swift process, unless you don't care about the quality of the results. I write my code to be robust, flexible and efficient. I put the same care into the top level architecture as I do in finding spelling mistakes in comments. My designs have fewer bugs, use fewer computer resources and be easier to modify and maintain, all of which will contribute to true lower costs.
This is a service which should be employed by more development teams. My expertise in Perl is best highlighted when I do code review. I analyze your existing code and work with your staff and go over the code base in detail. I show ways to improve efficiency, use better idioms, find bugs, redesign APIs, and much more. This also works in tandem with training to improve the skill levels of your staff.
This is a process where existing systems are incrementally rewritten. Regression tests are written and run against the system after each phase of the refactoring to ensure the system stays stable. Even just the creation of this test suite will be a major benefit to the project and lower the number of bugs seen by the end users.
This is one of the first items cut from development budgets, which is regrettable. Having your staff learn better ways of doing development means less time is spent on fruitless endeavors. It means your staff will have a common knowledge base and they can work better together and not have as much disparity of skills. Training has proven to significantly lower development costs, but is perceived as an immediate cost to cut rather than an investment that saves money over the long run. Here is a good page that covers why training is important.
All software projects need documentation. Writing documentation is a skill in and of itself, and a skill many developers do not master well enough to do it properly. But bringing in technical writers can be problem in and of itself as you have to educate them about the project. I offer technical editing services so you can have your staff write the documentation but then have me come in and review and edit it. I can quickly learn the system from your staff and work with them on improving the documentation. I can clarify the logical descriptions, check for accuracy, improve phrasing, etc. I have been a technical editor of 4 Perl books.
Here is what Peter Scott has to say:
"I acknowledge Uri in my book 'Perl Medic' as having provided the most detailed feedback I had ever seen. His comments based on a tremendous breadth of expertise made the book immeasurably more valuable."
I hope that explains why investing in my services will save you time and money. My work will make your projects be of higher quality and have lower lifetime costs. Feel free to email me (see below) to ask any questions or to propose any projects. You can find my resume in text or in html formats.