Custom Software Development: The Partnership Model
Custom applications yield the greatest return when built by developers who are accountable to the customer and clearly understand their clients’ business requirements. In our experience, the most successful custom development projects are those built with significant contributions from our clients’ in-house experts.
KSM embraces a partnership model of custom software development. Our clients’ in-house staff work alongside our consultants to deliver robust, usable software in the minimum amount of time. Our consultants serve as mentors to client staff, equipping them with the technical expertise to both develop the software themselves and to maintain it for its entire life expectancy. Our clients benefit from our significant practical experience building cutting-edge solutions and from our command of best practices in software development. The solution reflects the intimate knowledge of specific application requirements that only dedicated in-house resources can provide.
We follow a lightweight methodology based on XP and Scrum in the execution of all custom software development. We aim to maximize developer productivity without sacrificing project manageability. Our methodology is flexible, allowing us to map deliverables onto those prescribed by our clients’ internal SDLCs to meet their software validation and quality assurance requirements.
- Collaboration: client staff are an integral part of the team
- Communication: fast, efficient daily Scrum meetings are the progress heartbeat
- Small teams: no more than ten developers, preferably seven or fewer
- Cross-functional teams: no rigid roles; all members can analyze, implement, test, and document
- Iterative development: releases organized into one month “sprints”
- Iterative deployment: to production whenever possible
- Infrastructure: hosted and virtualized servers and templates for backlog management, version control, configuration management, test execution, and continuous integration
- Improved knowledge transfer, because client staff are involved in development
- Increased user buy-in and functional fitness, because client staff guide the requirements
- Faster project startup and flash to bang, thanks to hosted and virtualized infrastructure
- Better management optics from burn-down reports, updated and posted daily
- Faster time-to-market for highest-value features
- Less coordination overhead thanks to smaller, cross-functional teams
- More agility in dealing with the inevitable roadblocks, thanks to daily Scrum meetings