Post written by Joseph Davis, Web Application Developer at AdventureTech, AKA "The New Guy"

I first came in contact with AdventureTech in September of 2011.  A good friend of mine, Donald Rossberg, had been attending a local business networking event where he met and became acquainted with Brett Gibson, one of the owners of AdventureTech, who was also attending the event. When Donald found out I was passively seeking a new opportunity he arranged a lunch meeting for the three of us so I could meet Brett.

Brett was a very talkative and friendly fellow. One thing that immediately stood out to me in his conversation was his deep interest and understanding of agile development principles. I could tell from the depth of examples he spoke of that, to him and to AdventureTech, “agile” wasn’t just some buzz word they adopted for a season. Instead, it was something they had successfully implemented, that they believed deeply in, and that they had enhanced through multiple experiences with clients.

Some time later I ended up in another lunch meeting, this time with several of AdventureTech’s developers, including Phil Ledgerwood, Troy Tuttle, Lee Brandt, and Brian Moon.  I was prepared for a technical drilling as is common with many panel interviews I’ve been through in the past. Instead it seemed they were more interested in telling me about themselves as a company, what they were all working on and what tools they were using in their various projects.  

They spoke of Inversion of control containers, object-relational mapping tools, test driven development, and other design and development patterns. Many of these were tools and practices that I had read about and of which I had a fair level of theoretical understanding but had not had the opportunity to put into practice in a professional work environment. The prospect of doing so was very appealing to me.

Until just recently, the team of developers at AdventureTech was composed entirely of very experienced senior level developers, many of whom are involved in the community and give talks at development conferences. Such was their culture and the nature of their team.  Now they have begun bringing on some younger developers with the intent of molding the next generation of senior level industry leaders in Kansas City.  

They aren’t looking for developers who already know it all, but instead they want people with an aptitude and thirst for learning along with good communication skills. One thing I heard a number of times during the interview process was: “How to write good code? That’s easy to teach.  How to teach a person to have good communication skills… that’s something they should have learned in kindergarten."

I’ve been with the team for about a month now and am pleased to report that it is turning out to be everything I was hoping for.  Many of the other guys on the team have titles on their business cards like “Software Practice Coach”, “Software Process Coach”, and “Developer Mentor”.  I find myself in a place where learning is fostered and supported, and I’m picking up many new things each day.  I feel empowered in this environment to be the best I can be and I’m very excited about the future of my career.

In addition to fostering learning and encouraging the use of new tools and technologies, AdventureTech also strives to create a compelling work environment and benefits package that will draw the best developers around. Apart from very competitive compensation and medical benefits, AdventureTech also provides an education and equipment budget so developers can stay sharp, and an extremely generous amount of Paid Time Off that I have only seen matched by some companies for their employees with decades of tenure.

Although I’m still fairly young in my career, I have been through several jobs looking for a place that had everything I was looking for.  I’ve finally found that place and I’m proud to be a team member at AdventureTech.

Did you like this? Share it:

So, your boss is expecting an 8 hour day of constant productivity on a given project. He or she has planned on that code jockeying to meet a an agreed upon mythical deadline.  Your actual day, however, looks dramatically different than what you or your boss expected

8:00am:    Phone rings – You’re asked to help a new employee who doesn’t understand the system you were part of implementing a year ago. You take an hour and a half to help out because a departmental manager who believes training is “an IT thing,” has conveniently passed the buck and absolved himself/herself of the responsibility.

9:30am:    You get a coffee break and vent to a coworker that training was not part of why you signed up. Your manager has seen and condoned this 1.5 hours, but still expects you to commit to the "deadline".

10:00am: You get an email that a self-important departmental manager would like changes to an existing system. He has escalated it to all departmental heads because the competition is doing it and it’s the latest priority #1. He is a predictable squeaky wheel, but he generates fear so well that IT is forced to drop everything and respond.

10:01am: You check in with your boss, and indeed, find out that this has been deemed “an emergency.” You both question the need for a steering committee governing best business interests, but realize that the company should have the ability to change its mind… And they do – often.

10:15am: You both hurry to meet the departmental head to understand this dangerous threat to the stability of the company and experience a venting session about how your software is non-competitive. The specifics are short, but the emotions are high, and IT is to blame for a sudden marketplace inequity.

11:00am: You decompress with your boss and attempt a course correction to help out Mr. Needy and his attempts to sully the credibility of the IT department.

11:30am: You’re still in the dark as to what the specifics of marketplace advantage translates to, so you go to lunch and spend an entire personal hour discussing and interpreting his needs while two tables over, he has a relaxed meal with the competition.

12:30pm: You check email and find there’s another departmental head with an operational crisis. It turns out to be something that’s happened repeatedly before, but your past help hadn’t championed any advocates – it had only created a technology (help-desk) dependency situation. You help the user find the ALT key, resize a window and listen to them talk for an hour about their fear of pressing the wrong button.

1:30pm:   You try to redress where your day has gone and what project it started out being. You start getting back to the project that you’re meant to be working on. You view the code, attempt to assimilate it back into to your memory and get on track. The conflicting needs of departmental heads predominate your thoughts and concentration and effort seems a joke if your priorities are forced to change tomorrow.

2:00pm:   You start to question your priorities with your manager. Your manager attempts to run interference but is conflicted by whose political needs will help his own cause. Everything seems to be Priority #1. There seems to be no visibility to the department or company on your ever-changing work schedule.

2:30pm:    Things go quiet for a while as if the drama might pass and tomorrow might be a set of new priorities. You feel like a pawn in a game with an allegiance to a department rather than a company. Because no new priorities have actually been set, you go back to your scheduled development work with a tinge of guilt because you’ve not really received any true guidance and instead, feel like you should be providing some.

3:30pm:   You get back to the code you were meant to start at 8am this morning.

5:00pm    Your boss stops by to ask about the progress of “the project”. He reminds you of "the deadline" while your mind wanders more consciously where your subconcious has been all day…..thinking about finding a new job. 

At the end of your 8-hour day, you’ve lost 6.5 hours against that project “deadline” (not including your personal lunch time) and are still expected to deliver a miracle. You wonder how tomorrow will look. You know it’s not predictable, and you know that the work you did today will not be accounted  for against the project. It will become invisible to your boss, the department and the company.

All they will see is the looming mythical deadline…and a false perception of IT incompetence. 

Did you like this? Share it:

Post written by Brett Gibson, Owner at AdventureTech 

We like to educate. In fact, we even have a board game we use frequently to help clients visualize workflow and facilitate collaborative systems thinking.

We recently introduced this game (created by a fellow New Zealander, Heaven forbid) to a selected group of cross-functional internal change agents.

They seemed extremely engaged and excited by the benefits of Kanban and receptive to the collaborative approach required by each other’s input.

It was a great session on software delivery, where the players identified bottlenecks in process from a full systems picture. Amongst other things, we discovered that optimizing one functional area did not ensure better throughput of software.

Important lessons and great stuff if you’re in to that sort of thing. We are, and so too was this group.

Here’s something interesting, however: In order to represent the productivity of a developer in this game, dice are rolled…

This is always an interesting conversation topic and uncovers a host of questions like the ones below. Take a look and let us know what you think: 

1. Is it realistic to portray developer productivity this way, on the randomness of a 1-6 scale?

2. Is the daily life of a developer really that unpredictable?

3. If it is, then what does that mean for project planning and estimations?

4. When you ask a developer how long something might take, how do you account for interruptions, daily “emergencies”, or the business demands for their knowledge? What’s your “padding” for those factors against that guesswork – surely padding itself is guesswork game too? Now your project planning is nothing more than a game of predicting padding on top of other guesswork.

5. Can you really keep a developer in a productivity bubble away from the demands of the daily operation of a company? Does that solve any problem, create more or just move the problem to others?

6. If the daily life of a developer is NOT predictable, then doesn’t that make the guarantee of an estimate null and void? 

Did you like this? Share it:

Post written by Brett Gibson, Owner and Vice President of Business Development at AdventureTech

Deadline: Originally a Civil War term for a line that marked the distance a prisoner could go before being shot on sight. (source: http://www.thefreedictionary.com/deadline)

When I see an employee who is asked to guess on a timeframe, be held accountable for such random number theory, and then forcibly held accountable to that speculation – I become concerned.

When I hear an IT department say, "We need to identify these timeframes so we know how much overtime we'll have to put in to make our deadline"  -  I positively cringe.

Many companies still have an unhealthy "adrenalin-junkie" addiction to deadlines because they confuse them with results. The truth is, and what many companies repeatedly fail to understand, is that they are actually incurring larger costs in the form of waste, technical debt, staff turnover, disengaged employees, and eroded company culture.

As this self-induced erosion occurs, these companies get a reputation in the community as a place to avoid, both from consumers and job seekers.  

This tired practice of using wartime models for peacetime business practices is both misplaced and corrosive. Comparing workers to soldiers, projects to D-Day beach landings, and acceptable losses/collateral damage to the greater cause……all of this modern day nonsense eventually erodes the very business continuity and productivity gains they were trying to obtain in the first place!

 

If the goal is productivity – deadlines will guarantee the opposite. Forcing your staff to meet arbitrary timelines doesn’t build morale; instead it builds an unhealthy camaraderie of mutual hatred, resentment and distrust toward management.

Steady, predictable output, determined from actual metrics, gets you there – and more accurately. Agile principles, when applied correctly, have the ability to turn the tide of the deadline culture while simultaneously creating better work environments.

What company in their right mind WOULDN'T want that?

This year, why not change the way you've always done things? Let your employees enjoy the holidays without the threat of looming deadlines born out of someone’s need for their bonus or misplaced desire for a neatly packaged project completed at year end.

The deadline isn't what's most important.

Did you like this? Share it:

These days a lot of companies seemed to be interested in either adopting agile or trying agile in a sandbox. If the underlying reason for this interest is misplaced then this is actually not a good thing. If you are testing the waters with agile because you are not happy with your process heavy methodolgy then you can find success, however if you are happy with that methodolgy and are just wanting to just do a clean swap with the newest trend then you need to just stop right now.

Approaching things in an agile and lean manner is a philosophy, and as such it's not something you do only while at work or even during a certain project. Some people will always run and be comfortable with a waterfall project because that is their internal process. 

Planning

If you are an inherent 'planner' then being agile to you will feel very chaotic and out of control, however it is mearly about only planning as much as necessary and delaying decisions until the last possible responsible moment.

You might be a waterfall-ist if:

  • When planning a family vacation are you the type that planned on Thursday 4 days from now at 1:15PM you will be stopping by the worlds largest Starship Enterprise?
  • Instead of going to the grocery store every 2 or 3 days to food for what you feel like at the time or do you buy 10 lbs of beef at a time from Costco and commit yourself to eating it all that week even if you find out Wednesday that all beef was a bad choice?

 

Being agile is not making so many plans that you are heavly invested in them not changing, instead you should be able to switch directions quickly enough to respond to changes or unforeseen obstacles. As valiant as it seems sticking to your orginal plans no matter the developments along the way, it is actually not good decision making. Unless your filming National Lampoon's Business Vacation, then you can go crazy Clark.

 

Constraints

Another attribute is how do you handle failures or other undesired results. If you have seen huge process maps with seemingly endless hoops to jump through to get work done, its most likely the result of over compensation for failures. Everytime something has gone wrong in your process, it is not an immediate invitation for extra constraints, contstraints in a process should exist to provide benefits not to just stifle flow. Sometimes the cost of a failure is less than the cost of the constraint, in which case it makes more sense only to work on lessening the impact than to implement a prevention constraint. If you don't know the cost of the failure or the constraint then it's irresponsible to implement one.

To put this into everyday perspective… car wrecks happen everyday and people get seriously injured and even killed. This is obviously a very bad result that can be solved by constraining car speed to 5mph. While this will work the cost of this constraint is quite massive and not ultimately beneficial. A better solution than simply slowing traffic to a crawl would be to develop smarter and safer cars to make wrecks less dangerous.

So before you go out and try to do an agile implementation do you think you have the mindset for it?

Did you like this? Share it:

Connect With Us

     

Contact Us

Toll Free: (888) 373-8718
Main: (913) 402-9600
Fax: (913) 402-9603
7450 W. 130th Street
Suite 320
Overland Park, KS 66213

Upcoming events

There are currently no upcoming events.

Recent tweets