Understanding how great ideas become products
The fundamental challenge every startup founder faces is turning a great idea into a product. If you’re like many non-technical founders, you might wonder if you should sign up for a coding class and build the product yourself, even though you know that your time and talent is best spent building your team, your brand and managing your investors.
While it’s best to hire a team of developers with years of experience building applications, understanding the development process is a key component of creating your product. You can have a disruptive idea and talented developer but still end up with an underwhelming--even buggy product if you don't have an understanding of the development process.
In Menlo's App Development 101 for Non-Technical Founders, we’ll show you what the world of app development looks like. We'll also show you how to choose the right app development team to help you build and launch your project.
What to look for in a software development partner
Software development is a continuous process of decision making, so developers need a deep understanding of the underlying goal of their work.
Focus on the following areas of competency when assessing development partners:
The right approach to product development can save you time and money so that you can build a product that will succeed in the market. Your app development partners should be experts in the technology in which they work.
Design is how you solve users’ problems and communicate the features of an app. Thus, it’s critical to understand your developer’s design process.
To build successful products repeatedly, you need an established process. The process that your development partner follows determines your product’s chance to succeed.
Great products are built by great teams. A good development partner will offer an experienced team with all of the key members.
|Global Delivery Model
The benefits of a global delivery model (also known as a dual-shore or blended delivery model) are significant, and vary depending on the project. The benefits include added strategic value and reduced cost and investment.
A track record plays a big role. Your development partner should understand your business, challenge the new features you develop, help you focus on priorities, advise you from a technical perspective, and connect with you as partners in their network.
"Simple things should be simple and complex things should be possible."--Alan Kay
Some companies will only build according to specs. In some cases, this might be a good thing, but the company you want to work with is the one who cares about building a commercially successful product.
That requires a completely different approach and methodology. While approaches vary from developer to developer, those who build successful products have one thing in common: they place customer feedback over specs.
Beware of developers that want to build a feature-rich, complex product that will take a lot of time and money to build. For a startup, it is absolutely important to work with an Agile developer, to allow changes and adjustments based on market feedback.
A good development partner:
- Maintains transparency with a client. They care about building products that succeed and will likely tell you to pare down features so they can get your product built faster and on the market sooner.
- Understands that 99% of ideas fail and that, ultimately, it’s the market that decides what products succeed. Therefore, they’ll want to get an MVP in the hands of the user as soon as possible.
As Mark Zuckerberg said in his 2017 Harvard Commencement Speech "Ideas don't come out fully formed. They only become clear as you work on them. You just have to get started. If I had to understand everything about connecting people before I began, I never would have started Facebook."
A good development team will build several versions of your product to help you get started:
- Sketches: Hand drawings on a piece of paper to visualize ideas. They’re used for brainstorming and figuring out how to go about designing and developing an idea into a product.
- Wireframes: Simple structures of a design scheme that answer critical UX, layout and feature set questions before you get to the next steps.
- Mock-ups: A visual representation of an app that includes branding, logo, typography and color scheme.
- Proof of Concept (POC): Small internal projects that verify something (a feature or technology) can be built.
- Prototypes: While POCs validate something can be done, prototypes show how it will be done. They’re interactive representations of the product, not market ready yet. The point is to capture the user flows and eliminate errors.
- Minimally Viable Product (MVP): A market-ready product that will validate your original business hypothesis with a set of core features designed to get feedback from the market.
- Product: There’s never a final version of a product, but after one (or a few) successful MVPs, you’ll have to a version that users love and are willing to pay for, and that shows growth potential.
“Design is not just what it looks like and feels like. Design is how it works.”-- Steve Jobs
A beautiful app is not the same as a well-designed app. A great user experience (UX) is the only thing that makes your product stand out from products and services offered by your competitors. You need an experienced design team that understands how to translate your vision into a user interface (UI) that works flawlessly across mobile, tablet, laptop and desktop devices.
A sprint aims to answer critical questions about the MVP and creates a setup for development that involves key stakeholders and follows IDEO’s six-step process of Human Centered Design Thinking:
- Observation: The designers goal is to understand the people that they are designing for. They identify patterns of behavior, pain points, and places where users have a difficult time doing something—these all lend to tremendous opportunity.
- Ideate: Designers engage in brainstorming sessions to generate as many ideas as possible while staying focused on the needs and desires of the people they’re designing for.
- Rapid Prototyping: In this phase designers quickly build a simple prototype of the idea. This makes the app tangible and gives the designer something to test with the end-user.
- User Feedback: Designers get the simple prototype in the hands of the user. This is the most critical phase of the human-centered design process. It's the only way to know if a designers solution is on target or needs to evolve.
- Test: Test, implement, and refine the design. Repeat!
- Implementation: Once the designer validates the usefulness of your solution with the end-user and has gotten your design just right, it’s time to get your idea out into the world.
Software development processes continue to evolve, but Agile remains the best choice for fast growing startups.
Agile takes an iterative approach to software development. Instead of handling all the planning upfront, Agile focuses on being lean and producing minimum viable products (MVPs) over set periods of time while improving with each iteration.
In practice, Agile is about building products iteratively, shipping fast and often to get a feedback, and using feedback to make improvements.The method aims to eliminate all the unknown variables that may lead to failure before the product is launched.
As a result, Agile saves the client’s time and money, and dramatically improves their product’s chance to succeed in the market.
There are several implementations of Agile methodology. The most popular in software development is SCRUM framework. It follows these 5 steps:
- Initiation: At this stage, key roles and stakeholders are identified, and a product backlog is created. This backlog consists of product features that should be implemented during the sprint, ranked by importance.
- Planning: Includes sprint preparations, time and cost estimates and sprint backlog creation.
- Sprint: The actual execution of a sprint. A board, usually kanban style or a software like JIRA, is used to track tasks. Daily standup meetings are held to keep things on the right track.
- Testing and Product Demo: The result of every sprint is product demonstration. Before that, an intense QA testing takes place.
- Retrospective and Next Sprint Planning: Results and the ways to improve the development process on the next sprint are discussed and determined here.
Agile + Lean: What's the difference?Lean takes the Agile process further by shipping the product (MVP) and getting it to the hands of customer to get the feedback that matters the most, as customers determine the commercial success. Lean methodology matters, as when building something innovative it’s impossible to reliably predict the product/market fit. Lean is also about building the right kind of MVP so you not only build products fast but build the right kind of products fast and cheap.
A word about DevOps
In discussions about Agile software development, DevOps is often mentioned. While DevOps is often used with Agile, it is not considered a development process. DevOps is concerned with the appropriate deployment of software.
It’s important to understand the architectural process of your app, which governs the performance and security of an app, but even better to find a development partner with deep technical expertise. Discuss the following areas during your selection process:
"None of us is as smart as all of us." --Ken Blanchard
The greatest value of hiring a software development firm comes from having an experienced, established team work on your project.
When building an MVP, this can save you months of hiring and costs related with salaries. But not all teams are equal, and, in some cases, there is no team at all.
If you hiring a company that only provides you with developers, you'll need to hire contractors who haven't had the benefit of working together. They will have to find a consensus on a daily basis.
A solid team has experience working together. Menlo development teams, for example, include:
- A Design Team: This includes UX designers who will work on building interfaces and making sure the app is intuitive and loved by users. Graphic designers who take care of making it look great, and someone like a creative director to provide direction and oversee the entire project, including creating the brand book.
- Local Technical Leadership: Specialists working at the intersection of design, technology, marketing and business strategy. Their job is to push the project forward, make sure everyone sticks to the deadlines and budget, and provide the direction for building a commercially successful application.
- Developers: Front and backend developers, QA engineers, architects, security specialists, data scientists and so on. Depending on what the project requires.
GLOBAL DELIVERY MODEL
What are the benefits of a Global Delivery Model?
The benefits of a global delivery model (also known as a dual-shore or blended delivery model) are significant, and vary depending on the project. They include:
- Increased flexibility: As the requirements of a specific project or overall application support changes over time, modifying the team is more easily done with a partner offering a global delivery model. The team composition can be changed to match the right resources for the task and the right mix of onshore (same time zone for ease of communication and work coordination) and offshore for lower cost and round the clock delivery.
- Increased focus on core business: Business can stay focused on strengthening their company's core business while having efficeient outsourced partners provide cost savings on the company’s non-core functions. With the challenges of attracting and retaining top IT talent, organizations are better positioned by having their employees work on new development and exciting IT tasks while sharing the more routine tasks with team members offshore. This helps retain and develop critical employees.
- Added strategic value: A good strategic partner can add value in leveraging the various technologies and solutions used to provide value to other clients, without compromising confidential information, of course. The partner may come to the table with valuable IP – applications, frameworks, test libraries and will be willing to invest in POC’s in many cases to benefit both the client and their consultancy as well.
- And yes, reduced cost and investment: Transforming fixed costs to variable costs provides every company with more financial and operational flexibility to better meet its business objectives. Companies can have access to industry experts without having to increase headcount and the associated fixed costs. Organizations can also take advantage of lower cost offshore resources as part of the team composition.
A good global delivery partner will share in the risks and rewards of outcome based pricing, and understand that rewards and penalties should be expected for early or late system delivery and quality measures.
Many companies pride themselves with displayed logos of past clients and media mentions. Dig deeper and check the following:
Past Clients: Past clients doesn’t just mean big names. Menlo recommends researching who the development team has worked with. Ask for testimonials and reviews. Get contact details and reach out to those whose projects were most similar to yours, and ask for references.
Portfolio: Have a look at the development team's past projects, the technologies they’ve used and whether the type of projects they’ve worked on are related to your market/idea.
Team: Make an effort to meet the team, interview them and find out about their experience, domains of expertise and track record.
Do you need a development team to help you with your mobile app product?
Let Menlo Technologies take care of you.
Menlo Technologies is a global services company specializing in web and mobile technology. We're leaders in high quality iOS and Android application development.