Symbian Developer Network

View a printable version of the current page.
  Wiki > Symbian Developer Network Public Wiki > ... > Symbian Press Books > Symbian for Software Leaders
  Symbian for Software Leaders
Added by rodders, last edited by rodders on Feb 15, 2008  (view change)
Labels: 
(None)

Subtitle
Principles of Successful Smartphone Development Projects

This book explains how to manage projects involving Symbian OS - from the creation of smartphones to the development of applications. There are unique components to Symbian OS projects; this book helps you to avoid costly mistakes.


Smartphones are poised to dramatically change the worlds of mobile communications and mobile computing. One company sits at the heart of this revolution: Symbian, the provider of Symbian OS, the industry-standard operating system for smartphones. Hundreds of partner companies and many thousands of independent developers are busily creating smartphone products to take advantage of the power of Symbian OS and the opportunities it offers.

Smartphones are mobile portals into the ever-expanding, ever-more-important digital universe. As with any revolutionary new technology, Symbian OS poses challenges to software developers at a management as well as a technical level. This is the first book to address the wider set of skills and thought processes necessary to successfully complete smartphone development projects.

As a co-founder of Symbian and former executive of Psion Software, David Wood has been actively involved in well over 100 smartphone development projects worldwide. Over the time spent on these projects, he has come to understand the key issues which determine the difference between successful and unsuccessful projects for Symbian OS. This book highlights and explains:

  • How to tame the awesome inner complexity of smartphone technology
  • Optimal project team organisation, combining agility and reliability
  • The design and the philosophy behind key features of Symbian OS
  • The potential trouble spots of smartphone integration, testing, and optimisation
  • How to receive the full benefit of the diverse skills in the extensive Symbian partner ecosystem
  • The methods that are most likely to deliver commercial success when using Symbian OS
  • The wider significance of Symbian OS skills and expertise in the evolving mobile marketplace
  • The particular importance of software leaders in bringing breakthrough smartphone products to the market.

Table of contents

Introduction: projects, projects, projects

Part 1: Symbian in context

1 At the heart of the smartphone revolution
1.1 The phenomenon of smartphones
1.2 Taking advantage of the smartphone opportunity
1.3 The role of the smartphone operating system
1.4 Regarding APIs and operating systems
1.5 Why Symbian OS?
1.6 Aside: from organizers to smartphones
1.7 Coming to terms with Symbian OS

2 The big picture of a Symbian OS project
2.1 High-level components of a smartphone
2.2 Providers of integrated solutions
2.3 The commercial model of a smartphone project
2.4 Some conclusions from the smartphone commercial model
2.5 Typical smartphone project timescales
2.6 Warning regarding timescales
2.7 Factors influencing project timescales
2.8 The big picture: beyond timescales

3 Involving ISVs
3.1 ISV smartphone opportunity and risk
3.2 Beyond technical skill-sets
3.3 Different routes to market
3.4 Symbian endorsements
3.5 Companion Technology Program
3.6 Symbian Signed

4 Twenty reasons why smartphones will win
4.1 Two kinds of battle
4.2 Multitasking
4.3 Messaging and entertainment
4.4 Mobile knowledge access
4.5 Organizers and finance
4.6 Pocket consolidators
4.7 Social tools
4.8 Personal development
4.9 Phones win
4.10 Openness wins

Part 2: Thriving on scale

5 Managing large projects
5.1 Smartphone projects vs. feature phone projects
5.2 Three approaches to large projects
5.3 How large projects differ from small projects
5.4 Project groupware
5.5 Confidentiality issues
5.6 Five central project documents
5.7 Auditing document readership
5.8 Processes and agility: education vs. processes
5.9 Problems when groupware is short-cut
5.10 Symbian's use of groupware

6 Managing defects
6.1 Introduction to smartphone defect management
6.2 Living with defects
6.3 Aside: an embarrassing moment with defects
6.4 Defect priorities
6.5 The process of verifying a defect fix
6.6 Advanced defect investigation
6.7 Defect status values
6.8 Defect database requirements
6.9 The role of the project leader in managing defects

7 Managing configurations
7.1 Introduction to configuration management
7.2 Aside: learning about configuration management
7.3 Consequences of weak configuration management
7.4 Basic principles of configuration management
7.5 Codeline strategy - single projects
7.6 Codeline strategy - multiple projects
7.7 Beyond codeline strategy

8 Managing integration
8.1 Integration vs. creation
8.2 Mainlines and development codelines
8.3 Iterative development
8.4 Gate-keeping and integration tests
8.5 Dealing with build or test failures
8.6 The weekly integration cycle
8.7 Integration discipline

9 Managing interfaces
9.1 Knowing when components belong together
9.2 Limits of rebuilding source code
9.3 Forms of compatibility
9.4 The compatibility virtuous cycle
9.5 System compatibility board
9.6 Responsibilities with regard to compatibility
9.7 Interface access and interface status
9.8 Versioning
9.9 Future-proofing interfaces

10 Managing testing
10.1 Beyond complete testing
10.2 Testing in context
10.3 Functional tests
10.4 Basic Acceptance Tests
10.5 Specialist tests
10.6 Friendly User Tests
10.7 Mandatory tests
10.8 Automated tests

11 Managing tools
11.1 The need for a tools champion
11.2 Debuggers
11.3 Emulators
11.4 Profilers and loggers
11.5 Static code analysis
11.6 Build system
11.7 Distribution system
11.8 Miscellaneous tools
11.9 Dangers with tools

12 Managing plans and change
12.1 Beyond complete planning
12.2 Causes of change
12.3 Handling change requests
12.4 Variable task estimates
12.5 Practical example of agile scheduling
12.6 Accepting slack
12.7 Aggressive vs. defensive scheduling
12.8 Authentic vs. inauthentic scheduling
12.9 Beyond meeting customer requests

13 Managing uncertainty
13.1 The 80-20 rule for planning
13.2 Identifying the project planning hot list
13.3 Iterating the project plan
13.4 Developing features outside the agreed core
13.5 The 80-20 rule for task estimation
13.6 Typical project trouble spots
13.7 Pros and cons of milestone reviews
13.8 Dealing with milestone delays
13.9 Cut features not corners

14 Simplifying smartphone projects
14.1 Beyond difficulty
14.2 Reuse rather than reinvent
14.3 The benefits of frequent releases
14.4 Symbian's adoption of the frequent release model
14.5 Use of reference designs
14.6 Silver bullets vs. disruption

Part 3: Symbian's design philosophy

15 Design goals for Symbian OS
15.1 The birth of EPOC32
15.2 Defining the EPOC RISC architecture
15.3 Software goals from 1995
15.4 Separating the engine
15.5 Nine passions

16 Designing for efficiency
16.1 The original electronic organizers
16.2 Limits of Moore's Law thinking
16.3 Causes of code bloat
16.4 Designing algorithms
16.5 Understanding the compiler
16.6 Adopting OO
16.7 Selecting C++
16.8 Text descriptors

17 Designing for robustness
17.1 Alloc heaven
17.2 Expecting the unexpected
17.3 The perils of multitasking
17.4 Exception handling
17.5 Common mistakes in destructors
17.6 Seeking out failure cases
17.7 Attitudes towards defects
17.8 Protecting the smartphone vital assets

18 Designing for usability
18.1 ''The operation was a success, but the patient died''
18.2 Enchantment
18.3 Designing the user interface
18.4 Multimedia performance
18.5 Understanding the real competition
18.6 Customer orientation for developers
18.7 Designing panics

19 Designing for longevity
19.1 Preparing for variants
19.2 Be ready to fail fast
19.3 Prepare your own SDK
19.4 The value of co-development
19.5 Basic principles for reusable solutions
19.6 The value of architecture
19.7 The value of ignorance

20 Designing for smartphones
20.1 The licensing question
20.2 Focus on strategy
20.3 Smartphone heritage
20.4 Active objects
20.5 Power management
20.6 Beware stray signals
20.7 Final comments on asynchronous events

Part 4: Human aspects of smartphone projects

21 The essential role of the project manager
21.1 Focus
21.2 Project manager vs. technical lead vs. product manager
21.3 Project review meetings
21.4 Commercial negotiations with third parties
21.5 Project manager authority

22 The essential role of the support network
22.1 Pros and cons of support consultants
22.2 Cultivating connections
22.3 Building a team out of nothing
22.4 Helping consultants to be effective

23 The essential role of renewal
23.1 The role of the post partum
23.2 Line management skills
23.3 Circulation of team members
23.4 Principles of collaboration
23.5 The increasing importance of software
23.6 A guide for software leaders
23.7 Symbian OS renewal

Purchase this book

Amazon

http://www.amazon.com/exec/obidos/ASIN/0470016833/wwwsymbianc0c-20/102-6816747-6517758?creative=327641&camp=14573&link_code=as1

Wiley 

http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470016833.html;

Official website

http://www.symbian.com/developer/books/ssw/soft_lead.html;