Archive | Clients RSS feed for this section

How to embrace the principles of Agile software development

13 Apr

Those who know me well know that I am obsessed with Alexander Hamilton. He’s the founding father you didn’t learn about in US History, mostly because he never became President. You probably know he was killed in a duel with Aaron Burr, you might even recognize him as the dude currently gracing your ten-dollar bill, but you probably don’t know that he was an orphan, an immigrant, and the guy who single-handedly created America’s financial system. (You should also thank him for the Constitution’s ratification – he wrote 51 of the 85 essays that make up the Federalist Papers.)

My obsession with Alexander Hamilton has taught me a number of things – about myself, about my work, and about how to simultaneously serve with humility and fight for what you believe in. More surprising, though, he’s also taught me something about embracing the principles of Agile software development.

 

“A well adjusted person is one who makes the same mistake twice without getting nervous.”

 

Think about that for a minute. It seems to run contrary to everything you were taught in school, doesn’t it? Making a mistake is bad enough, but making the same mistake twice, that’s unforgivable! We think of a mistake as the opposite of a success. We’re wrong.

Our software development delivery process at OST is based on the Agile Manifesto (www.agilemanifesto.org). The Agile Manifesto, and Agile software development in general exposes to us a core concept that iteration is a key to success. Responding to change wins out over following a plan every time.

In software development, this makes sense. Try something. If it doesn’t work, try something else. Do something. If it doesn’t match the user’s expectations, learn from it and do something else. Build something. If it doesn’t satisfy all of your needs, build more. This is how we do what we do. We start somewhere, and then we iterate. We test out ideas and approaches. We validate concepts and database constructs. We build, tear down, and build again. We iterate, iterate, iterate; each generation an improvement on the last.

It’s great! It’s a process that makes great solutions, and a framework that sets projects up to continually improve. At its core, continuous improvement requires that you have room to improve; embraces the notion that there is always opportunity to improve.

In life, though, that’s a hard concept to wrap our heads around. We don’t provide ourselves with a lot of grace to make mistakes. We tend not to look fondly on things that need improvement. And our lexicon is full of really awful words that we toss around at ourselves (and others) when things don’t go as well as we hoped. You failed. You blew it. You screwed up. You made a mess of things. You got it all wrong. You lost sight of the big picture. They’re terrible, soul-crushing words. Defeat. Collapse. Crash. Bomb. Die. They’re all words and phrases we employ to remind ourselves just how awful it is to fail.

Enough already!

Here’s what Alexander Hamilton taught me. It’s not awful to make a mistake. It’s essential. Let me say that again – it’s that important.

Failure is required for success.

It’s a foundational principle in practical Agile software development, and a foundational principle in life.

Fail. Make mistakes.

Then learn from them.

 

Andrew J. Powell Principal- Application Development

Andrew Powell serves the Application Development practice at OST , providing guidance, strategic support, and candy to more than fifty developers and consultants. Andrew has been a technology consultant for more than twenty years. In addition to consulting, Andrew is a frequent public speaker in technology circles, and loves to talk about the coming Robot Apocalypse and how application developers are positioned to defend the world against our future robot overlords. When not cowering in fear, Andrew makes his home in Grand Rapids, Michigan.

How to plan a successful enrollment fair for the adoption of a new technology solution

30 Mar

If you are just joining us, be sure to check out Part 1, “Why hosting an enrollment fair is crucial to the adoption of a new technology solution”.

What goes into planning, executing, and ensuring a successful enrollment fair? There are a few key resources and processes that we need for this.

  1. Location
  2. Equipment
  3. Volunteers
  4. Schedule and Communication
  5. Script, Elevator speech, and tracker

A location must be secured for the enrollment fair. Ideally this is a public area where you can interact freely with your end users. The tables and volunteers should be highly visible.

You’ll need some equipment to make this all work. Obviously, you need tables to work from. Chairs for the volunteers to rest. Banners and signs for way finding. Most importantly you’ll need the proper devices or technology to demonstrate the solution. If the solution requires users to input their data to be enrolled then ensure that the equipment has this capability otherwise you’ll have issues!

Volunteers have to drive this fair. Where do the volunteers come from? The organization itself! As this is a project, most likely, the project team members should volunteer and they should recruit others from their respective teams and departments to help. The executive sponsors of the project would be highly visible and should be encouraged to participate.

You need to develop a schedule for the enrollment fairs that coincides with your go live or deployment schedule. The enrollment fair comes first, then a deployment, then a fair, then another deployment… This plan needs to be communicated clearly and often!

Finally your volunteers need a process to follow. This process may be a simple script, an elevator speech for example. They will also need a way to track who comes to the enrollment fair. This is useful for gauging the impact of the fair and tracking how many people are educated about the technology solution.

If you’ve made it this far you probably have two opinions:

  • “This is a great idea and I agree that we should do this!”
  • “I don’t think this applies to me, this sounds like a lot of work, the end users will adapt anyways.”

If you have the first opinion then congratulations – you get it! You understand the important of connecting with your end users. You understand how critical it is to align with your business and partner for results. If you have the second opinion… I’m sorry but your project may be doomed for failure. However if you do have this second opinion and would like to discuss it more then give me a call – I would be happy to talk about the reasons why this applies to your specific situation and why you need to do this to be successful.

 

Sr. Enterprise Virtualization Consultant

Sr. Enterprise Virtualization Consultant

Richard Maloley is a Senior Consultant within the Enterprise Technology Services group at Open Systems Technologies. In this role Richard focuses on managing large scale transformational projects with a focus on end user computing technologies. Richard has been a consultant for 4 years at OST and worked in-industry prior. With a passion for people Richard approaches customers and projects with a people-first attitude in order to positively change and improve the relationships within an organization.

 

Why hosting an enrollment fair is crucial to the adoption of a new technology solution

23 Mar

What exactly is an enrollment fair? Why do we use them? Why are you reading about this on a technology blog? These are some great questions! Read on to get the answers and more!

Think of an enrollment fair as a type of mini conference booth. In its simplest form, the enrollment fair consists of a table, several laptops, and a friendly face behind the table. We use enrollment fairs to introduce end users to a new technology or process, provide some basic education, and ensure a great first impression for its users. So why are you reading this on this specific blog? Because OST highly recommends the use of these fairs to assist in the deployment of new technology!

Why do we want to have an enrollment fair? To answer that question, we should first diagram the basic steps to implementing and deploying technology within an organization (especially large healthcare or financial service organizations).

enrollment fair1

This may be a simplistic model but it is fairly accurate. In many organizations a problem is identified or the use case for the technology is identified. Then there is an evaluation process of technology providers/vendors to identify which specific solution will be used. Then the chosen solution will be deployed. Finally, the process concludes.

Do you notice anything missing from this model? Hint: Who will use this technology solution?

Answer: The end users!

Where is the user acceptance testing? Where is the information session? Where is training and education? The enrollment fair is a tool to help engage the end users to ensure a successful deployment and adoption of a technology solution.

That is so important that I’m going to repeat it in BOLD:

The Enrollment Fair is a tool to help engage the end users to ensure a successful deployment and adoption of a technology solution.

Stay tuned for part two next week to learn what goes into planning, executing and ensuring a successful enrollment fair.

Sr. Enterprise Virtualization Consultant

Sr. Enterprise Virtualization Consultant

Richard Maloley is a Senior Consultant within the Enterprise Technology Services group at Open Systems Technologies. In this role Richard focuses on managing large scale transformational projects with a focus on end user computing technologies. Richard has been a consultant for 4 years at OST and worked in-industry prior. With a passion for people Richard approaches customers and projects with a people-first attitude in order to positively change and improve the relationships within an organization.

 

 

How Software Developers Learned from the Food Service Industry

2 Mar

We had a kind of odd Leap Day celebration this year at OST – we ran a one-day-only pop-up restaurant from within our headquarters in Grand Rapids. I know what you’re thinking: “Wait, what?” I’ll say it again. We served breakfast and lunch to nearly 80 customers, including a Rice Krispy-crusted French toast, an eggplant, squash and zucchini tower, and perhaps the fanciest lasagna roulades I’ve ever seen.

Why would a technology firm – a company that prides itself in our Design to Datacenter delivery framework – spend the last Monday of the month running a restaurant? It’s a fair question, and something I spent a lot of time thinking about as I stood in our lobby, decked out in my Café OST t-shirt and seating guests and clearing tables.

Here, then, are the three most obvious lessons learned:

We succeed and fail together. Whether you’re taking orders, plating lunches, running food, or clearing tables, you can’t run a restaurant without counting on the rest of the team to support you. What would happen if, every time a customer gave an order to the waiter, your waiter said, “I can’t cook that, so I don’t know what you’re going to get.”

It’s true, though. Your waiter isn’t going to cook your lunch, but they are trusting that the kitchen staff will, and that trust is so strong that they make recommendations, take our orders, and never hint that there is any chance that things won’t go exactly as planned.

Is that dishonest? Is it wrong that I’m confirming details that are outside of my control? Absolutely not. It’s essential to our success. As a team, each of us has unique abilities and responsibilities, and we’re trusting on each member of the team to fulfill their role. The sales team can’t write code, and the delivery team isn’t responsible for selling; but without the two working together, trusting that they can do their jobs, we’d all be out of work. Whether your work is in a restaurant or you’re part of a complex software delivery team, whether you realize it or not, we succeed and fail together.

Details matter. One of our customers today had a silverware roll that was missing a fork. Something as simple as a fork has the ability to define or deny a customer an enjoyable experience. How can I eat a salad – even the best salad in the world – without a fork? I can’t. Paying attention to those details, working to ensure that no detail is overlooked that nothing is taken for granted – that’s the most-basic building block of successful service.

I don’t make forks. I wasn’t even responsible for forks today. I’m not even sure that I know where the forks were kept – but I know that forks matter. And I was on the look-out, every time we reset a table for the rest of the day – to ensure everyone had a fork. We each have our individual roles and responsibilities, but we’re all responsible for quality control. They say the devil is in the details – the details matter, and it’s everyone’s job to keep them in focus if our goal is to deliver quality.

Service is service. Whether you’re waiting tables, baking quiches, or plating lunches, you’re in service. Whether we’re writing code, configuring RAID arrays, updating a virtual environment or providing strategic assessments, you’re in service. Whether we think of it that way or not, we’re a service provider, and our (unspoken) commitment to all of our clients is the exact same in our real lives as it was in Café OST today – to deliver exceptional service.

We have the luxury as consultants to define our customers’ expectations. Then we get the pleasure of delivering on those expectations. That contract defines what we do, and defines everything we do in the service industry. I am proud to have dedicated my life to the service industry, and thankful that I got to spend the day reminding myself of this.

I’m thankful that I work for a company where we’re granted that luxury to learn. There is so much to do, and only so many hours in a month – how great is it to have been given the grace to spend a whole day of that time focusing my energy on the core of what we do?

Here’s my call to action for you: Find the time. Every moment you spend learning is a moment that will reward you tenfold. Every minute you spend exploring why you do what you do is a minute that will color all the minutes that follow it.

Your order is in the window.

Eat up, while the plate’s still hot.

_ _ _

Andrew Powell edited photo

Andrew J Powell, Application Development Principal, OST

Andrew Powell serves the Application Development practice at OST , providing guidance, strategic support, and candy to more than fifty developers and consultants. Andrew has been a technology consultant for more than twenty years. In addition to consulting, Andrew is a frequent public speaker in technology circles, and loves to talk about the coming Robot Apocalypse and how application developers are positioned to defend the world against our future robot overlords. When not cowering in fear, Andrew makes his home in Grand Rapids, Michigan.