3. Know the Business
• How the business operates
• Who the customer is
• How the business excels
• How the revenue is generated
• What are the loop holes
4. Know the Market
• Size of the market / opportunity
• How does is the market evolve
• What is working / failing in the market
• How does the business scale
• Analyze the competition
• What does your customer value
5. Breadth – Understand the User
• How does the app serve and benefit
• What is the main problem
• Replicate the user’s environment
• Engage the end-user throughout
6. Usability
• Watch and observe the end-user
• Understand user’s interaction with the app
• Test
Focus Groups
Surveys
Alpha Test
Beta Test
7. Technical Challenges
• Depth of the system
Down to the OS and kernel level
• Top to bottom
Technical architecture
Infrastructure
• Interdependencies of each system
How do they work together
• Interdependencies of each business unit
Work with other departments
Sketch out visuals
Entire ecosystem
8. Be Cutting Edge
• CSS, JS, HTML5, Android, iOS, etc…
Even if not needed
• Constantly learn and educate
• Hone your skills
Keep on your toes
Stay ahead of the market
• Know the latest and greatest
Tools
Languages
Frameworks
Short cuts
9. Business Tools
• Be aware of company tools
Supplementary
Complementary
• Company may use the following:
Version Control
CMS
Automated Testing tools
Issue Log / Support System
Others
10. Impact Economics
• Financial Impact on the business
• Visibility of the app within the business
• Company Expectations
App(s) Engagement
App(s) Revenue
Productivity
Efficiency
• ROI
Affects the business’s bottom line
11. Dev Ops / Environments
• Know the environments
Development
QA
Production, etc…
• Implications of your code
• On the stack / platform
• Know the process
How software is implemented /
migrated
• Timelines / Timeframes
• Production knowledge
Is code compliant with production
12. Quality Assurance
• Test, Test , Test
• Testing is a blindspot for many devs
• Testing methods
Unit
Load
Smoke
System Integration
Profiling
User Acceptance, etc..
• Testing Tools
Selenium
QTP
Python
MSTest, etc..
• Testing thoroughly and in every fashion
• Testing is adverse to getting to market fast
Engage other departments – Be SocialWork withUI/UXBusiness AnalystsDatabase / System AdminsITMarketingExecutives / ManagementWill give you a better understanding of the “needs” for the app you’re building
Not at a technical levelKnow the business you are working in and how it excels and failsWho the target audience isHow your business generates moneyWhat are the loop holes and pitfallsIt will aid you in building the app
What are others in the market doingWhat is the size of the marketWho are the competitors – What are they doing well and poorlyWhy are people parting with their money for thisIt will help you gauge the impact and virality of what you are trying to accomplish
Human interactionYou must get a feel for how the app serves the end userHow does the app benefit the end userWhat is the problem that is being solvedWatch and observe the end-user struggle with the current problemUtilize and engage the end-user throughout the process to see if your on the right path and to determine success of the appAlpha TestBeta Test
Human interactionYou must get a feel for how the app serves the end userHow does the app benefit the end userWhat is the problem that is being solvedWatch and observe the end-user struggle with the current problemUtilize and engage the end-user throughout the process to see if your on the right path and to determine success of the appAlpha TestBeta Test
Understand the depth of the systemUnderstand down to the OS and kernel levelTop to bottom understanding of the the technical architecture and infrastructureHow do all the systems and infrastructure needed work cohesively together to make the app work on a technical levelWork with other departments and make the sketch out with visuals how the entire ecosystem will work for the app
Constantly learn and educate yourself about everything that is out thereKnow CSS, JS, HTML5, Android, iOS, etc…Hone your skills and even if you may not need these languages in your app development, you must constantly read and educate yourself and what is being used and done in the marketplace
Be aware of the tools that the company uses that will be leveraged in the app building process that may not directly impact building the app but are part of the process that you need to be familiar withCompany may use the following:Version ControlCMSAutomated Testing toolsTicketing System / Issue Log / Support SystemAll of these tools may be things you will need to interact with as mandated by the business and part of the business process
Understand how the app may impact the company financiallyWhat is the expected revenue of the appWhat is the expected engagement of the appWhat percentage of the return affects the company’s bottom lineWhat is the visibility and impact of the app to the businessWhat happens if the app fails and isn’t a success to the businessWhat other areas of the business (economically) will be affected by the app’s potential success
If you work on Rails, read the Rails code and know how Ruby is executed by Apache. If you work in Java, know about the configuration options. If it's Perl you use, understand how to install Perl modules and configure them.Know the different environments that exist in the business for implementing software / technologyDevelopmentQAProductionKnow the stack you are running onImplications your code has on the stack / platform environmentsGet familiar with the process for how software is implemented and migrated from one environment to the otherTimelines / TimeframesHave production knowledge. Know if your app code and technology is compliant with production environmentThese little details can cause delays if not handled properly
Testing is a wonderful blindspot for many devsUse unit tests, selenium, load testing and profiling toolsTesting thoroughly in every fashion will save you major headaches down the roadTesting thoroughly is adverse to getting to market fastBut if your app has bugs from the get go, it will never have a chance to recover in a fickle and incredibly competitive apps market
f they're working with an API from a third party, they'll understand the problems likely to come up on the other side. When working with the server admins they'll understand what they need installed and know how their software sites on production servers. The reverse of this can be painful...Know the risks of everything that you doEnvironmental risks Security risksBusiness risksScale risksNot enough to concentrate only on the risks of creating your app and getting it down.Look at 10,000 foot view risks and 1 foot view risksSpeed does not equal Quality. Find a healthy medium.
Developers have a lot of controlDevelopers are THE coreKnow the budget / economicsKnow the customerKnow the processesKnow the environmentsKnow the risksKnow the impactInteract and work with everyoneKnowledge is power