Developing For The Business


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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
  • Developing For The Business

    1. 1. Developing For The Business Dipesh Mukerji, Kony Inc.
    2. 2. Coding Isn’t Enough
    3. 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. 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. 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. 6. Usability • Watch and observe the end-user • Understand user’s interaction with the app • Test  Focus Groups  Surveys  Alpha Test  Beta Test
    7. 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. 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. 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. 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. 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. 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
    13. 13. Risks • Environmental • Security • Business • Scale
    14. 14. Summary – Developers must know:
    15. 15. Questions?