avoiding mobile app development disasters

36
mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | (844) 206-8707 3 Mobile App Development Disasters and How to Avoid Them Own Your App Development Process. Don’t Let It Own You.

Upload: mentormate

Post on 15-Apr-2017

1.496 views

Category:

Mobile


0 download

TRANSCRIPT

Page 2: Avoiding Mobile App Development Disasters

Caution development ahead

Contents

1

2

5

12

15

23

Mobile development disaster 1: Out of time, over expected budget

How to avoid running out of money during mobile development

Mobile development disaster 2: Aimless investing

How to avoid wasting money in software development

Mobile disaster 3: Asked for one thing, got another

25

32

How to avoid miscommunications in software development

Worksheet: Building a mobile app project plan

Page 3: Avoiding Mobile App Development Disasters

Mobile development and road work share more than just end goals. When a construction project veers off course, things can go from bad to worse quickly — from lost work that requires additional days, weeks or months for completion to spiking costs that have both team members and taxpayers shaking their heads. We’ve seen what it takes to design, develop and deliver on-schedule and on-budget projects. Now let’s look at three of the worst mobile development disasters and what you can do to avoid them.

“Under construction.” It’s a phrase splashed on road signs across the country. Road work isn’t so different from building a mobile solution. In both types of projects, teams are working — hard — to get from point A to B. In construction, that might mean building a new bridge or widening a freeway to physically move people between two locations. While mobile developers don’t need orange pylons or reflective vests, they connect people too — with features, functionality and capabilities that add value to their daily lives.

Caution development ahead

11

Page 4: Avoiding Mobile App Development Disasters

Mobile development disaster 1:Out of time, over expected budget

2

Page 5: Avoiding Mobile App Development Disasters

You’ve reached the end of your mobile app development project. Looking at your invoices it’s clear you’ve gone far over your expected budget. Besides that, weeks have passed since your projected launch date. With each meeting, go-live is pushed further into the future. You may be racking your brain and wondering how this could happen. You have a business strategy and a five-year plan. Where did you go wrong?

In software development, the world ‘over’ can either be a very good or a very bad thing. Working with a partner who over delivers exceeding your expectations furthers your dual partnership and mutual trust. The opposite case is a quintessential mobile development nightmare. The “average” IT project runs 200 percent over schedule and 200 percent over budget.1 What can you do to avoid it?

Settingthe scene

Why (any) projects run over budget

• Poor communication between the project team and client

• Replacing resources midway through

• Human error

• Pivoting to add new features halfway through

3

Page 6: Avoiding Mobile App Development Disasters

When mobile app development companies overextend beyond their capabilities and over promise beyond what they can deliver, there are very real costs associated. The costs beyond just development dollars are important too. What does over-schedule and over-budget delivery mean for businesses? It might mean the launch of a new brand or other internal software is delayed, or the growth of your business is constrained. Worst of all, a competitor may beat you to market.

The costof tardiness

What’s an MVP?

No, this doesn’t mean most valuable player. In software development, MVP stands for the Minimum Viable Product defined during feature prioritization. This is the leanest first version of the app that satisfies client needs and offers users value. Just because an MVP is released and functioning doesn’t necessarily mean development is complete. Tasks may still exist to be completed for future releases. Don’t let perfection stand between you and working software. There’s always the opportunity to fine-tune in future releases.

Don’t let perfect get in the way of great.

44

Page 7: Avoiding Mobile App Development Disasters

How to avoid running out of moneyduring mobile development

5

Page 8: Avoiding Mobile App Development Disasters

Coordinate closelybetween internal andexternal development

If your project requires splitting development duties between a software provider and an internal IT department, set aside time for regular meetings between teams and project leads. Communication is key to ensure all parties advance at a similar speed and any new functionality can integrate with legacy systems.

How often should you meet?

Plan on a meeting of the development teams once a week. During the first meeting, identify the completion objectives, who is working on them and when they must be finished. Then, focus the subsequent meetings on sharing status updates and ongoing risks.

Don’t forget to ask these questions in your next cross-functional development meeting

Are we on track?

Are there any blockers or impediments to success?

What questions or challenges have we identified in the last week?

How are we going to set up our test environments and validate success has been achieved before pushing the software to production?

6

Page 9: Avoiding Mobile App Development Disasters

Begin thinking about this before approaching a software partner:

Defineyour needs

Conceptualization and ideation are the initial project stages that ensure development is well-positioned for success. Have a clearunderstanding of your need before you approach a mobile app development company. Know what purpose you want your solution to serve. Begin to define the scope of your solution. Determining your users and business needs will help guide initial strategy discussions with the software provider you choose.

The key to a successful project is coming to an understanding with your software provider about what you both expect to see in the final project. The right software development partner should spend a lot of time asking about the features of the project from your users’ perspective.

• Who are my users?

• What are their business needs?

• What value will my app add?

• What are the high-level features under consideration?

Sign of success: Your software partner asks questions from the user’s perspective.

7

Page 10: Avoiding Mobile App Development Disasters

Prioritize your features

Your software development partner should work with you to understand your basic needs, business objectives and goals. Prioritizing your features is crucial to staying on schedule and on budget. If you are on a tight deadline to complete core functionality avoid the temptation to backtrack and add more features halfway through. This only serves to divert you from the core capabilities your solution needs to launch. Instead add them to the backlog.

Backtracking, rework and adding additional “bells and whistles” to the first release are key culprits responsible for driving up costs and pushing out your completion timetable. If you do choose to add features to your first iteration or reprioritize functionality, understand the cost.

1 2 3 4

8

Page 11: Avoiding Mobile App Development Disasters

The race to feature complete

The “race to feature complete” is a risk management and development strategy to identify, plan and develop core functionality. Once you’ve worked with a software partner to define your MVP, you’ve identified a given number of features to complete before launch. Let’s say there are 10. Work on those features until they are functional but not polished. Then use your extra time and budget before launch to double back and take higher priority features from “good” to “perfect.”

For example, suppose you’re working on a reader app. You could spend hours finessing the page turn animation. Or, you could code it so it’s workable, and return to polish later.

Don’t get stuck in a continuous loop perpetually fixing and editing one feature. If feature complete isn’t achieved and the app doesn’t launch the component you spent so much time on — won’t matter anyway.

9

Page 12: Avoiding Mobile App Development Disasters

Continue working through the feature backlog after launch

Software development is a balancing act between time and value. How can you release an app that offers maximum functionality in the shortest time frame? In determining and working toward the software MVP defined during feature prioritization, additional functionality will remain in the backlog. Subsequent releases will involve working through the backlog. That’s why it’s important to make sure you haven’t bit off more than you can chew with your MVP. You will revisit the backlog anyway.

In some instances, you may groom the backlog and reprioritize features as you race to feature complete so previosuly high priority functionality may be exchanged for something with higher businesss value.

10

Page 13: Avoiding Mobile App Development Disasters

Bring design and developmenttogether at the beginning

Design and development go hand-in-hand. The best software partners bring the design and development teams together for collaboration early. Worst case scenario? The design team creates wireframes and mockups with a skin and functionality the client loves. Then when shared with development, they slam on the brakes. Why? Maybe the design team developed work that doesn’t overlay well on existing backend data and processes. Maybe it’s difficult to implement. Or maybe the problem is a simple one. The design team got too fancy for the needs of the solution.

It’s also important for developers to reconnect with designers along the way to avoid development at the expense of the user experience. Communication between the teams early on will ensure as little rework as possible is required. We all know what rework means. Double the work and double the cost.

Silence isn’t golden Here’s what can happen when your development and design teams don’t talk.

Development can’t implement design work.

Costly rework is needed to align design with software norms informed by development resources.

A subpar solution is created that doesn’t leverage intuitive use patterns because collaboration was rushed.

11

Page 14: Avoiding Mobile App Development Disasters

Mobile disaster 2: Aimless investing

12

Page 15: Avoiding Mobile App Development Disasters

You started out with the best intentions. You had a budget and planned to stick to it. Let’s say you began your software development process with a fixed sum of $50,000. You sign-on with a firm who says they can deliver exactly what you need within your budget. As you move through the process, the mistakes begin to grow like a pile of leaves in the fall. Only this time you’re not trying to jump in. You need to dig out.

Questions start to overtake your thoughts. Have I wasted it all? Maybe you took out loans or a lien to pay for the development. Then another equally destructive thought starts to creep in, “Well, I’ve come this far. I might as well continue on. It will be worth it in the end.” Wrong. Software development should never be continued because you’ve “come this far.” Development is a careful dance between satisfying user needs to add true value within the project budget and scope.

Setting the scene

Development isa careful dance between satisfying user needs to add true value within the project budget and scope.

13

Page 16: Avoiding Mobile App Development Disasters

You have two options. Commit to fixing your solution or abandon the effort. Choosing the right one is the difference between salvaging this disaster and piling more money into a ship already taking on water. In this case, the sinking ship is known as the Sunk Cost Fallacy.

Assessing thealternatives

Sunk Cost FallacyWhen an investment goes belly-up there’s a human tendency to want to continue on the current path in hopes that more money and time will make it better. The Sunk Cost Fallacy is generally categorized by thinking that follows this formula. W has been invested in project X. More money is needed to complete it. Let’s call this Z. Because Z will complete the project, it is justified. Throwing money at a wall because you’ve already invested a large sum isn’t necessarily the answer. The better move is to consider the long game.

It’s a matter of processProjects running Agile Methodology encounter this situation less. Why? The Agile process is characterized by delivering business value as soon as possible. Frequent releases and demos let you know if development is on track.

14

Page 17: Avoiding Mobile App Development Disasters

How to avoid wasting money in software development

15

Page 18: Avoiding Mobile App Development Disasters

There is a difference between falling victim to the Sunk Cost Fallacy and smart investing. The Sunk Cost Fallacy is defined by aimless investing and the idea that seeing through a poor investment will make it better. Continuing to build a mobile solution on an unstable or poorly built platform is much like trying to construct a house on quicksand. The more you struggle, the faster you crumble. Rather, smart investing is taking stock of your options and selecting the path where you will see the most long-term return on your investment.

Don’t be logically fallacious.Just be logical.

Ask yourself these three questions to determine whether to continue on.

If the answer to these three questions is “Yes,” consider staying the course.

• Does my app add value or fill a pre-existing user need?

• Is my solution unique, or does it offer new capabilities other apps don’t address?

• Is my app scalable, and can it be monetized?

16

Page 19: Avoiding Mobile App Development Disasters

It can be easy to focus on a short-term loss, especially if it’s a large one. But if you see true value in your solution, a simple redirect can get your app development back on track. Take a step back, and ask yourself how you ended up in this situation. Was it because you valued economic savings over lasting development value? Maybe. Regardless of how you landed here the right software development partner can throw you a metaphorical life raft to keep you and your software from going under.

Redirecting your development

Choose the right software provider from the beginning

For anyone looking to choose a software provider outright or begin working with a new provider after development has stalled, committing is a little like putting your life in someone else’s hands. And, in essence it is. After all, the success of a development project can have very real consequences for your personal and professional life. Your stress level, happiness and even financial solvency rest on on-time and in-budget completion.

17

Page 20: Avoiding Mobile App Development Disasters

Ask yourself these three questions to help you determine whether the software provider you are considering is up to the task.

Meeting the hardquestions head on

• Is your new partner solvent?

• Do they have proven experience developing for your platform?

• Do they give you the impression they will work with you to make good decisions rather than always saying, “Yes,” especially if proposed ideas have the potential to harm the project?

• Do they have the breadth and bandwidth to support your solution as it grows and evolves?

Bonus points

Pay special attention to software development firms looking to be in touch every step of the way and make decisions together. If a potential development partner begins talking about early delivery of wireframes and mockups for review, they are a gem. Don’t let them go.

That last question is an important one. One of the best advantages to working with a software development partner is they become as invested in your solution as you are. They learn the history. As a result, they will be able to provide the best, quickest and most economical support down the road. Why? They won’t require onboarding each time you want to make a change, release a new version or add additional functionality.

18

Page 21: Avoiding Mobile App Development Disasters

If things go your way, your app and business will be around a long time. Choose a partner that helps you remain relevant 5 or even 10 years down the road — ancient history in app time. A good partner asks “Why” to position your business for growth. The right questions can even help you reconsider what you need and the best model to achieve it. Your partner should make you smarter and not be running to catch up.

In selecting a software development partner,consider their experience.

Past experience predicts future success. Consider the long game now. Your future depends on it.

Invest future-first

Past experiencepredicts futuresuccess.

• Do they possess the expertise to anticipate emerging trends and how those needs will impact your trajectory?

• Do they have referenceable examples of success?

19

Page 22: Avoiding Mobile App Development Disasters

Five things to ask when interviewing development house references:

• What was your overall experience like working with X?

• Was your project delivered on time and in budget?

• What value did X add that you didn’t anticipate?

• How did you overcome challenges along the way?

• Was the final result in line with what you expected?

• How did they collaborate with you throughout the course of the project?

Honesty is the best policy

Ideally, your software development partner will be upfront with you and provide realistic timetables for development and delivery. You want a partner who’s transparent, not one who works for three months, and then shows you the results. More on transparency in Mobile Disaster Scenario 3.

20

Before you select a software partner, complete your due diligence. Ask for references and reach out to previous clients to learn more about their experience.

Do yourresearch

Page 23: Avoiding Mobile App Development Disasters

Go with your gut, not just the budget

An important — maybe the most important — thing to consider is what you value in a software development partner. Don’t select a firm just because they offer you the best rate. Consider what might accompany that decision to undercut the competition. Maybe they are an inexperienced firm hoping to win big business and bolster their portfolio? Whatever the case, set yourself up for success by securing the long-term value that comes with practiced software development. So what does this scenario look like, and how can you spot it?

The landscape to secure client business is a competitive one. Developer Economics estimates there are 2.3 million developers worldwide with 680,000 of those working in the U.S.2 These developers are either working independently or split between firms across the country. With a glut of developers and firms vying to secure business, many mobile and digital solution providers will say what it takes — whatever it takes — to secure client business. This includes over promising on delivery time and underestimating the funds it will take to actually complete the project.

Don’t settle for a race to the bottom

21

Page 24: Avoiding Mobile App Development Disasters

Avoid the classic oversell

When new clients release an RFP for business and software development firms respond, clients hear it all. All vendors claim to be the best, the first and the smartest. So how can you recognize the diamonds who actually CAN deliver. Ask yourself, do the vendors I’m considering know as much or more than me? They should have the technical expertise to add value and show you what you don’t already know. That’s what you’re paying for. Growth is another factor to consider. During the software partner’s time in business, has it been stagnant or marked by continued expansion? Especially in choosing a strategy firm, look for a partner whose business trajectory mirrors the results you are hoping to achieve.

Tell-tale signs you’re being oversold

• The vendor can’t offer specifics detailing how or why the recommendations they are making matter.

• They don’t ask thought-provoking questions. They are only parroting back your assumptions.

• They offer aggressive timelines that seem “too good to be true.”

• Their rates are SIGNIFICANTLY lower than other vendors. This could be a vendor’s play to expand their area of expertise. Ask yourself if you want your project to be the guinea pig?

22

Page 25: Avoiding Mobile App Development Disasters

Mobile disaster 3: Asked for one thing, got another

23

Page 26: Avoiding Mobile App Development Disasters

Developing functional, valuable software is as far as you can get from peering into a crystal ball and divining the future. It relies upon clear and continuous communication between clients and software partners along with actionable results to make that anticipated future a reality. Depending on who you choose to partner with or how they operate check-ins, sometimes that communication just breaks down. If and when it does, you’re up a creek without a paddle AND working software.

Maybe you selected an off-shore development house from China or India that asks for software specifications then delivers convoluted, sub-par code. Or maybe the software development house wanted to flex their design muscle at the expense of your app’s functionality. It could happen to you. Here’s how to make sure it doesn’t.

Settingthe scene

Start

Finish

24

Page 27: Avoiding Mobile App Development Disasters

How to avoid miscommunicationsin software development

25

Page 28: Avoiding Mobile App Development Disasters

What’s an SDK?

SDK stands for software development kit or devkit. It includes the base set of tools that allow developers to create software framework, packages or other platforms.

Consider developers your second team of UI/UX designers. Developers, by the very function of their title and expertise, know their SDKs well. They know what a default button or text field on a certain software. In other words, like designers, they know what users expect to see. The best software development partners leverage this understanding to create a system of checks and balances between developers and designers. Collaboration is essential to render the design and development process as smooth as possible.

Developers can also recommend changes to design along the way to align with development best practices or intuitive use patterns that have become normative. Collaboration between designers and developers isn’t just about making the design better earlier. It sets you up to avoid problems you aren’t expecting down the road.

Create a system of checks and balances

26

Page 29: Avoiding Mobile App Development Disasters

Here’s how to spot a valuable software development partner early on in the process:

Get involved

2

The best development partners will involve you in the process. Valuable, functional apps aren’t built in a vacuum. They require collaboration and communication between the project delivery team and client along the way. Formal check-ins between client and team should happen on a weekly basis. If you’re in talks to select a development partner and they don’t mention collaborative planning and review sessions, gather your sketches and don’t look back.

They ask a lot of questions —

ones you’ve never thought of.

Your software development partner should challenge you.

They bring a wealth of experience having worked on an

expansive set of projects for other clients. They have seen

and experienced what works — and what doesn’t. They

are widely familiar with the use patterns of today and

what features work best across the variety of devices in

the market. Your software company moves from provider

to partner status when they can offer new insight you

haven’t considered and offer suggestions to take your

solution to the next level. This should be the standard.

Unfortunately it isn’t, when you find it you’ll know

you’ve struck gold.

They advocate for what you need.

Find a good software development partner and they

become a technical extension of your close-knit product

team. Call it mind-meld or just close listening, you become

in synch. As a result your partner has an understanding of

your needs and expectations. Your partner should become

your biggest supporter and most trusted counsel.

27

Page 30: Avoiding Mobile App Development Disasters

Look for a partner who embraces transparency. Perfection is the enemy of progress. If your partner is afraid to show you in-progress software and wants to wait for a “big reveal,” be very afraid. Only by reviewing software frequently can you ensure you’re getting exactly what you expect. Imagine if you waited for the reveal only to find out your partner’s expectations and takeaways from your meetings were confused all along. Disaster.

You and your software development partner are in this together. Realistically, they should provide you working software every two weeks. Now, it may not be perfect. But, along the way you should see fixes happen and capabilities expand until finally it’s just right.

Benefits of reviewing software every two weeks

• There are no surprises at the end.

• You know what’s being worked on and what’s being held for later.

• You can track how much money you’ve spent in a week.

• You can identify features that don’t perform as you expect early on.

Embrace transparency

Imagine if you waited for the reveal only to find out your partner’s expectations and takeaways from your meetings were confused all along. Disaster.

28

Page 31: Avoiding Mobile App Development Disasters

Using Agile Methodology, the two-week period of planning, development, progress and review is called a sprint. Shippable — meaning coded and tested software — is then reviewed during a meeting of both the client and partner teams during a sprint review, also known as a demo.

Sprint planning is integral to the success of a software development project. The meetings allow each team member to realistically estimate how long each task will take. It’s important to remember resources are not machines. Setting realistic timelines together safeguards everyone from overcommitting and under delivering during the development process.

Sprint to success

Review the review

After each demo, review the progress. Ask yourself whether the work completed by your provider matches your expected timeline and budget.

If not, be vocal. Your mobile app development partner should be guiding the process, not the other way around. If you’re bringing more ideas and process to the table then they are, there’s a problem. Quickly re-assess progress and if you’re not seeing the development you expect, seek out another provider to avoid long-term delays.

29

Page 32: Avoiding Mobile App Development Disasters

The best software development processes are like a melody of creation and communication where client needs to harmonize with development capabilities. Whenever you hear a difference between what you say and a member of your partner team, cut the music. Assuming you’re on the same page is dangerous. If you’re not comfortable with level of updates or what is being planned, ask to dive deeper. Your expectations of the development process can be just as important as expectations of the end product. If you’re unfamiliar with develoment methodology and language, ask your partner to use basic language.

Use call and responsecommunication

Say it back

Repeating back what you hear as next steps will ensure the client and development teams are moving forward in tandem. Something as insignificant as a wording tweak might not be so insignificant at all.

30

Page 33: Avoiding Mobile App Development Disasters

Cue credits:Developmenttakeaways

Design software users can’t resist and keep them coming back

A user’s experience accessing software depends on the amount of value they gain from it. At the very beginning of your process, think about what your user needs and expects from your solution. As you work with a software partner to map how users move through your app, portal or website, break their actions into steps. Then create an interface that guides them seamlessly through each. Put yourself in your user’s shoes. The best strategists, designers and developers are empathetic. They adopt their users’ mindset and think about the features and experience that would provide the most value.

Simple experiences standout

When in doubt — simplify. Creating value for your users isn’t achieved by providing every feature imaginable, it’s achieved by choosing only the features users need. Research your target audience. It’s easy to say yes to features you think users may want. Instead, let your conclusions be driven by data, established use patterns and user empathy. It’s difficult to have a lot of features and a clear user experience at the same time.

31

Page 34: Avoiding Mobile App Development Disasters

GoalsWhat do you want your app to do? Identify three main goals.

1.

2.

3.

CostsHow much money do you want to invest in software development?

How much money do you want to save to market your solution?

FeaturesWhat features or functionality are most important to you?

Target AudienceKnow answers to these questions.

1. How old are your users?

2. Where do your users live?

3. What do your users do for a living?

4. Are your users a certain gender?

5. What characteristics separate them from the rest of the population? (Relationship status, languages spoken, family size)

6. How, where and why will they be using your software?

Delivery DateWhen would you like to have your project completed?

Worksheet: Building a mobile app project planDon’t go in blind. On-time, in-budget software development that meets your expectations and fits your needs starts with an understanding of what you want and who can help you realize it. Use this guide to help you identify what matters.

32

Page 35: Avoiding Mobile App Development Disasters

MentorMate has designed, delivered and staffed digital experiences since 2001. Along the way we’ve learned a lot. Now it’s time to share. That’s why we founded MobCon in 2012 and MobCon Digital Health in 2015. Each year we host conferences for the top minds in mobile and digital strategy to do just that. Be part of what’s next and dive deep into the trends and technologies revolutionizing engagement in today’s business landscape. Connect. Listen. Grow. We’ve taken the leap. Have you? Register for our next event at mobcon.com

mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | (844) 206-8707

MobCon developed by MentorMate

Talk with an expert

Ready to innovate? Contact us to learn more about mobile app develpoment. We’re all ears.

844-206-7807 [email protected]

33

Page 36: Avoiding Mobile App Development Disasters

References

1

Eichorn, Frank L. ( 2005, Sept. 1). Who owns the data? Using internal customer relationship management to improve business and IT integration.

2

Sethuraman, Anusha. (June 13, 2014). Mobile App Development Trends Worldwide: What You Need to Know. https://blog.newrelic.com/2014/06/13/mobile-app-development-trends-worldwide-need-know/