Process & Tools
Dynacron Group constantly investigates new ways to deliver technology solutions better, faster.
We experiment with new tools. We incorporate the ones that work into our streamlined development processes. Simply put, this is the fun part of our job. How can you simplify your environment? Which tools should you use? Ask us.
We don’t define best practices – we demonstrate them, and we can help you drive these results into production. This is our passion.
We iteratively update and help to evolve to the latest industry trends while keeping a pragmatic eye on results (see the organizations that we support, below).
By sharing this contemporary view of software development techniques with our customers, we are able to support them in their adoption or transition to modern market requirements – from mobile and social marketing to internationalization and global real time information delivery.
|Approach||Dynacron Group||Traditional Consulting|
|Extraordinarily high dedication to open communication embedded in everything we do via structured communication processes||Yes||No|
|Focus on long term quality improvements via cloud-scaled test-driven development||Yes||No|
|Portfolio management approach to Agile delivery||Yes||No|
|Pragmatic, cost-effective, highly scalable solutions with stress-free deployment||Yes||No|
|Understanding how to integrate mobile, social media, SEO/SEM, analytics and more with legacy systems||Yes||No|
|Proven experience breaking complex, large-scale migration projects into low risk, early value iterative engagements||Yes||No|
|Experienced mentors with a dedication to paired, hands-on knowledge transfer||Yes||No|
|Extensive experience scaling engagements from small scale assessments to full lifecycle software solutions||Yes||No|
|Focus on long term relationships and collaborative engagements, not change orders||Yes||No|
Lean & Agile
The dictionary definition of agile is:
- quick and well-coordinated in movement; lithe.
- active; lively.
- marked by an ability to think quickly; mentally acute or aware.
Communication & Collaboration
- We meet to discuss the work we are doing every day.
- We meet to reset priorities and confirm things are working every two weeks.
- We pay close attention to issues that may be blocking work at all times.
These practices are based on a combination of Scrum and Kanban project management disciplines.
Continuous Integration & Deployment
- We always are building and testing software, with a particular emphasis on automated tests.
- We leverage industry standard tools for building and testing software, with a particular emphasis on automation.
- We deploy as frequently as possible, as far as possible to ensure the process is always smooth.
- These practices are based on XP, with a particular emphasis on test-driven-development.
Continuous Integration (CI) refers to a development process in which every time a developer makes a change to the code an automated system picks up the change and performs some or all of the following tasks:
- Check out a fresh copy of the code
- Compile the code
- Compile and run automated tests
- Run automated web tests
- Perform static code analysis (automated code review)
- Generate and publish documentation (often including UML class diagrams)
- Deploy the code to a binary repository
- Deploy the code to a test environment
If any of the above fails, notifications are immediately sent to the developer and/or team, letting them know about the problem immediately.
The automation of this process eliminates human error (and also relieves the team of tremendous tedium). We leverage industry standard tools for this process to keep costs reasonable and staff training straight-forward.
By keeping our staff focused on building your application and leveraging automated tools, you can be sure that your goals (such as support for a wide range of browsers) are met in a reasonable, cost-effective way.
Many clients find that moving to a continuous integration environment (including shifting the culture to think along these lines) is a particularly helpful parallel goal for an integrated team.
A Bit More Detail
If you are really into process and tools: we use a combination of Scrum, Kanban and XP for process, and Hudson/Jenkins, TeamCity, or Visual Studio TFS depending on the environment/target platform. On the Java side, we tend to use Maven for our project builds and Ant to help automate deployments. We use JUnit/NUnit for builds and Selenium for web tests.
That’s just the foundations – we are constantly evaluating new tools and systems all the time – for example, Project Sikuli for mobile device (emulator) testing. Solving problems with new tools is a typical subject for a consulting engagement.