Mobile SOW and Developer Qualifications
Structuring a Statement of Work (SOW) for the development or modification of mobile products should be similar to any SOW your government organization issues for IT products and services.
We are providing sample SOW language for the procurement of customer/external-facing mobile products, skills, testing and mobile code sharing. This language is also included in the RFP-EZ contracting tool. Here are some guidelines for its use.
- The sample SOW language is offered as a starting point for agency program managers to adapt to fit their mobile procurement needs.
- The language was created by leveraging existing mobile procurements developed by members of the Mobile Innovators Network (link) as well as industry practices for mobile development. Not every agency is the same, but agencies generally were looking for these skills.
- Agency managers should include the relevant skills needed to work with their current and/or future agency IT systems for mobile development.
- Mobile products and their development skills are evolving and we will make every attempt to keep this language updated, but visiting platforms’ developer sites (Android, Blackberry, iOS, Windows, HTML5) will ensure your requirements are fresh.
- Finally, and perhaps most important government users need to collaborate with their contracting officers when writing mobile product procurements.
Ongoing Mobile Development Sample SOW
Some agencies have developed an Indefinite Delivery/Indefinite Quantity (IDIQ) mobile SOW for mobile product development long term. Many program offices have created SOW’s for mobile development. When creating a mobile SOW, it is important to cover all current and future development tasks. Be clear about what current systems the mobile products will be leveraged on and potential update information. The sample language below can help for current mobile development skills for contractors.
Sample Language for Specific Mobile Products
Some mobile innovators have sought a specific mobile product (app, mobile website, etc.). Below we have collected some language for specific mobile products (specific one off procurements.)
Mobile Web Site or Responsive Design Web Site
A mobile website refers to a site that is designed to be accessed by mobile Web browsers. Responsive design sites adjust content to fit the size of a person’s device screen.
Sample SOW Language
Sample #1
- Provide mobile (phone and tablet) support and maintenance for multiple screen sizes. Updates (content, design, functionality, etc.) available on the (Agency’s URL) website (PC experience) shall be optimized for phone and tablet experiences (mobile web) through responsive design.
- Provide creative design support, based on the Agency’s digital style guide, for future enhancements following 508 accessibility guidelines.
- Perform unit and unit integration testing. Provide support during all test phases (System, Intersystem, and User Acceptance Testing). Support and coordinate with the Enterprise Performance Test Team and support the Department’s 508 Accessibility Group testing of the application.
Web App
Applications accessed through the internet on mobile browsers are called mobile web apps. These applications are developed with web technologies like HTML, JQuery and JavaScript. Popular social media applications like Facebook and Gmail have their separate mobile based web apps which are very famous among mobile users.
Web apps generally have simpler functionality, will need network access to work properly, and will look more like a website than an app.
Sample SOW Language
Sample #1
- The SOW seeks design, development, installation, training and maintenance of scalable, user centric, high performance mobile website(s). The mobile websites should fully work in multiple browsers and device platforms. The contractor should have experience in mobile strategy and building mobile web apps of similar size and scope. The contractor is expected to use the industry best practices to all aspects of the contract in order to deliver value to USG. Mobile development and services requested are for Windows phone, iOS and Android etc.The agency should also specify if there are any Content management system or any other app that the mobile web app needs to interact with).
Hybrid Apps
Hybrid apps combine elements of both web and native mobile apps. In such applications, web apps are embedded into native mobile apps. User interface is normally covered in the native part of the application while content is loaded through web part of the application. Facebook, LinkedIn and Twitter apps installed on a mobile are best examples where application interface is installed but contents is loaded from the web.
While hybrid apps are not as simple as web apps, they will need network access to function. Agencies also leverage cross development platforms for native apps.
Sample SOW Language
Sample #1
- The Contractor shall design and develop the mobile application in a way that provides a similar theme yet device-specific experience for users depending on what type of device they are on. The two types supported shall be smart phones and tablets.
- The Contractor shall understand and execute the necessary processes to deploy the mobile application to Apple, Google and Windows marketplaces.
- The Contractor shall design and develop an app that appropriately represents the competitive and exclusive nature of the [AGENCY] brand, and creates an app environment that encourages and facilitates habitual use via gamification.
- The app shall be a hybrid of content packaged into the app’s native code as well as content that is piped in from the web using both RSS feeds and web views of externally hosted html pages.
- The app shall work regardless of the user’s connectivity to the internet, as well as give users the option to download and save content to a personal “reading list” for access later regardless of the user’s connectivity to the internet.
- The app shall leverage push notification capabilities in order to remind users about upcoming events.
- The Contractor shall design and develop an app home screen to highlight roughly five Agency featured headlines per day that reside on the Agency website.
Native Apps
A native application or app is an application program that has been developed for use on a particular platform or device. When writing an SOW for a native app, it’s important to properly explain the functionalities of the app.
Sample SOW Language
Sample #1
- The SOW seeks design, development, installation, and maintenance of scalable, high performance, user centric Native apps. The contractor should have experience in mobile strategy and building native apps of similar size and scope. The contractor is expected to use the industry best practices to all aspects of the contract in order to deliver value to USG. Mobile development and services requested are for iOS and Android etc (Note: Agency can specify any other platform they need to contractor to support. The agency should also specify if there are any Content management system that the native app needs to interact with.)
Sample #2
- Provide development and support (operations and maintenance) for mobile (smartphone and tablet) native applications (e.g. iOS, Android, Blackberry, Windows Phone, etc.)
Mobile Key Personnel Skill Templates
Building mobile websites/apps requires people with specific skill sets. Agency SOW’s have sought key personnel and even teams as contained in the language below. Agencies should keep in mind that these skills are evolving and agencies should include relevant skills need to work with current and/or future agency systems.
Please Note: There are redundancies in these lists as they are an amalgamation of SOWs. Agencies should pick the skills applicable for their project(s) and disregard the rest.
Software Architect including Mobile
- Identifies, oversees and approves the development and maintenance of the technical plans
- Identifies required engineering and specialty discipline requirements and manages the integration of those disciplines
- Develops and manages any configuration management (CM) requirements
- Assists in translating stakeholder requirements into system technical requirements
- Oversees designs so that all system requirements are implemented appropriately in the respective components
- Defines the activities, effort and schedule associated with the software development and testing
- Prepares the Release Development Plan and associated plans
- Monitors development of software components and resolves system issues that arise during development
- Reviews and approves verification and validation plans; supports verification and validation activities
- Supports the identification and management of internal and external hardware/software interfaces
- Architects for mobile environment and delivery of web based content to mobile devices
Developers (this includes coders)
Skills should include:
- Mobile web develop experience(HTML5, CSS, J2EE, JAVA, JSON, Objective-C,Websphere Application Server or WAS)
- Format WebSphere Application Server (v8) to deliver content and data to multiple devices and operating systems, including but not limited to: iOS, OS X, Windows, Blackberry, and Android
- Set up and prepare content management system to integrate into WAS
- Expertise with IBM’s WCM or Drupal in conjunction with WASv8
- Cross browser compatibility, IE, FireFox, Safari, Google Chrome, Opera, and mobile browsers
- Integrate search, metadata, tagging, sorting features via the CMS and for mobile web
- Experience in architecture, interaction and navigation design, writing for the web, usability testing, building and launching Drupal database driven websites
- Experience with creating custom Drupal modules and updating existing modules
Or need expertise in the following:
- Core Java, J2EE
- EJB 2.0/3.0, JNDI, JMS, JTA/JTS, RMI
- Servlets, JSP, SAX/DOM
- Web Services, SOAP, WSDL, UDDI, JAXB, JDBC,API for social media integrationIBM Web Application Server, all versions
- IBM Web Portal Server, all versions
- IBM Lotus Connection
- Java Frameworks: Struts, Faces, Swing
- ESB
- Programming and Development skills
- Strong Oracle ICS and Stellent
- Rational Application Developer 8.0 and newer releases
- Eclipse
- Strong UML Modeling, Patterns
- Experience in preparing Design Documents
- In Depth OOD knowledge
- ASP and ASP.Net programming
- HTML, CSS, JavaScript, AJAX
- DOM. XML,XSD, XSLT
- Strong Data Modeling and Database tuning experience
- Microsoft Office Development, all versions
- Secure Code development
- Enterprise Architecture
- Objective-C
- Android SDK
- REST Services
- PHP
Or key skills needed:
- HTML 5/CSS 3
- Human-Computer Interaction (HCI)
- User Experience Design Experts
- Information Architecture
- Java
- JavaScript
- JavaServer Pages
- Jquery
- iOS, Android, Windows 7 mobile platforms
- CMS and Search engines
- Microsoft Visual Studio
- Search Engine Optimization (SEO)
- All Leading Social Media Channels (Facebook, Twitter, YouTube and etc.)
- SQL
- Linux
- Visual Design / Graphic Designers
- 508 Compliance Test Suite
Front End Developer
- The Contractor shall provide front-end development skills and expertise for custom web and mobile applications
- The Contractor shall be called on to modify and develop HTML, CSS, JavaScript and XSLT for custom web and mobile applications
- The Contractor shall be experienced in HTML 5 technologies with a focus on multimedia presentations
- The Contractor shall work within a multi-disciplinary team to ensure all software is developed in accordance with ODDI guidelines for scalability, performance, reliability and security
The ideal candidate shall possess the following skills and knowledge areas:
- Expertise with HTML5 and CSS3
- Expertise with JavaScript
- Expertise with Media Queries using CSS and JavaScript
- Expertise with XML / XSLT
- Experience working with mobile frameworks (jQuery Mobile, Sencha Touch, SproutCore)
- Knowledge of PHP 5
- Knowledge of MySQL
- Experience with Adobe Creative Suite
- Experience with Rapid Prototyping Software
- Experience developing in an Agile, Scrum environment
Software Developer/PHP
- The Contractor shall provide software development skills and expertise for the delivery of custom applications for web, mobile and emerging platforms.
- The Contractor shall be called on to modify and develop PHP, JavaScript, HTML and CSS for custom web and mobile applications
- The Contractor shall be called on to design software architecture and data-models to support the development of custom applications
- The Contractor shall be called on to incorporate 3rd party APIs with custom developed software for enhanced features and functionality
- The Contractor shall work within a multi-disciplinary team to ensure all software is developed in accordance with ODDI guidelines for scalability, performance, reliability and security
The ideal candidate shall possess the following skills and knowledge areas:
- Expertise in object-oriented and test-driven PHP programming
- Knowledge of SOA approaches, design patterns, and frameworks
- Experience developing web services in a SOA based environment
- Experience designing data-models and working with MySQL
- Knowledge and understanding of document-based databases
- Experience in HTML, CSS, and JavaScript
- Experience working with 3rd party APIs
- Experience working in a Unix / Linux Computing Environment
- Experience developing in an Agile, Scrum environment
Mobile App Developer
Essential Skills:
For web, hybrid and native app development skills; a simplified list of skills needed
iOS:
- Strong OO design and programming skills in Objective-C
- Familiar with iOS SDK (UIKit, Cocoa Touch, Core Data, Core Location, etc)Familiar with xcode
Android:
- Strong OO design and programming skills in Java (J2EE/ J2ME)
- Familiar with the Android SDK
- Knowledge of SQLite, MySQL or similar database management system
- Familiar with Eclipse
Common skills:
- Understanding of other compiled languages
- Experience on web service integration (SOAP, REST, JSON, XML)
- Experience of development using web technologies
- Good understanding of OO programming and design patterns
- Good understanding of HTML5, JavaScript, jQuery, Ajax and PHP
- Experience building web and native apps
- Experience using social media APIs
- Ads integration using a 3rd party ad server (DART)
- Using version control (e.g. SVN)
- Excellent debugging and optimisation skills
Desirable skills:
- LAMP development experience
- PHP frameworks (e.g. Zend)
- PHP template engines (e.g. Smarty)
- Creative design skills
- Working with a content management system
- Working in a media/ publishing environment
Quality Assurance Engineer
- The Contractor shall design and implement quality control processes
- The Contractor shall develop and present software and system quality assurance plans
- The Contractor shall create and maintain manual and automated test scripts
- The Contractor shall administer functional, acceptance, integration and regression testing
- The Contractor shall plan and execute cross-browser and cross-device testing
- The Contractor shall create automated test suites
- The Contractor shall develop testing metrics and provide reports regarding quality assurance progress and status
The ideal candidate also posses the following skills and knowledge areas:
- Experience with various test automation software
- Ability to write PHP unit tests
- Ability to test and debug HTML, CSS and Javascript
- Knowledge of modern mobile platforms, including: iOS and Android
Project Manager
- Plans and manages cost, schedule, and resources for the project/program
- Performs gap analysis, maintains traceability between projects plans and requirements
- Establishes agreements with supporting organizations
- Directs and coordinates the activities of all of the project/program’s functional areas
- Interfaces with customer representatives on managerial and technical matters and coordinates activities of consultants
- Identifies and manages project/program risks
- Develops corrective action plans
- Generates periodic status reports to Government and Contractor senior management
- Develops the project/program’s effort estimates and ensures adequate resources are allocated for the project/program’s activities
- Schedules, prepares, and conducts formal customer reviews
- Identifies project/program training needs and communicates to organization’s Training Manager
- 5 years of work experience in IT or Technical System management
- Ensures required funding is available to support the project/program’s planned training
- Tracks proposals and contracts to conclusion through Contractor and Government administrative process
- Assists in strategic planning activities
- Coordinates with suppliers/subcontractors on a regular basis
- Develops and maintains the PMP
- Coordinates activities and responsibilities of staff in the functional area and with other functional areas, as needed
- Conducts regular meetings with project/program staff to review the performance of planned activities to assess progress, determine issues and problems, and ensures the project/program is managed in accordance with the project/program’s defined process
- Develops and maintains the portion of the project/program’s process (e.g., plans, procedures, forms)
- Provides regular status information to Contractor and [AGENCY] management
- Represents the project in management reviews and other project/program-level meetings
- Provides metrics information for the functional area (i.e., performs the Metrics role defined in this section)
- Ensures CM practices are implemented in the functional area
- Assists with identification and reporting of risk and mitigation activities
- Conducts and reports customer satisfaction via direct meetings
- Reviews and approves the Release Development Plan and associated plans
- Ensures requirements and changes to requirements are agreed to
- Ensures the team members perform their activities in accordance with the Release Development Plan
- Monitors quality of deliverables
- Monitors customer acceptance of deliverables
Team Resources
The Contractor shall provide team resources that will be required to demonstrate relevant technical experience in mobile arena using different and varied technologies. Please note this is not an exhaustive list of skills but just an example.
- HTML5
- Human-Computer Interaction (HCI)
- User Experience Design Experts
- Information Architecture
- Java
- JavaScript
- JavaServer Pages
- Jquery
- iOS, Android, Windows 7 mobile platforms
- CMS and Search engines
- Microsoft Visual Studio
- Search Engine Optimization (SEO)
- All Leading Social Media Channels (Facebook, Twitter, YouTube and etc.)
- SQL
- Linux
- Visual Design / Graphic Designers
- 508 Compliance Test Suite
Mobile Product Testing
Once an agency builds a mobile product, it needs to test it. Please view these mobile testing guidelines for more information on mobile product testing. Here is some Sample SOW Language for mobile product testing.
Sample #1
Review and Testing
The Contractor shall perform the following review and testing procedures in the Contractor and agencies development/test environments, at a minimum:
- Code Reviews: Examine the source code
- Unit Testing: Verify functionality of a specific area of code
- Smoke Testing: Validate code changes before the changes are checked into the source control.
- Regression/performance and load Testing: Verify enhancements, patches and configuration changes
- Integration Testing: Verify interfaces that integrate with apps
- Security Testing: Verify system security against known and potential threats
- UAT Testing: Establish UAT environment and support users and stakeholders during UAT
- 508 Compliance Testing: Code and Verify that 508 Compliant
Sample #2
Test Plan (TP)
Prior to performing the review and testing procedures noted above, the Contractor shall develop a Test Plan (TP) that outlines the workflow of the review and test process. The TP must be reviewed and approved by the GTM. The TP should include the following elements, at a minimum:
- Test Approach
- Testing Objectives
- Testing Priorities
- Test Methods (Unit, Smoke, Regression, Integration and etc.)
- Testing Procedures
- Evaluation Criteria
- Test Responsibilities
- Test Reporting
- Test Resolutions
Test Report (TR)
The Contractor shall develop a Test Report (TR) that outlines all reviews and tests performed and respective results. The TR must be presented to the USG prior to proceeding to the User Acceptance Testing phase. The Contractor shall ensure the software is production-ready, and operates on the intranet and Internet environments provided by the USG.
User Acceptance Testing (UAT)
The Contractor shall support and coordinate all UAT efforts with Information security and assurance team members.
Mobile Code Ownership or Open Sourcing
Agencies are adopting open government and open source methods by creating API’s and sharing other types of code to make mobile development easier. Agencies should include language in their mobile product SOW’s in order to leverage third party developers and other methods.
You should consult your contracting officer for specific language, but FAR code 52.227.17 generally addresses Authorization and Consent. Agencies need to identify a list of deliverables/types of code that they will own and what is patentable by the contracting organization. This is necessary if you wish to publish the code written by the contractor for your contract under a license where the government asserts copyright ownership. This is generally not necessary if you are just USING open source code or APIs.
Consult with legal and your procurement officer for your agency’s procedures.
Sample SOW Language
All products, designs, drawings and outputs developed as part of the activities conducted on this contract/order will be considered the property of the Government and may serve as input on subsequent orders, or other contractual vehicle as deemed appropriate. Offerors shall not submit as proprietary data in their proposal or quotation any restrictions that will limit the Government’s ownership and right to use the data generated, products, designs, drawings, and outputs developed under this award.