I am a full-time consultant who is available to engage with clients remotely or onsite anywhere in the world (I currently hold dual-citizenship between Australia and the United States).
To discuss your specific needs, please call me on +1.650.336.5877, or email me at craig@craigsdickson.com, or use this Contact form, or download a copy of my resume from this page.
The following is an overview of the services I provide to clients:
Software Development Process Improvement
- Coaching for Agile process evaluation, adoption or improvement, including Scrum, Lean, Kanban and Extreme Programming (XP)
- Definition, refinement and documentation of team processes and practices
- Definition of Quality Assurance and Quality Control standards
- Integration of defect tracking systems with other tools and processes
- Engagement with customers and requirements elicitation
Software Development Team Management
- Job Description authoring
- Salary range and benefits package definition
- New candidate acquisition and screening
- Team workspace design and office space evaluation
- Skills assessment of existing resources
- Collaboration strategies for teams
Vendor Management
- New vendor discovery and screening
- Vendor proposal reviews
- Offshore vendor management, including onsite visits and reviews
- One throat to choke multiple vendor management
Software Configuration Management (SCM)
- Introduction of an SCM system to teams not already using one (Subversion, Git, CVS etc)
- Subversion and CVS training
- Subversion and CVS server installation and configuration
- SCM process definition and documentation, including branching and merging processes
- SCM system migration, particularly CVS to Subversion
Build Management
- Implementation of Apache Maven and Apache Ant based build systems
- Automation of builds, particularly in relation to a Continuous Integration system like CruiseControl or Hudson
- Management and versioning of produced code artifacts, particularly in relation to an Artifact Repository like Nexus or Artifactory
- Release numbering strategies and Alpha and Beta customer release programs
Software Architecture & Design
- Enterprise-level system architecture definition, existing architecture reviews
- New database design and existing database design review
- Formal UML based architecture definition
Enterprise Java Development
- Specialist in full-stack JavaEE development
- Public API design and documentation for ISVs
- Web service development and integration
- Code reviews and performance tuning
- Service Oriented Architecture (SOA) design and implementation
Web Development
- HTML, JavaScript and CSS development
- Integration of AJAX style JavaScript libraries including GWT, JQuery and ExtJS
- Integration of Adobe Flash and Flex components
Automated Testing Strategies
- Introduction of tools like JUnit and Sellenium to teams that currently do not do any automated testing
- Integration of tests into automated build scripts and generation of metrics
- Static analysis of codebase quality
Mobile Development
- iPhone application design and development, specializing in integration to JavaEE based back ends
- Web based mobile development
Social Media Strategy
- Specializing in small to medium business that do not have dedicated in house Social Media resources
- Evaluation of current Social Media presence
- Recommendations for Social Media platforms based on particular business needs and goals
- Evaluation of Location based services in relation to business needs and goals
Once again, to discuss your needs and to find out how I can help you, please contact me by phone on +1.650.336.5877, by email at craig@craigsdickson.com, or simply use this Contact form. If you would like more detailed information regarding my experience and qualifications, you can download a current copy of my professional resume from this page.
In Part 1 of this series I described the characteristics that make up a good Automated Test. Here in Part 2 of this series I will explore all of the benefits you will enjoy by creating those good tests and why the time spent on making good tests is a no-brainer investment.
Continue reading »
The adoption of Automated Testing strategies and tools, both in Agile and traditional teams, has been patchy – some teams and communities have embraced it, but many organizations still perceive it as a burden that just slows down development. Those that see the writing and execution of tests as an additional, costly and separate task from development have missed seeing some of the main benefits of an expertly manicured test suite.
Continue reading »
In the Pig and Chicken analogy for Scrum participants (Jeff Sutherland explains Pigs & Chickens), the Pig is the one who is required to make the biggest commitment and put his proverbial skin in the game. For the Pig, it is an all or nothing proposition. They either meet their commitment or they do not, there is no gray area. However, many teams fail to get this level of commitment from their Pigs, or don’t even ask for it in the first place. This is the genesis of the Outlier Pig.
Continue reading »
I’ve heard it said that the difference between useful software and worthless crap is that people build useful software for themselves, and build worthless crap for other people to use.
“Uncle” Bob Martin
Java Dates
Programmers are responsible for software quality – quality in their own work, quality in the products that incorporate their work, and quality at the interfaces between components. Quality has never been and will never be tested in. The responsibility is both moral and professional.
Boris Beizer
(from Software Testing Techniques, Chapter 13)
“Good enough†software is rarely good enough. It is a sad manifestation of the spirit of modern times, in which an individual’s pride in his or her work has become rare.
Niklaus Wirth
(From an interview in Software Development, June 1997)
In a previous post (Apple MacBook Pro Memory Upgrade) I detailed the reasoning behind choosing to perform some upgrades on the MacBook Pros in my family instead of buying new ones. In this post I will go over the process needed to upgrade the hard drives to give us a little more room to move for the next couple of years and hopefully some performance improvements as well.
Continue reading »
Just received this email from the Zembly team at Sun. They don’t specifically point the finger at Oracle, but it doesn’t take a genius to join these dots.
We regret to inform you that on November 30th, 2009 we will be suspending the zembly service.
More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was “Build the web, using the web,” and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new.
We learned a lot along the way. Your confidence and enthusiasm helped us improve the project and do amazing things that we never imagined when we began this journey.
Thank you to everyone who’s been with us through the ups and downs. It’s heartening to see that many of the best ideas pioneered in zembly have started to appear elsewhere. With your support, we’re proud to have contributed to the DNA of the Web.
For more information about the zembly suspension, please refer to the FAQ section at http://zembly.com
Finally, if you have questions, please contact us at zembly-support@sun.com
All the best,
– The zembly team
Sun Microsystems, Inc.
4150 Network Circle
Santa Clara, CA 95054
Click here to unsubscribe
A colleague of mine forwarded an article to me during this last week, which he prefaced with the following statement …
guys, I’ll write it in all caps and bold:
I AM NOT PROMOTING OR IN AGREEMENT OF ANY OF THE POINTS THE ARTICLE MAKES.
… which begs the question, why did he send it not only to me, but an entire team of people? I choose to believe it was because he is an enlightened soul that understands that the best way to reinforce your own beliefs is to read more of the opposing point of view, not more of the view you already have. I am lucky to have a few of these souls working for me right now.
Continue reading »