I am a Canadian software contractor who has been asked to quote on a 6-8 month project to upgrade and substantially rewrite a popular real time website tracking and chat application that I wrote in 2006. I’m currently occupied with a number of other ventures, and would like to outsource the bulk of this work to a team provided by a third party company.
The requirements for the project are still being finalized, but at this time it looks like it would be between 6 and 8 months of work for a team of 2-3 software developers and possibly 1 QA developer. I expect to have preliminary requirements prepared in the next 2 weeks and a finalized statement of work within a month. UI wireframes and designs will be provided.
At a high level, the application will integrate with 3rd party websites via an embed script that connects to a SignalR or similar server application for real time communication. Agents using the software can see individual users on the site and engage them in real time text, audio or video chat. Visitors to the site can also initiate chats with Agents. The system needs to be functional and attractive on most common devices and browsers, including mobile phones. The system will integrate tightly with Google Analytics to link browsing activity with chat activity, conversion rates and provide reporting within the app. Eventually the application will need to be skinnable (both with a simple GUI and custom CSS), and a desktop version of the web based Agent application will be needed, although these points may be outside the scope of this project.
The legacy application is still working and has most of these features, but uses Adobe Flash for the user interface and is no longer functional on most mobile devices. It also handles its own traffic reporting, which has fallen behind what Google Analytics is able to provide. The client wants the application to be functional and futureproof.
Here’s what I’d need from this team:
- Strong technical knowledge in:
o Google Analytics
o Responsive web design (eg: web applications that can resize intelligently for mobile devices)
- Some technical knowledge in:
o Integration with popular CMS systems such as Wordpress, Joomla etc
- Comfortable with agile development (Scrum preferred), which for this project would mean:
o Biweekly sprints, with features broken into user stories and committed to for that sprint
o Daily stand up meetings (10 minutes or less)
o All code must meet a strong “definition of done”, which sets standards for code quality and unit testing
o Peer review (eg: all code must be reviewed by another developer to ensure it meets the definition of done)
o Completed stories must be approved by product owner and QA before being inserted into main branch
o Developers write unit test suites for their own code (100% code coverage not required, but major functionality points should be tested)
o Feature branch development using Git, with automated deployments of the current development snapshot to a testing server
- Strong software design skills and attention to detail
- Available for video conferencing between 8:00 PM and 10:00 PM Pacific Standard Time, 5 days per week
- Good written and spoken English skills
The QA developer would be responsible for creating an automated test suite for the product, setting up automated deployment scripts and the build server, and managing releases, both the daily build and biweekly releases.
I’m open for discussion on all of the above points, this is the development environment I’m most comfortable with but we can adapt the process to fit what works best for everyone. I’d prefer a team that is collocated so they can work together and discuss the project easily, but am open to other arrangements.
My role in this project would be as product owner and architect. At the beginning of the project I’ll contribute some code and collaborate with developers to help get things moving, but as the project moves forward and the team becomes more comfortable with the domain I’ll step back and let them take the lead. Throughout the project I’ll be reviewing all code that is written and communicating frequently with the team to help guide the project. I’ve got high standards, but I’m not a jerk and I’m not hard to deal with. :)
I prefer developers who work smart over developers who work hard, and will build into the contract bonuses for meeting objectives ahead of schedule.
If this project seems like something your company would be interested in, please email back some information about your team and rates and we can discuss further.