Need for speed. Agile development. Iterative. Move quickly. These are all phrases that have come to make me cringe and I haven’t even been in the software development biz for that long (4 years including internships and only 2.5 years in full-time positions). When I hear those words, all I really hear is “we don’t really value making amazing products.
My Experiences in Software Dev
My first experience in the working world with software development was at a large financial company. I wasn’t a part of the development team per se, but I was an Industrial Engineer working with a dev team of 3 to streamline an existing process. The whole thing felt very heavy and I never even saw it to the end. I had moved on before the project was finished.
My next software development experience in the working world was as an Interaction Designer working on multiple development teams, creating reporting software for other businesses. There were certain situations where it felt slow and heavy, but the culture was to move fast and iterate quickly. Looking back at it, my job was to make compromises. Now, I’m not saying that I made the best designs and everyone was trying to hold me back. But, this was generally my flow of work after etablshing a need for work:
1. Generate initial design
2. Make sure feasible
3. Present design
4. Get told it’s good but it’s too hard or will take too long
6. Wait for the devs to build a mediocre experience (not saying that they couldn’t build a better one)
My job title was Interaction Designer. I designed the interactions and the UI. I wasn’t proud of the product. This cycle was crushing to my wet-behind-the-ears enthusiasm for creating amazing products. I slowly became numb to the pain of releasing mediocre products. I stopped outwardly caring (crying) about imperfect experiences. I was basically always disapointed.
Let me caveat this with the fact that I enjoyed working there. It was a great experience and got me up and running in the world of software design.
Third (and current) Experience
After a couple years at my previous position, I moved over to Giftcard Zen as a Product Designer. I don’t wear the interaction designer hat all the time as I also do product strategy and process improvement (reaching back to my Industrial Engineering roots). I am taking a different approach to designing. The farthest I go is sketching. I rarley work in Illustrator. It’s nice to not worry about the nitty gritty details. So, I’m having a little bit different experience even though I’m still in software product development.
What about the big hitters?
What about Google? What about Facebook? What about the other big software companies that make amazing products that I use everyday?
I think about these companies and how iterative they’ve been through their life. These big players have defined a lot of how we use the internet today and they iterated. So why shouldn’t we?
The bar is rising
In the early days of the web, companies could get away with crappy user experiences. Functionality wowed them and the UI just needed to allow them to press the button or enter text in the field. But now, the bar is so high that users will just not put up with anything but the most pleasing interfaces and really overall experiences.
With that being said, when I work with people who want to release mediocre products in the name of agile, I can’t believe it. Sure, the big players started out with crappy designs. But solid design is the standard of today. Software doesn’t have as long a spin up period as it used to. If a user doesn’t like it within moments, they are likely to dismiss it.
When do I get to create a polished product?
This is a serious question. I see all of these amazing products out there that are new. Take Google domains for example. Their first beta was so solid. Sure, they’ve been able to make improvements on it since they released their beta. But, like I said, the Beta release was super solid.
So, with all this being said, how do you guys feel about need for speed, agile development, iterative, move quickly, etc.?