Category Archives: Work

First @trekbikes Hackathon

Last night was the first Trek Bikes Software Development Hackathon.

A modest turnout, we had fun. Two teams, we worked on different parts of a revamp of an internal web service we all would like to see work better.

IMG_0158.JPG

One team focused on the front end and API and one team on the data and service bus.

IMG_0151.JPG

Hopefully this is just the start and we do these regularly. We had people from not just IT but other parts of the business as well. Everyone coded, everyone committed to source.

IMG_0153.JPG

Pizza from Sal’s, Good WI Beer, Soda as well. Success. Even Ella came out and did some hacking (on the Surface RT… with Fresh Paint :))

IMG_0156.JPG

 

Like what you see? We are hiring Software Engineers, QA, Analysts, and more!

Transparency in the Workplace: Sharing Your Calendar Details

This is just one more step to being more transparent in the workplace. A few months ago I tweeted this, figured it was time to detail it out

How many times have you went to schedule a meeting with your coworkers, and when you add them to the meeting you see everyone is booked. Sorta like this:

Busy Calendar

 

Now, forget for a minute the top two rows. The first one is mine, and the second is one of my employees.

The others… those are “everyone else”.

One way you can make scheduling meetings a little easier, as well as just be more transparent, is to share more information about your calendar free/busy with your colleagues. Now, I will detail how to do this in Outlook 2013 on Windows and Outlook 2011 on Mac but for previous versions it is pretty similar steps. There is also a way to do this with Google Apps calendar but I am not going to delve into that here (although I have noticed more and more orgs using Google Apps, the majority use Exchange).

There are few things I do, which you may find useful.

  1. My calendar item Subject and Location are open to everyone in my organization to view.
  2. The full details of all meetings are completely open to all my direct reports and everyone below them. I also do the same for some of my key peers as well as my boss, they can see everything.

Now I am sure you are saying “But Steve, what about those few appointments or meetings I want to keep private?” – Well, Microsoft has thought of everything.

3. My private appointments, I mark as private.

So, how do you do all this? Well it is pretty easy.

For Outlook 2013 in Windows, head to your calendar, and you will see it listed on the left hand side, right click->properties, then you see a “Permissions” tab. Click on that and change the default permissions. As for the Mac, it is pretty similar, but in the calendar, right click and the options is “Sharing Permissions”

As you can see, I have “Free/Busy time, subject, location” turned on for the “Default” permissions. For all the people listed, the only difference is they have “Full Details”, which means they can open up a meeting on my calendar and see whatever someone wrote or attached, agenda, etc.

Calendar Sharing

 

Now, to mark a specific calendar item private, just open it, and click the “Private” button.

Mark it private

 

Done. Now when someone adds you to an appointment when they are trying to schedule a meeting, they will see the subject and location. They could ask you “could you move this, or that” or sometimes they will even know what is important by the location/subject and know you could move it or skip it or whatever. Very useful.

Another handy item might be that someone is scheduling you and they see a meeting about a given topic. They might think they should be included and ask you about it, or they might have a colleague or employee they think should be there and they will want to make sure that they are represented, etc.  Now this will make 99% of your co-workers uneasy because they have always been private or hidden – they don’t want anyone knowing what they are doing, etc. I say phooey and work in the open. My opinion is that in an organization, the setting of sharing the location and subject should be set as the default in the Exchange server, not by each employee.

We are all the same team, we should have nothing to hide. And for those doctor or dentist appointments, or seldom top secret meetings, mark it private. It should be the exception though, not the rule.

You can also share your calendar specifically with a coworker and request them to share it back, this is what I started with years ago, but then after a while just opened mine up per the settings above.

So tell me, if you haven’t already shared your calendar with your teammates and coworkers, why not? Trust me, the world will not end, nor will you lose some magical edge you think you have by keeping your calendar private. In the end, opening it up will help your colleagues and show a sense of openness and transparency. Try it!

Career Geek: Leaving Your Job Gracefully

I don’t often blog about non-tech things here, but sometimes I do, and well, it’s my blog so.. yeah. Anyways, I have been in some kind of tech lead or manager position for a while now, and have hired and fired and seen people leave from time to time, so I have some experience, not the most by far, but some, and just want to get this one out here.

Leaving Gracefully. Pretty simple when you think about it. Give your employer ample time and notice (2 weeks seems to be the norm). The other company you are going to or whatever you have planned for your future (retirement?) can wait. You have given the company years of service, and they have given you years of paychecks. It doesn’t hurt to give them as much time needed to transition you off the team.

A few times even recently I have seen people just up and leave, 0 day notice, a few days, etc. That’s just not cool.

Another thing to think of is “what I am responsible for, only me, and how can I get someone else to know where to even start”. Most everyone has something only they work on or know the in’s and out’s of, or where to even start to get some system configured or whatever. Don’t leave without giving someone at least some basic training or documentation.

Try not to burn bridges, you never know when you will need to get back across them.

If you do the right things, you might even get a send off party, so all your colleagues can join in wishing you well.

Everyone moves on sometime, there is no doubt, but if you do it gracefully you will come out in the end as a more likable colleague and even sometime in the future when you might want to come back (you never know, I have seen it happen!) then the company and other people on the team will welcome you back.

Now in some tech companies, they might even ask you to leave right away, and that is ok. No use having someone sit around for 2 weeks, it all depends on the situation, but you should at least offer the 2 weeks, and in some cases even more, 3, 4 weeks, etc.

Like I wrote earlier, the other place can wait. How do I know this? I hire people too. In the grand scheme of things waiting a couple of weeks to get someone on board isn’t going to make a difference. When most tech/software jobs are 2-5 years, waiting 3 weeks isn’t going to kill a project.

Keep in touch with your team, maybe even your manager. In the end, just use common sense when moving on.

VB6 to .NET Migration: Preparation and Migration

In my previous post on this topic, VB6 to .NET Migration: Decision and Analysis, I talked about the decision to migrate instead of rewrite, and also the analysis portion of the project.

Once you are ready to go, what happens? You need to prepare for the migration process. What ArtInSoft needs in Test Cases and Test Scripts so they can run through your application on their end in QA (the VB6 version) and then once they migrate it, run through the same scripts again (once migrated to .NET).

My guess is shops have some kind of test scripts, but nothing too extensive. This is where we were scrambling, we had things all over the place and not very complete test scripts/cases. This ended up biting us in the end as a lot of the app wasn’t covered by test cases so it was hard for ArtInSoft to test and migrate it without tons of exploratory testing.

Since the migration, we have shored up our test scripts and test cases by using a QA firm, Beta Breakers, but that is for another post.

After ArtInSoft gets your test scripts, they run through them and ask any questions, and in the mean time, their dev team is migrating your code and looking for areas they can automated in the migration, that aren’t in the main migration scope of the their migration tool.

ArtInSoft sets up a SharePoint portal for your project so you can share documents and other things, as well as a discussion forum for “technical queries” – or things they want to know on a technical level what they should do during the migration.

As you can guess, many things in .NET aren’t the same as VB6, the way some controls react, etc. They want to know what to do in those cases. Also, you might have some crazy things going on in VB6 that have no direct translation to .NET, so they need to know what to do there, overall though it shouldn’t’ be too bad

Along the migration, you can get the migrated code as they are doing it every once in a while and look at it and get into source control on your end if you’d like. Also, up to to a certain point you can send minor changes to ArtInSoft, so you don’t have a to have a code freeze for the entire migration. Obviously at a given point, you can’t be sending changes, if you have them, you can do a “change control” request, but it is going to cost you, which is expected.

As they work on the migration, you can work on other things on your end, whatever you’d like. Towards the end of the migration (development), you will send 1-2 people down to Costa Rica to help finish the migration and deep dive into testing and development.

The final phase of the of the migration comes when your team becomes the “testing team” and you do User Acceptance Testing (UAT). You have a specified amount of time to test on your end and send bugs back to ArtInSoft. This is a good back and forth for 1-2 months possibly depending on the size of your application. Once you are OK with the code and app, you sign off and the code in your hands. Next up.. your own “fixing” period.

Looking to Hire…

I have been managing two different groups @ Trek -  (Business Intelligence and .NET Software Development) for a while now, and we have some openings we are trying to file, so that is why I am putting this out here.

First role, looking to hire a Microsoft .NET Windows Forms developer, or someone with web experience looking to get into Windows Forms and eventually WPF/Silverlight, and also Windows Services. C# is the language.

Second role, looking for a Microsoft Business Intelligence Developer/DBA – SSAS/SSIS/SSRS, DBA experience preferred. Working on cubes, and ETL’s and reports and DBA stuff.

Shoot me an email at steve_novoselac@trekbikes.com with your resume and info.

Challenges: Stepping Up vs Running Away

Challenges. Every day, everyone faces some kind of challenge. From the most lazy point of view, “Can I get out of bed today”, to “Making it to work on time”, to also “Making sure my children are taking care of”, and “Making sure we have enough money”, and then with work, “Making sure we get this project done on time” to “Making sure we are under budget”, to things you might do in life, “Try to run 5 miles today” and “Do the half marathon” and also things like “Don’t eat the whole carton of ice cream” and “Stop smoking” and the list goes on and on. You get it, there are an infinite number of challenges in life, no matter what you do or who you are.

It is what you do when faced with them that defines you.

What can you do? Well, you can walk (or run) away from challenges. It is the easy thing to do really. Just give up, walk away, go on to something easier, don’t get out of bed, don’t finish that project, light up the cig.

Or, you can step up to the challenge. You can take the mountain of problems facing you (don’t worry – everyone else has their own mountain) and you look at it as opportunity. Start figuring out how to make things easier, change processes, get things done and keep a level head, always looking ahead to the progression of what you are doing and how it will make things easier for yourself going forward.

There aren’t many challenges that can’t be stepped up to, and worked on, and overcome. Ask any survivor, or anyone that was ever told “no, you can’t do that”, or “it can’t be done”.

In the face of hard work and adversity, the people that rise to the challenge to get things done and still handle themselves are the ones that move forward. The ones that run away, sure they will continue on a path, but they missed something. That big mountain of opportunity to take and do something with.

One of my favorite movies is “Prefontaine“. Pre was an awesome runner. In the movie, he wants to run the one mile so bad, it is all he can think about. Being the one mile champion, having the best time, etc etc.

Before season starts, the coach, Bill Bowerman (of Nike fame – played greatly by R. Lee Ermey) – says something like, “Pre, you are never going to be the best miler, but you could OWN the three mile, make it your race“.

Yes, that is the quote. “Make it your race”. Being a huge runner in my heyday, I love that quote. Take your opportunity that is staring you in the face, even though it may be tough, you might not like it or it doesn’t seem like something you want to do, and make it your race. Make it yours. OWN it. Be awesome at it. Show everyone that you can do it, and make a pile of problems into your golden opportunity.

Make it your race.


Agile in Business Intelligence? Of Course!

About 3.5 years ago I was introduced to Agile at the Agile 2006 Conference. After that, and implementing it in a software dev environment, I found that it just works. Sprints, Scrums, Stories, Backlog, Velocity, all the pieces fit and work.

Now that I am managing a Business Intelligence group, which when I started wasn’t doing *anything* as far as a method, I had to ask myself if doing Agile would work (I knew it could, but it is different than software dev in many ways, similar in others).

Back in October, my group went Agile. We set up a board, got some index cards, and just started Agile. A big paradigm shift at work for IT, but we needed to do something.

With Business Intelligence, we really don’t have *code* to work on, but more “objects” (Cubes, Dimensions, Reports, etc). As a team we needed to figure out – what is a story? What is a feature/enhancement/task. What is an epic? How are we going to score things, etc.

The first few sprints (2 week sprints – Wednesday’s to Tuesdays) our velocity was lower and/or we just scored things a little weird. But since then we have learned our “zone” of scoring stories and we got into a groove of releasing our BIG cube every 2 weeks, and releasing the smaller changes when completed.

We do the daily *scrum* for 15 minutes, and track burndown on stories, which lets us make some cool burndown charts that we tack up on our board, and we have some other cool bullet charts to track velocity by sprint, to our original, and final goal, and more.

What has Agile brought our group? Confidence, Stability, Ability to Meet Expectations. Agility. Results. and more..

Do we run into issues yet? Of course. Can we adjust and handle them. You bet! Are we continuously learning and changing our process to make it better? Yep. Always room for improvements.

What else does Agile bring us? Visibility to our customers, and to our peers in IT. Eventually the “BI” stuff should just run, over and over, iteratively.

Trek BI Agile Story Board

Agile isn’t a silver bullet though. It isn’t easy. You still need to work to keep things organized and on track. You have to fight that organizational gravity that sucks teams back in and people in as well, and throws that scope creep back onto stories and projects. You also have to fight to get rid of your technical debt, which depending on how long things have been running before you started even thinking about Agile, might take you a while.

This post is more of a high level “Yes We Can” type post about Agile in BI. I haven’t decided yet, but my guess is I might have some more detailed posts on how I like to run an Agile project, and what we are doing as a team to handle situations that come up, and just how we do things.

In the end though, just remember, have fun!