Processes & Tools - Improved Productivity

Processes & Tools - Improved Productivity

We have the knowledge and experience to guide a client through the adoption of new development processes or tools. Our expertise includes the full software development lifecycle – from project planning to production support. Quoin focuses on improving individual and team productivity through pragmatic recommendations and adept deployment for a client organization.

Processes & Tools - Improved Productivity

We have the knowledge and experience to guide a client through the adoption of new development processes or tools. Our expertise includes the full software development lifecycle – from project planning to production support. Quoin focuses on improving individual and team productivity through pragmatic recommendations and adept deployment for a client organization.
Languages
Python, Rails, Java, JavaScript, C/C++
Frameworks
Django, Rails, JQuery, HIbernate, Spring
Operating Systems
Linux, AIX, iOS, Android, OSX
Databases
PostgreSQL, MySQL, Mongo
Content Management
Jahia
Development Tools
Eclipse, GIT, JIRA
Methodology
Agile, Scrum, Lean, Continuous Integration, Test-driven Development
Function
Project Planning, Project Management, Requirements Analysis, Architecture, Design, Implementation, Testing, Deployment, Support
Clients & Projects
Pew Research Center, IAC/CollegeHumor.com, Lowe's, Hachette, Cengage, Origene
Engagements
Fixed Effort/Cost, Time & Effort, Consulting
An experienced consultant can work with your team to support improved Development Processes and Tools. We have broad client experience from start-ups working on a minimal viable product to global development organizations focused on robustness and security for a mature system. Quoin understands the importance of tailoring processes and selecting tools that match the specific needs of a client. We apply our experience in the full software development lifecycle – planning, project management, requirements, implementation, testing, release management, and production support. We have the real-world experience of actually delivering software that underpins our consulting on process and tools.

Although Quoin has experience in all aspects of software development, we focus on the functions that often yield the greatest impact on a development organization – agile development, software configuration management, quality assurance, and release management. Our approach to process improvement is based on an assessment of needs and a methodical selection of the right processes and tools. We don't follow a single methodology, and we don't force a tool-centric or inflexible approach on a client.

Agile Development – we are enthusiastic practitioners of agile and lean practices on Quoin and client projects. We use this user-centric approach because of demonstrated results in improved productivity and quality over traditional methodologies. In helping clients adopt agile, our focus is on improving collaboration, communication, and accountability in software development. We understand that agile is not just user stories and stand ups – an effective process has to address management and implementation practices to achieve increased development and team productivity.

Software Configuration Management (SCM) – we use a wide range of tools for day-to-day implementation of work, including coding, debugging, source control, build, and continuous integration tools. We believe that many development organizations ignore the time and effort expended by poor SCM practices. We therefore focus on improving these fundamental processes. For example, a Quoin consultant can help an organization define an effective process for branching, reviewing, merging, and creating a new release. We have seen how improving these practices can save countless hours of engineering effort by reducing the 'waste' of failed releases.

Quality Assurance – Quoin views quality as intrinsic to the full development lifecycle and not a discrete function that can be accomplished after implementation. Thus, our teams apply practices throughout development that yield high quality software; for example, specifying user-acceptance criteria as part of a user story, or writing tests first before implementing any new object or module. Furthermore, we seek to leverage automated testing, including unit- and system-level regression testing. Our consultants can help a client embed these quality practices in requirements analysis, implementation, and testing phases of a project. The figure below shows the testing processes and primary role responsible for each in our comprehensive approach.

Quality Assurance Processes

Figure 1: Quality Assurance Processes

Release Management – our project teams work closely with client staff to build, release to pre-production environments for quality assurance, and release to production. Thus, we understand the process and tools for dev-ops and release management. Our focus here is on using automation for building, testing, and releasing software to improve reliability, eliminate human errors, and ultimately reduce the effort for this critical function.