Ben Northrop

  Decisions and software development
Blog   |   Best Of   |   CV   |   RSS    

Blog

2012   #36 - Usability Testing on Agile Projects (part 2): The second part of the series: how to perform the usability test and then use the results to affect change. (Summa blog)

2011   #35 - Usability Testing on Agile Projects (part 1): Usability testing within agile projects from a project management perspective, describing how to estimate, prioritize, and “burn-down” the usability test. (Summa blog)

   #34 - Getting Past the Deciders: Three tips for avoiding decision fatigue on enterprise software development projects. (5 comments)

   #33 - A Room Full of Techies: Understanding the phenomenon of group polarization in software development. (16 comments)

   #32 - 5 Tips for New Developers: A couple weeks ago, I came across a good post, "lessons for software industry novices", and it inspired me to add a few more just for the hell of it. (1 comments)

   #31 - Modeling Reference Data in the Application Tier: Designing data structures for reference data in the application tier can be tough, mostly because what we mean by "reference data" isn't always consistent. (Summa blog)

   #30 - An Agile Dilemma - How to start the Sprint: Six strategies for jumping into the sprint, and getting started with your tasks. (7 comments)

   #29 - Developers - How do you manage your to-dos?: There are days when my brain is literally over-flowing with things I have to do, and around every corner lies something new. How do you manage it all? (2 comments)

   #28 - A pattern for GWT code splitting: A simple pattern using the GWT 2.1 MVP framework for implementing code splitting for optimization purposes. (Summa blog)

   #27 - Structuring GWT modules for large applications: It's not always clear when designing GWT applications whether one, two, or more modules should be created. (Summa blog)

2010   #26 - Parallel asynchronous calls in GWT: A pattern for making asynchronous calls in parallel using GWT. (Summa blog)

   #25 - Beyond Role-Based Access Control: Most often authorization is managed via simple roles, but seldom does this meet all the requirements of the business. (Summa blog)

   #24 - The Problems of Decentralized Authorization: The status quo for enterprise authorization, decentralization, is fraught with problems. There's a way out though! (Summa blog)

   #23 - An Architect's Morality: What's the best path to good judgement for an architect - via experience or reasoning? (0 comments)

   #22 - Collective Code Ownership and Craftsmanship: Agile methodologies hinge on a model of collective code ownership. But does this allow for craftsmanship or pride of ownership? (0 comments)

   #21 - Keep it Simple!: Cognitive fluency is the theory that things that are easier to think about seem to be more true, intelligent, and likeable. What this means for programmers. (0 comments)

   #20 - Usability, RIA, and GWT - 6 Questions to Ask your Users: Before jumping in and developing applications with GWT, there are a few things you need to know from your users first. (Summa blog)

2009   #19 - Using Code Metrics with Purpose: To glean any strategic benefit, code quality tools must be used with fore-thought. (Summa blog)

   #18 - SOA and Authorization: What's so hard about it anyway?: As usual, the new SOA paradigm adds some new complexity to old problems, like Authorization. (Summa blog)

   #17 - Anchors Away!: How can a developer communicate an honest, but high, estimate to management? Try the concept of an anchor, from behavioral economics. (21 comments)

   #16 - What is 'Good' Software Architecture?: Can "good" architecture be defined in purely pragmatic terms? If the system fulfills the needs of the person or organization who funds its existence, it's successful ipso facto! (7 comments)

   #15 - 6 Tips for Managing Property Files with Spring: Managing property files in an enterprise application is not always as easy as it would seem. (Summa blog)

   #14 - SOA and the N + 1 Selects Problem: The classic N + 1 Selects problem rears its head in the new world of SOA. (Summa blog)

2008   #13 - Building a Better Resume for Developers: The developer resume is broken. It's dense. It's long. It's static. I recently built something better - I hope! (9 comments)

   #12 - The Code Review Potluck: Fagan-style code reviews do work, but seldom do we have the time or discipline to actually do them regularly. There is another way. (4 comments)

   #11 - Does Programming to Interfaces Buy Us Anything?: Most often, coding to interfaces is just dogmatically applied, adding to code bloat and developer frustration and providing very little real value. (21 comments)

   #10 - Deliberative Development: Silo development has it's advantages, namely speed. But political philosophy's Deliberative Democracy has something to say about the negative consequences. (0 comments)

   #9 - 7 Strategies for Unit Testing DAOs and other Database Code: Creating repeatably passing unit tests for an enterprise application is hard work, mostly because of the reliance on volatile data. Here are 7 common approaches for testing database code. (10 comments)

   #8 - Politics and Programming: We as programmers have beliefs about software development. We as citizens have beliefs about government. Is there any connection or correspondance between the two? (0 comments)

   #7 - The Architect's Dilemma: There's a natural tension between the philosophies of up-front design (BDUF) and in-time design (YAGNI). Can decision trees help? (5 comments)

   #6 - Managing Code Quality with PMDReports: Introducing my pet project, PMDReports, for managing code quality. (0 comments)

2007   #5 - Why are our Programming Gods so Unkempt?: Does a theory of finite will-power say anything about our software Gods, or the environment we work within? (2 comments)

   #4 - Is it Irrational to Comment your Code?: We know we should comment code, but will we? Game Theory's Prisoner's Dilemma says, "probably not". (8 comments)

   #3 - Why Code Quality Tools Work: Using rational choice theory to explain why PMD, CheckStyle, and other code quality tools work in the real world. (1 comments)

2006   #2 - Starting a Design Patterns Discussion Group: Once upon a time, I started a design patterns discussion group to slog through that distinguished blue and white book that decorated my bookshelf. Here are my lessons learned. (0 comments)

   #1 - The Search for a Good UML Tool: When we want a UML tool, it's most often to help us either design, understand, or maintain. There are a lot of tools out there, and all are not created equal. (0 comments)




I'm currently living in Pittsburgh, PA, working as a Senior Technical Consultant for Summa, and just finished up my Masters degree in Philosophy. (thesis here!) My blog is mostly on understanding how to better analyze, make, and influence decisions in the world of enterprise software development. Subscribe here or write me at ben_northrop at yahoo dot com.