Software Development
Do you start off by creating a wireframe and then make iterations until you're happy and then develop code?
7
Answers
In order to succeed, we must evolve
Solidify your idea by making sure that there is a market there. That means putting everything into a presentation, similarly to create a Product specific business plan. Speak with your tech team to decide upon technologies and commercial of the shelf software licenses, including hosting. Design a SIMPLE and good looking UI/UX and apply standard software methodologies such as SCRUM from development, Monitor progress and milestones. Most importantly target on "small" and doable product feature. One by one start adding. Place your product in the market and test-bed it fr FREE. Evolve and change features and functionalities.
Remember Marketing is NOT everything ... but it is!
Answered over 9 years ago
Expert in location independence/work-life balance.
Assuming you've already tested the validity of your idea, and you have a small team and little budget, here's how I've approached that challenge in the past:
Plan. Plan until there's zero mystery left.
Abraham Lincoln has a famous quote about planning, which I'll paraphrase: give me 6 hours to cut down a tree, and I'll spend the first 4 sharpening my ax.
I would start with a simple flow. From the home screen, where can the user go? What do they tap to get there? Is there a loading screen?
Plan the entire sequence, which gives you an idea of every view, transition, and UI component needed to make the app run. This avoids surprises later in the process.
I usually use a mind map for this, because it's quick and simple to build using an online tool.
Next, make a "paper prototype": with no design, start laying out each view and transition. Focus on getting the navigation into the right places, making sure next actions are clear, and ensuring that placement is consistent throughout the experience.
You're not looking to make it pretty here. Use a shitty font (like Comic Sans) and boxes with Xs in them to visually enforce that you're NOT designing; you're laying out.
After the wires are ready, plug them together in a user flow. A service like InVision is good for this, because you can make your wires clickable.
Use this to do basic user testing. Can a user find their way to each action they need to take? Do they have trouble using the UI? Where do they get stuck?
Iterate through wires until you're confident the UI is good and no necessary actions are missing.
Design comes next. You're all set with function, so you can focus on form now.
With a design completed, develop the software to power it all.
If your planning was effective enough, you'll feel like all the other phases were too easy — that's the sign of a very sharp ax.
I'd be happy to help you with planning if you're not sure where to start. I also have an article on planning, if you're looking for a starting place: http://lengstorf.com/effective-project-planning/
Good luck!
Answered over 9 years ago
CEO at Proposify
It's a big question, but I'll try to answer it as succinctly as possible. As someone who has been a UI/UX designer building other people's software and now CEO of my own SaaS company, I've learned over the years that it is never a straightforward, linear process, but do the following:
1. Once you have your basic idea, start by doing a lot of research into your target customer and competitive analysis, to really understand where your app fits in the market. Ideally you want to have at least a couple other similar products but you should have an idea of where they fall short and how you can be better. Talk to 50-100 of your target customers and ask them about how they currently solve the problem. Your goal is not to sell your solution, just listen and take notes.
2. Once you have your idea and you understand the 2 or 3 most important features that make up the core of your product, design the UI and prototype it using a tool like Invision that lets you quickly send it out for feedback. Then use a tool like UserTesting.com to watch people use it and get more feedback. Send it to the people you already interviewed and get their take on it. You should uncover some holes that need to be fixed at this stage.
3. Start coding your MVP, but remember - keep it minimal - Don't spend longer than a couple of months on it because it's going to change 1,000 times anyways. Just get something quick and dirty into people's hands for more feedback.
4. While the MVP is being built, you should be marketing it. Gather emails from a landing page, start blogging, get some media coverage, build some buzz. You shouldn't expect to make a lot of money from the early launch, but the key is to get a list of people (100-1,000) willing to use the product and give you feedback, then keep building on that foundation.
5. After the MVP launch, spend as long as it takes (8 months+) interviewing beta users, refining it, rewriting it, doing whatever it takes to get to product-market fit. While doing this keep building up your email list and get a steady stream of traffic through SEO/social/content but don't spend any money on ads until your at or close to PMfit.
Hope that helps! This is what I did with Proposify (and stumbled a few times) and it worked. We hit PM fit and within one year went from 30 paying accounts to 1,000+. Book a call if you'd like to learn more.
Answered over 9 years ago
Visionary, Strategic, Clear Thinker: Doer!
You want to start at the end and work backwards.
What are the outcomes or results that you expect the software to produce. Then you move backwards a step at a time to figure out what is needed at the front end.
A good User Interface modeler would help. A pencil and napkin can be just as good as any modeler. Don't get stuck in the technicalities.
Answered over 9 years ago
Accelerance President
Let me approach it from another angle:
If your the Founder or even the startups Tech Lead you need to outsource the development to a software dev partner who had deep experience and focus in your segment and tech stack, working with clients like you (size, culture) in locations like yours and meeting other criteria you deem important to the success of the dev effort (cost, size of partner, certifications, global location, language proficiency are a few).
Why? Because 1. Investors and the market shows no mercy in ISVs in a hyper competitive marketplace that are not laser focused on envisioning the best product possible and then evangelizing, marketing, selling and funding its future's success.
The more cycles you spend building an "organization" and running non-core functions like accounting, legal, HR, Software development (yes Dev too), the less you are spending evolving and promoting your "widget". Even a software product company is NOT a software services company. Finding and engaging the right software development partner that is perfectly (or well) aligned with your requirements and success criteria will provide you benefits such as fast and flexible team ramp up and ramp down, cost efficiency, knowledge base of innovation curated from other tech engagements, the relief of searching, hiring, training, retaining and down scaling this function internally, speed to market, best practices such as Certified Scrum leadership and more.
If you can source and perform due diligence smartly you can de-risk the intimidating aspects of global outsourcing and you can reap the benefits.
This isn't to say you hand over or don't control the core product IP and vision. It's just that you don't carry the burden of creating a world class dev shop from scratch.
Do (all!) this and investors and the market will more likely love you.
Feel free to reach out if you need more guidance
Andy Hilliard
President
Accelerance Inc.
Mobile: (704) 649-1087
Skype: ahilliard2
LinkedIn: Connect with me
Web: www.accelerance.com
Palo Alto, Charlotte, Chicago, NYC, Phoenix, Amsterdam
Answered over 9 years ago
Making software - for people, by people
Try Build a prototype. Mock-up if needs be. Present/"sell" it as idea to a limited circle (maybe starting with just you as user). Throw away.. most of it (the prototype, not the knowledge gathered). Rinse. Repeat. Several times. Every time decrease the freedoms, harden the model and narrow the focus, and expand the circle of surrogate-"users", slowly finding the eventual target (people or domain or point-of-pain). Eventualy involve marketing/management types as another kind of users (not of the thing itself, but of the process of it's creation). Note i did not mention "software". u can apply this to a Rough idea - it is also kind of virtual "software", but running inside someone's head.
Ah, and have fun.
Answered over 9 years ago
🌎Harvard Certified Global Corporate Trainer🌍
Meticulous planning is the initial and one of the core phases of software development or product development as it presupposes determining the scope of the project, defining means and ways for the new system to meet business strategic objectives, resource availability, cost-related issues, timeframes and determining solutions. The final stage of software development lifecycle includes maintenance and regular updates. The phase is treated with the utmost attention since during the stage the product is polished, upgraded, enhanced, and fine-tuned according to the real-world feedbacks on its performance.
You can read more here: https://relevant.software/blog/7-steps-for-effective-software-product-development/
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath
Answered almost 4 years ago