Going IT Alone: The Handbook for Freelance and Contract Software Developers

Book description

A detailed guide to self-employment for software and web developers—from identifying your target market, through to managing your time, finances, and client behavior

About This Book

  • Discover how to make money with software development skills.

  • Learn how to develop a marketing and sales strategy and develop profitable pricing strategies for your software services and products

  • Gain insights through real case studies and insights provided from industry experts

  • Who This Book Is For

    Going the self employed route in software development offers many opportunities to develop awareness and skills to enhance your career. Whether you are a student currently studying software development or a veteran software developer already in the industry, Going IT Alone provides you with insights you need to avoid the pitfalls of self employment and to succeed with software projects that are profitable and sustainable.

    What You Will Learn

  • Identify and understand your target market.

  • Propose the value of what your service or product offers.

  • Build a business model that identifies key entities required to make your software business work.

  • Develop marketing a marketing strategy that targets the right customer segments and produces the sales you need to be profitable.

  • Analyze information to make better decisions and understand your business performance.

  • Understand people through observation and use this to your advantage in project management and negotiation.

  • Improve accuracy of estimates for time and costs of your software projects.

  • Understand the relationship between code and the business strategy.

  • Identify software features from a business perspective, allowing you to prioritise must have features from those that are less important to your profitability.

  • Avoid the trap of increasing software development time and costs from features that provide no benefit or sales increase.

  • In Detail

    No matter whether you are a student or an industry veteran, self employment adds a new dimension of opportunities to “learn and earn”, whether it be on a full-time or part-time basis. Develop the business acumen and understanding of the link between software patterns and business strategy that you need to become a successful and profitable independent software developer.

    Discover how to apply your software development skills to entrepreneurship. Decide whether you just want to earn or aspire to build the next Facebook. Supported by real world case studies and input from industry experts, the book looks at the business topics you need to understand to become an independent software developer. From the initial steps of identifying how you can make a profit with your software development skills, through to making your first sale and managing your projects, you will learn how to manage each of the major steps involved in becoming a self employed software developer – whether you decide to go freelance, take up contracting or develop your own product.

    Written specifically for software and web developers, the book identifies how business issues have a direct impact on code patterns used in software projects. Learn how to build your code to support your business model and with safety features to protect against potential threats that may emerge from the changing business environment.

    Style and approach

    This book is a detailed guide to self employment for software and web developers , covering major topics from identifying your target market and business model, through to managing your time, finances and client behavior.

    Table of contents

    1. Going IT Alone: The Handbook for Freelance and Contract Software Developers
      1. Going IT Alone: The Handbook for Freelance and Contract Software Developers
      2. Credits
      3. About the Author
      4. Acknowledgements
      5. About the Reviewer
      6. Preface
        1. What this book covers
        2. Who this book is for
        3. Conventions
        4. Reader feedback
        5. Piracy
      7. 1. Introducing Freelancing
        1. The freelance lifestyle
        2. Is freelancing for you?
        3. Defining your motivations
          1. Boosting employability
          2. Learning new skills
          3. Taking a break
          4. Increasing financial security
          5. Generating a side income
            1. Case study: New Star Soccer
          6. Freedom
          7. Alternative to unemployment
          8. Fun
        4. Don't quit the day job
        5. Legal entities
          1. Sole trader
          2. Partnership
          3. Limited company
        6. Home or away?
          1. The home office
            1. Advantages
            2. Disadvantages
          2. The real office
            1. Advantages
            2. Disadvantages
          3. Renting desk space
          4. Co-working spaces
          5. Cafes
        7. Summary
      8. 2. Positioning Yourself in the Market
        1. Market segments
        2. Pricing yourself appropriately
          1. Market specific influences
          2. The equilibrium price – segments and prices
        3. Building quality for market segments
          1. Meeting customer needs
        4. Market research
          1. Failing to plan is planning to fail
          2. Cost to market
          3. Cost of delivery
          4. Calculate your profit margin
          5. Time value
        5. Summary
      9. 3. Defining Your Business Model
        1. Types of business model for software
        2. Software Development as a Service (SDaaS)
          1. Advantages
          2. Disadvantages
          3. Conclusion
        3. Software as a Product (SaaP)
          1. Advantages
          2. Disadvantages
          3. Conclusion
        4. Software as a Service (SaaS)
          1. Advantages
          2. Disadvantages
          3. Conclusion
        5. Software Supporting a Service
          1. Advantages
          2. Disadvantages
          3. Conclusion
        6. Business Model Canvas
        7. Components
          1. Value proposition
          2. Key partnerships
          3. Key resources
          4. Key activities
          5. Customer relationships
          6. Customer segments
          7. Distribution channels
          8. Cost structure
          9. Revenue streams
        8. Canvas
        9. Problem tools
        10. Product life cycle
          1. Development
          2. Introduction
          3. Growth
          4. Maturity and saturation
          5. Decline
        11. Five Forces Analysis
          1. Rivalry among existing suppliers
          2. Threat of substitute products or services
          3. Threat of new entrants
          4. Bargaining power of suppliers
          5. Bargaining power of buyers
        12. Seven Domains Assessment framework
          1. Market domain/macro level – market attractiveness
          2. Market domain/micro level – market sector benefits and attractiveness
          3. Industry domain/macro level – industry attractiveness
          4. Industry domain/micro level – sustainable advantage
          5. Team domain – mission, aspirations, and propensity for risk
          6. Team domain – ability to execute on the critical success factors
          7. Connectedness up and down the value chain
        13. The McKinsey 7S framework
          1. Goals and shared values
          2. Strategy
          3. Skills
          4. Structure
          5. Style
          6. Systems
          7. Staff
        14. Fitting everything together
        15. The business descriptions
          1. IXL Learning
          2. Nextpoint
        16. Comparison: McKinsey 7S framework
          1. Goals and shared values
          2. Strategy
          3. Skills
          4. Structure
          5. Style
          6. Systems
          7. Staff
        17. Comparison – Business Model Canvas
          1. IXL Learning
          2. Nextpoint
        18. Comparison: conclusion
          1. IXL Learning
          2. Nextpoint
        19. Summary
      10. 4. Creating a Brand
        1. A brief definition of what branding is and isn't
        2. Know your audience
        3. Identify perceptions required for objectives
        4. Specializing – becoming a domain expert
        5. Generalizing – targeting a wider audience
          1. Case study
        6. Kick starting perceptions
          1. Doing a good job
          2. Limited time offers
          3. Competitions
          4. Rewarding customer loyalty
          5. Strategic partnerships
          6. Certifications
          7. Influencers
            1. Reliability
            2. Personality
          8. Media exposure
          9. Content marketing
        7. Who do they think you are?
        8. Summary
      11. 5. Networking, Marketing, and Sales
        1. Understanding networking
        2. Defining a networking strategy
        3. Writing press releases
          1. Know your audience
          2. Be specific
          3. Integrating your agenda
          4. Make it easy to read
          5. Tips for writing news stories
          6. Enhancing the reach of your media coverage
        4. Open project sources
          1. Project sources
          2. Being selective
            1. Example 1
            2. Example 2
        5. The sales process
          1. Stage 1: Establish the relationship
          2. Stage 2: Recognizing the need
          3. Stage 3: Proposing the Solution
          4. Stage 4: Closing the sale
          5. Stage 5: Delivery and evaluation
        6. Summary
      12. 6. An Introduction to Client Types
        1. The ethical client
          1. Characteristics
          2. Progression options
        2. The difficult client
          1. Characteristics
          2. Progression options
        3. The trusting client
          1. Characteristics
          2. Progression suggestions
        4. The nasty client
          1. Characteristics
          2. Progression suggestions
        5. The price-conscious client
          1. Characteristics
          2. Progression suggestions
        6. Summary
      13. 7. Managing Clients
        1. Points of contact
        2. Performing risk assessment of the project
          1. Measuring complexity
          2. Key performance indicators
          3. Defining client expectations
          4. Analyzing implications
          5. Defining an exit strategy
        3. Analyzing the client
          1. Commitment
          2. Ethics and difficulty
          3. Financial
          4. Learning and execution
          5. Consistency
          6. Negotiation
        4. Cash flow issues
          1. Avoiding cash flow problems
        5. Summary
      14. 8. Negotiation
        1. The Winning Formula
          1. Timeframe
          2. Budget
          3. Depth
        2. Strategic Negotiation Phases
          1. Stage 1: Evaluate Priorities & Characteristics
          2. Stage 2: Depth Reduction
          3. Stage 3: Define Time scales
          4. Stage 4: Terms of Delivery and Engagement
          5. Stage 5: Price Identification
        3. Summary
      15. 9. Software Development Resources, Patterns and Strategies
        1. Software problems: A recap
          1. Portable code components
            1. Pure HTML5 applications
            2. Hybrid applications
          2. Code translation
        2. Rescued by object oriented programming
          1. Maximising reusability, minimising duplication
          2. Functional adaptability
          3. Clarity of solution implementation
        3. Strategic efficiency with MVC
          1. MVC: Models
            1. Adaptability strategy
            2. Advantages
          2. MVC: Views
            1. Views in action
            2. Advantages
          3. MVC: Controllers
            1. Controllers in action
            2. Advantages
        4. Strategic data management
          1. User interface consistency with data binding
            1. Database consistency
              1. Relational database tools
              2. NoSQL: Alternatives to relational databases
              3. SQL and NoSQL: The best of both
              4. RDMS with NoSQL
              5. Offline databases vs online databases
        5. API-oriented system architecture
          1. Why create an API?
          2. Delivering data
          3. Developing a HTTP based API
          4. API design
          5. API security
        6. Testing strategy
        7. Security considerations
        8. Version control
          1. Concept glossary
        9. Summary
      16. 10. Software Development Methodology
        1. Social factors of software development
        2. Features for preventing problems
          1. Formality
          2. Flexibility
            1. Working hours
            2. Code patterns
            3. Specification management
            4. Skills deployment
            5. Prototyping
          3. Planning and analysis
            1. Time requirements
            2. Knowledge requirements
            3. Budget
            4. Changing requirements
            5. Problem definition
            6. Culture analysis
            7. Technology evaluation
            8. Risk analysis
            9. Viability analysis
            10. Milestone identification
            11. Timescales
              1. Understanding characteristics and learning styles of the client and their employees
              2. Setting expectations and performance metrics
              3. Resolving conflict
              4. Avoiding involvement in client politics
              5. Documenting agreements
              6. Communicating ideas, agreements and opinions
        3. Methodologies of interest
          1. Waterfall model
            1. Conclusion
          2. Incremental model
            1. Conclusion
          3. Spiral model
            1. Conclusion
          4. Agile development
          5. SSM: Soft Systems Methodology
            1. Conclusion
        4. Designing your methodology
          1. Formal structure
          2. Team communications policy
          3. Planning
          4. Testing
        5. Summary
      17. 11. Creating Quotes and Estimates
        1. Maths to the rescue: The basics
          1. Performance rating
          2. Client rating
            1. Example
          3. Estimation
            1. Example
          4. Quotes
            1. Example
        2. Risk management
          1. Counteracting risk
          2. Calculating risk
        3. Recovering unaccounted costs
          1. Examples
        4. Maintaining estimation accuracy
          1. Average client ratings
            1. Example
          2. Selective client ratings
            1. Example
          3. Proportionate client ratings
            1. Example
        5. Summary
      18. 12. Project Management
        1. Client perceptions
        2. Methods of communication
          1. Meetings
          2. Telephone
          3. Conference calls
          4. E-mail
          5. Social media
          6. Post
        3. Allocating the right people
          1. Who is capable of performing the task?
          2. Who is ideal for the task?
          3. Who is available?
          4. What are the limiting factors?
        4. Written agreements
        5. Feature creep
        6. Risk assessment
          1. Project nature
          2. Team politics
          3. Expectations
          4. Legalities
        7. Defining a specification
          1. Creating a specification document
          2. Definitions
          3. Summary
          4. Requirements
          5. System overview
          6. Design
          7. Timescales
          8. Cost plan
        8. Feedback
          1. Meetings
          2. Survey tools
          3. Prototyping
          4. Email
          5. Conference calls
        9. Release cycles
          1. How often?
          2. Feature order
          3. The parking list
        10. Summary
      19. A. Appendix
        1. Interview 1
        2. Interview 2
        3. Interview 3
        4. Interview 4
        5. Interview 5
        6. Interview 6

    Product information

    • Title: Going IT Alone: The Handbook for Freelance and Contract Software Developers
    • Author(s): Leon Brown
    • Release date: December 2016
    • Publisher(s): Packt Publishing
    • ISBN: 9781783001408