About the Author

Tim Broyles

Tim is a Software Consultant with Keyhole. A skilled software engineer with 21+ years experience, Tim’s expertise lies in Software Development, Applications Software, Data Analysis and Synthesis, Embedded Systems, and Project Management.

Agile Perspective

Tim Broyles Agile, Dev Methodologies 1 Comment

You may think of Agile as just another process. While this is incorrect (as it is a framework created to help developers create processes), there is a fundamental difference between this methodology and most methodologies that have come before.

Agile–done the way it was intended–is revolutionary. Fundamentally, Agile is an advocate of a bottom-up development process. I believe this is why it is often proposed with good intention, however then implemented with a top-down, fixed idea of what the Agile team (and hence the process) will be like.

If you take time to read the Agile Manifesto you will read statements like: ”The best architectures, requirements, and designs emerge from self-organizing teams.” Just consider that for a second. The team has the power to keep what works and dispose of what does not.

There are some basic concepts that allow Agile development to be successful. In this post, I highlight the key parts of Agile that appeal to me (as a reluctant process advocate) and have enabled successful Agile development in recent projects…

The Executable Code Review

Tim Broyles Programming, Testing Leave a Comment

Testing has a bad rap. The thought of writing unit tests to exercise code with the goal of 100% code coverage can be overwhelming for many projects. The number of man-hours to set up tests, create mocks when needed, test boundary conditions, contrive odd ball test cases can take some steam out of the project. If this is the definition of test, then yes, writing these types of tests can be tedious and feel meaningless.

I am a proponent of writing tests with a narrow focus. The tests I describe here show the completion of a story or the resolution of a bug. With this narrowness in mind, the task is much less daunting. My goal now is not about code coverage, but more about quality code. With this test, I want to be able to demonstrate to myself (and to whoever is reviewing my changes), that I have successfully resolved my task.

In this blog I will talk about my suggestions for writing meaningful tests in the context of a code review.

Working with Salesforce Content in APEX

Tim Broyles Development Technology, Tutorial 5 Comments

As you know, if you are an APEX developer, having direct access to content via ContentDocument or ContentVersion in a related list or a ‘Lookup Relationship’ is not possible in the current version of Salesforce (Winter ’14). Nevertheless, there are projects that need to expose content in a Web Service, or a visual force page to provide access to the …

Programmers and the Amazon Have This in Common

Tim Broyles Programming 1 Comment

Have you ever been stuck on a problem, some seemingly un-explainable production malfunction in the code? You’ve stepped though it with the debugger, run enumerable test scenarios trying to simulate what the user is doing, but still the issue remains? Likely so. What can you do? My suggestion: take a walk! Like a silver bullet in the heart of a werewolf (okay, …