All Posts in the ‘News’ Category

Selecting a Microsoft Team System (TFS) 2010 Scrum Process Template

August 28th, 2010 | By tpenny in News | No Comments »

I recently completed a short assignment comparing the options for Team System 2010 Scrum Process templates for a local IT organization in the travel/financial services industry.  The organization is already committed to Scrum using Team System 2008 with the EMC/Conchango Scrum Template for Team System v2 Template.

I researched the options online including reading through Crispin Parker’s excellent blog articles on the subject.

Here is a summary of the criteria used for evaluating the options

  • Organization already using and committed to the Scrum process using TFS Team System 2008 with the Conchango v3 scrum template, so it would be an upgrade of tools
  • Needed to a free template
  • Needed to support the scrum process specifically

The options I found were:

Microsoft Visual Studio Scrum 1.0 is a very basic tool and is suited to small single team environments or maybe two team environments where the reliance on the tool vs. direct collaboration is quite low.  It would work well where the planning and scrum master roles are straightforward.  I would think it would be a good option for small product development teams that want the benefits of tool for automation of the scrum process but that will mostly be using a ‘whiteboard’ task board or something similar.  Because the organization in question is larger and more sophisticated, this option was not considered further.

Microsoft Team System Scrum Templatesscrum template comparison - click here for pdf version

The other two options, SfTS and MSF Agile are both more powerful templates and would function well in a more complex multi-team environment where the backlog and planning process is more complex.

I completed a brief comparison of the features based on the existing SfTS 2.0 implementation as the baseline and the existing usage of the tool.  In reality, most of the action takes place with the setup of the sprints and then at the product backlog and sprint backlog task level, so I focussed on these areas in detail as the expense of other features which while useful are not heavily used by this organization today.

I also created a simple quadrant chart to show which templates might be applicable given a specific situation.  The parameters I focussed on were size and complexity of the team(s) and the degree to which an organization is generally agile vs. being strictly scrum in methodology.

Scrum Template Quadrant Chart

Scrum Template Quadrant Chart

As I learn more, I will update this post with the latest information.

Android and iPhone Enterprise and Embedded Device Development

July 18th, 2010 | By tpenny in Announcements, News | No Comments »

The Pennell Group Announces Apple iPhone and Google Android Enterprise and Embedded Device Development Using a Rapid Delivery, Low Cost Onshore/Offshore Resource Model

Get your consumer and enterprise solutions to market faster at lower cost by using the Pennell Group’s dedicated team of software development professionals.

  • Solution prototypes can be delivered in days for a fraction of the cost of traditional service providers
  • We combine an onsite presence with the latest virtual collaboration technology to drive down delivery times and costs
  • We commit to partnering with you to ensure that your success is our success,  we work tirelessly to achieve your goals and are 100% accountable for our work
  • When time to market matters, we can provide 24/7 execution to ensure the most rapid delivery schedule
  • Based in the Minneapolis-St Paul, Twin Cities Area, we are ready to accept new engagements or collaborate on new business ventures immediately

For more information call (651) 319 1857 or email tpenny@pennellgroup.com

____________________________________________________

Areas of Specific Expertise Include:

J2ME, Android, FlashLite, Windows Mobile, iPhone and Symbian. We also have expertise in mobile application testing for GUI, application integration, SMS, GPRS, NFC, Bluetooth etc. We have experience in manual as well as automated testing. We have knowledge of platforms like ‘Test Quest’ and ‘DeviceAnywhere’ for automated testing.

Our team has strong development capabilities on Android platform. Our services include

  • Android porting

We offer porting of Android kernel and system-level libraries onto OEM platform from scratch.

  • Android device driver development

We develop and provide timely and reliable device driver solution for Android hardware platform.

  • Android product development

The team has successfully ported Android on Intel PXA270, for their earlier employer. PXA270 processor is widely used for mobile and portable applications. The team offered

Design and development of hardware prototypes based on PXA270 platform

Customized Android BSP for PXA270 platform

Enhanced boot loader with support for firmware upgrade

Optimized root file system.

Development of drivers for different interfaces including  Ethernet, Graphical display, Touchpad, USB host with support for mass storage and HID classes, Flash memory

Domains:

  • Audio / video
  • Automotive
  • Security & surveillance
  • Logistics
  • Industrial automation
  • Energy monitoring
  • Medical instrumentation
  • Telecommunication

Design expertise:

  • Power management
  • Performance tuning
  • TI DaVinci audio video codecs (H.264, MPEG2/4, G711)
  • GUI library
  • Boot loaders
  • POST (power on systems tests)
  • Remote network upgrade
  • Remote diagnostics
  • File systems
  • USB stacks
  • Certifications and compliance

Solutions

  • Universal data loggers
  • Chiller controllers
  • DDC controllers
  • Protocol converter gateways
  • Gas meters
  • BTS shelters
  • BMS and remote monitoring systems

Hardware: ARM, DaVinci, Atom, PXA, CF, USB, SDIO, SPI, HomePlug, CAN, Ethernet, audio, LCD, camera, Bluetooth, ZigBee, NFC, RFID, 802.11b/g/n, RF 433, GSM, GPRS, 3G, GPS

BSP and firmware: Boot-loaders, Linux variants, Android, CE, uCos, FreeRTOS, IDE, PCI, USB, UART, Wi-Fi, Bluetooth, ZigBee, LCD, CCD/CMOS camera, H.264, MPEG-4, MP3, power management

Embedded applications: Modbus, FieldBus, BACNet, CAN, LONWorks, Wi-Fi, ZigBee, RFID, NFC, GSM, GPRS, GPS, Bluetooth, encryption, audio/video codecs and streaming

Enterprise applications: .Net, Java, Flex based applications with various web servers, application servers, and database servers, redundancy, scalability, load balancing, rich UI, JavaFX

Mobile applications: iPhone, Android, Flashlite, J2ME, BlackBerry, Symbian, Windows mobile, JavaFX ,Processors, Peripherals

  • ARM7: NxP LPC series
  • ARM9: TI DaVinci DM355, DM365
  • Intel: Atom, XScale PXA, IXP
  • TI: OMAP, DaVinci, L1xx, Piccolo
  • Microchip: PIC18, PIC24, PIC32, dsPIC
  • Operating systems / device drivers
  • Linux 2.4.x, 2.6.x
  • Android
  • Windows CE 5.0/6.0
  • Windows Mobile 6.0
  • eCos
  • FreeRTOS
  • Maven embedded OS
  • Flash: OneNAND, NAND, NOR drivers
  • Bus / interface drivers: USB 1.1, 2.0, OTG, PCI, mPCI, SDIO, PCMCIA, SATA
  • ZigBee: MeshConnect, TI CC2420, CC2430 drivers
  • Bluetooth: CSR BC04/BC05 driver
  • Wi-Fi: Device drivers for 802.11a/b/g/n, Marvel, Microchip ZeroG
  • GSM / GPRS: Modem driver
  • GPS: Skytraq Venus, LeadTek, SiRF star and ublox GPS drivers with NMEA / SiRF / TSIP / TAIP  protocol support
  • PLC (Power Line Communication): Yitran (HomePlug CC), Intellon / Atheros (HomePlug AV / 1.0) drivers
  • Ethernet: MI-II, RMI-II drivers
  • Serial: UART (RS232 & RS485), SPI, I2C, CAN drivers
  • Telecom: FXS, FXO drivers
  • Video: VGA, CCIR-656, MPEG2/4, H.264, MJPEG CODEC, OSD, LCD interface drivers
  • Audio: PCM, I2S, AC97 drivers
  • Touchpad drivers

Operating systems / firmware: After selecting a right kind of processo,r it is extremely important to select appropriate operating environment. We consider various factors such as memory footprints, performance, power requirements and licensing costs.

Firmware development: Low memory foot-print data structures and programs are developed for controlling various peripherals. The hardware abstraction layer (HAL) contains drivers developed for interfaces such as RFID readers, Bluetooth, Wi-Fi, Ethernet, Weigand readers, USB host and device, UART, RS485, batteray, LCD, keypad and IOs, touch screen and storage devices. Firmware development for different family of controllers like Microchip PIC18, PIC24, PIC32 and LPC series is done. These are primarily used in logistics management, location identification and asset tracking applications.

Real-time operating system: Low memory foot-print real-time operating systems are developed for applications which need guarantee that the business logic is executed in a deterministic way. We have expertise on Free-RTOS and has developed proprietary RTOS. Using multi-tasking ability of RTOS allows for fast and easy development. We have used RTOS for home automation and energy monitoring solutions interfaced with various interfaces such as energy meters, PLC gateways and Zigbee based sensors.

High end operating systems: High-end 32-bit processors with operating systems are used for different requirements such as support for video cameras, streaming applications, Wi-Fi, storage requirements and HMI displays. We have expertise in porting Linux (2.6.32), Android (2.0) and WinCE (5.0 and 6.0) on various platforms such as TI’s DaVinci and OMAP series, NXP’s LPC series and Intel’s PXA and IXP family of processors.

Multimedia and user interface Linux applications (based on DM368 or DM365) are developed by taking advantage of the hardware acceleration and software frameworks such as Linux GStreamer and TI’s digital video software development kit (DVSDK) Rich UI and video based application development is done using QT and specific codec plug-ins like H264 and MPEG4.

Applications like bus consoles with cameras, video based security surveillance systems and wireless DVR solutions are developed using operating system based applications.

Bootloaders / redundant image support / remote upgrade: We have developed serial bootloaders for flash and USB. Facility of dual partition (image redundancy) is provided which helps one download a new application image on secondary partition. After successful download of image the intelligent bootloaders execute the application from secondary partition. If the new image does not work for any reason, the bootloader switches back to the original image and is ready for new image upgrade. The applications are developed to support serial, Ethernet and on the air image upgrade.

Storage and file systems: Firmware based drivers are developed for internal flash, EEPROM, external data flash, microSD card, standard SD card or USB mass storage. For high-end applications, Linux and WinCE based drivers are ported for USB SATA harddisk and USB mass-storage.

File systems such FAT-32, NTFS, EXT-2, EXT-3, JFFS2, UBIFS, CRAMFS have been ported for Linux. FAT, TFAT and NTFS file systems have been ported for WinCE.

Power management: Efficient battery usage is one of the critical parameters for success of a product. Power management software is developed to provide fine level of control over individual devices such as displays, disks, modems, Wi-Fi, processor, etc. One can also put to sleep all devices except internal RAM or timer in some cases. A device comes out of sleep mode either on ‘power-on’ key press or alarm event or timer event or peripheral interrupt or when any other type of wake-up event occurs.

Mobile communications: Mobile solutions have become an integral part of all the devices used in real-time tracking, monitoring and control. To ensure fail safe communication, dual SIM card facility is provided. GSM, GPRS and 3G based communication mechanisms are used to support different application needs such as only data transfer or supporting multimedia streaming protocols. Modems from Simcom, Centerion, Telit and Wavecom are supported.

GPS solutions: GPS solutions are used for fleet management and individual / logistics / asset tracking requirements. Interfacing of GPS modules from Skytraq, Venus, LeadTek – SiRF STAR III/LP, Ublox 5 has been successfully done.

MEMs device/ accelerometer: MEMs sensor based devices / accelerometers are used in various solutions which need sensing of directions using ‘dead reckoning’ techniques in absence of GPS. Vertical falls or crash can be determined using these devices. These prove extremely useful for devices used in monitoring old people or patients. Drivers for Freescale MMA7455L have been integrated in all solutions.

Wi-Fi solutions: Wi-Fi solutions with support for 802.11 b / g / n are designed considering factors such as range, number of nodes / traffic and type of data to be transferred. Wi-Fi drivers are developed for firmware based solutions used in home automation and security solutions. WiFi drivers have also been ported on Linux and WinCE platforms with high bandwidth requirements for audio video streams transfer. Data rates upto 10Mbps have been achieved using throughput optimization techniques.

Displays: Display options such as LED, character LCD, graphics LCD and TFT LCD display are used to suit product requirements. High end devices with TFT color LCD with touch screen are used with applications such as video streaming and audio-video communication with VGA and QVGA resolutions. Industrial HMI’s / MMI’s, security solutions and bus / driver consoles are developed using high resolution – industrial grade displays.

Single color or multi-color LEDs are used in almost every device for indications.

We have developed drivers for firmware to support range of LCDs including character LCDs, graphic LCDS and TFT LCDs. We have also ported and customized drivers for Linux based TFT LCDs. Touch screen and keypad interfaces are provided as user touch points. Drivers for various touch screens and IO based keypads are developed.

ADCs: Internal and external ADCs are used in solutions for industrial and home automation. If the resolution supported by internal ADCs is not sufficient, higher resolution external ADCs (16, 18 or 22 bits) are used. Drivers for architectures such ‘Delta sigma’ and ‘SAR’ are supported depending on internal or application level sampling.

PLC: We provide advanced ‘Power Line Communication’ solutions for retrofit solutions. RF or WiFi based networks have penetration problems through concrete walls or have issues over long distances. Sometimes wiring infrastructure becomes a problem as adding new communication back-bone to already available concealed wiring is near to impossible and a costly affair. These issues are tackled with PLC based solutions. These types of problems are typically observed in cold storage plants or existing facilities which need BMS solutions or places where industrial automation needs to be implemented. Our PLC to Wireless gateways proves to be a great advantage in such situations. We have developed firmware based solutions like PLC to RF, PLC to Ethernet and PLC to serial gateways.

RF solutions: Support for low and high frequency RF modules is made available for different applications. 2.4Ghz, 433Mhz, licensed and open frequencies are used for applications needing wireless communication with different range requirements. Firmware applications are developed to support updating change of parameters and bulk data transfer over custom protocols. Special care is taken for power management and data is transferred in bursts or only when needed. RF repeater modules are designed for signal amplification to cover long distance communication and RF mesh solutions. RF to PLC and RF to serial gateways are developed for communication between different mediums.

RF based networks have penetration problems through concrete walls or have issues over long distances. Sometimes wiring infrastructure becomes a problem as adding new communication back-bone to already available concealed wiring is near to impossible and a costly affair. These types of problems are typically observed in cold storage plants or existing facilities which need BMS solutions or places where industrial automation needs to be implemented. Our PLC to Wireless gateways proves to be a great advantage in such situations. We have developed firmware applications to build RF to PLC gateways with custom protocol implementation with design considerations of low data rates.

Bluetooth / Zigbee: Bluetooth based solutions are used for connecting mobile phone applications for quick display and easy access of data from controllers. This becomes a great advantage as data can be analyzed immediately without any assistance of PC based applications. One can also check real-time trends and historical trends depending upon the capability of device. Firmware for Bluetooth modules from CSR are integrated with solutions for data centric or device controlling industrial applications with support for services such as file-transfer and Obex.

Zigbee modules are integrated in solutions needing interface with Zigbee protocol support for home / office / industrial automation. Zigbee protocol implementation for sensor communication and mesh networks has been developed.

RFID solutions: RFID based solutions are developed for reading active and passive RFID tags. Firmware for RFID (TRF79xx ISO 14443 A/B, ISO 15693, ISO 18000-3) have been developed to read RFID tags.

Protocol gateways: Devices communicate on multiple communication mediums and thus need gateways to ensure seamless and reliable end-to-end communication. We have developed firmware for several gateways to ensure communication between non-compatible communication channels. Following gateways are developed.

  • PLC to RF and RF to PLC
  • PLC to serial and serial to PLC
  • PLC to Ethernet and Ethernet to PLC
  • RF to serial and serial to RF
  • Ethernet to serial and serial to Ethernet (along with protocol conversions)

USB: Drivers for USB 1.1, 2.0 and OTG support are developed / ported for various microcontrollers and processors. USB host support is provided for connectivity with mass storage devices, printers, etc. USB device support is provided for debugging and device charging. Solutions with multiple USBs with and without DMA support are integrated.

Audio / video: We have integrated CCD cameras in high end security solutions with video surveillance. We has developed driver for 4-channel NTSC / PAL video decoder (TVP5158). Single camera is displayed using VGA resolution on LCD monitor and multiple cameras using QVGA resolution. DM365 based processor is used for a solution to capture streams from a CCD camera with VGA resolution and transferring streams over Wi-Fi. Video based application development is done using specific codec plug-ins like H264 and MPEG4. Audio codecs such as G.711 are integrated.

Industrial automation

We deliver various products – small and large, conventional and specialized, standard and customized in industrial automation area. Since we have in-house expertise to build world-class products, we can deliver standard solutions that will save you money or customized solutions which are not available with any standard products.

This page gives you a summary of our expertise and offerings in industrial automation area. You may want to use a convenient jump table if you want to directly jump to a topic of your interest.

Universal data loggers: This is a hardware + software solution which can be used as simple data logger or also connected to web enabled SCADA system thus making plant data available over Internet and mobile phones. It allows sophisticated alarm management, historical trends of up to 1 year, fast logging, controlling the plant,user defined logic building, etc. Has various connectivity options such as RF, Bluetooth, power line communication, Modbus, GPRS, GSM, along with LCD touch screen as local touch point interface. 8 / 16 / 32 channel options are available.

Key technologies: .Net, Flex, storage and analysis of large amount of historical data, GSM, GPRS, RF, Modbus, BACnet / MSTP, SMS, high precision sensor integration, custom graphic framework, Bluetooth.

Chiller controllers: Chiller controllers can be used for controlling up to four compressor chillers using local and web enabled remote monitoring system thus enabling connectivity over Internet and mobile phones. It has an intricate alarm management with support for handling multiple faults per compressor. Provides facility of viewing historical trends of up to 1 year, fast logging and user defined logic building. Has various connectivity options such as RF, Bluetooth, power line communication, Modbus, GPRS, GSM, along with LCD touch screen as local touch point interface.

Key technologies: .Net, Flex, storage and analysis of large amount of historical data, GSM, GPRS, RF, Modbus, BACnet / MSTP, SMS, high precision sensor integration, custom graphic framework.

DDC controllers: A DDC or building automation controller can be used for various applications such as chiller plant controls, cooling towers, pump controls, air handling units and so on for controlling and data acquisition. DDC processes the information from the input device(s) and based on configurable algorithms, possibly sends output signals and/or optionally stores the data. DDC with various versions are available that have different combinations of digital and analog inputs and outputs. Algorithms such as AND, OR, COMPARISON, NOT, PID blocks, etc. are provided. A configuration tool is provided with symbols library to build logic blocks. Facility of viewing live and historical trends (of up to 1 year) is provided. Has various connectivity options such as Modbus, GPRS, GSM, along with LCD touch screen as local touch point interface.

Key technologies: .Net, Flex, storage and analysis of large amount of historical data, GSM, GPRS, high precision sensor integration, custom graphic framework.

Gas meters: Gas metering devices are used for measuring gas consumption in residential and commercial establishments. A web based user interface is made available for knowing the current consumption status and generating timely reports. Data from individual gas meters is collected and transferred to a gateway device which forwards the data to web server. Devices can also be used for other utility meters.

Key technologies: .Net, Flex, consumption analysis, GPRS.

Protocol converter gateways: Protocol converter gateways are used as a bridge between devices and SCADA / BMS systems. Modbus, BACnet MSTP and BACnet IP are supported currently. Support for custom protocols is also provided which provides connectivity to devices which are otherwise unacceptable.

Key technologies: Modbus, BACnet.

BTS shelters: BTS shelters are monitoring devices having sensing, energy monitoring, control and communication capabilities. It is based on an intelligent microcontroller application integrated with GSM / GPRS modem. It has enough number of inputs and outputs to monitor various site parameters and generate alarms. The alarms and current values can be transmitted to remote user using GPRS or text messages. Touch screen LCD display is provided for local monitoring and configuration purpose. Monitoring and control can be done over a web based server with capabilities of monitoring over 10,000 servers. Monitoring and control can be done over web browser which has a 360 degree view dashboard and mobile application.

Key technologies: .Net, Flex, storage and analysis of large amount of historical data, GSM, GPRS, high precision sensor integration, custom graphic framework.

BMS and remote monitoring systems: BMS and remote monitoring system is an advanced web server that can monitor devices connected over GPRS, Modbus, BACnet or custom protocols. It supports realtime monitoring and control, real time trends, large amount of data logging for historical trend analysis, reports using line / bar graphs and list views with export to excel and print options. Device can be configured easily with options with the help of symbol library. Integrated maps for navigation to devices located at various sites. Also has a 360 degree view dashboard for providing alarm monitoring. SMS and email notifications are provided on alarms.

Key technologies: .Net, Flex, GPRS, GSM.

10 IT Cost Saving Ideas for 2010 (+ 10 Free)

November 8th, 2009 | By tpenny in News | No Comments »

Taking a long and hard look at your IT budget and how to manage it effectively will be front and center for 2010. These are some ideas that we believe can make a significant impact and demonstrate your commitment to aligning IT costs with the needs of the business.

i) Cease using IT recruiters

you don’t need them, there are enough IT candidates available for most staff positions and at 20%-30% of annual salary it just does not make sense in this market. Use your internal HR dept. or another resource to post and complete the initial screening of resumes or focus on an internal referral program. LinkedIn and Plaxo make excellent resources for posting positions and securing candidates through your personal network.  I recently spoke to the CIO of a national restaurant chain who hired a manager by posting an advertisement on his personal update.  He found many qualified candidates and hired someone very quickly.

ii) Eliminate or convert long-term contractor positions -

in all likelihood they are being paid double the market rate for a permanent hire.

iii) Cancel bad projects

that no longer make business sense. Work with the business to have a “no holds barred” discussion on what the priorities are for 2009 and whether the current project portfolio is in alignment. Sunk costs are just that….stop throwing good money after bad….

iv) Consolidate operations functions

and increase efficiency.  For example, production support, call centers, maintenance, end user support etc.

v) Consolidate data center facilities -

applications, servers and storage using VMWare or equivalent products to reduce the overall amount of infrastructure required.

vi) Review all telecom contracts

and look for billing errors and better deals in the market place.  There are companies that specialize in this, and they nearly always save you money. Vendors are highly motivated not to loose customers, so you have a very strong negotiating position.

vii) implement an IT Staff Management process

such as The Pennell Group’s IT Performance Management. Ensure you can account for and manage all your headcount costs on an hourly basis and that all IT managers are thinking like business managers.

viii) Ensure you are capturing all CAPEX man-hours and expenditures.

Anything you miss is most likely rolling up in a staffing expense line item somewhere.

ix) Implement stringent financial goals for all new and ongoing IT projects -

set hurdles for ROI, NPV, IRR or some combination. Form a project governance forum where all projects are reviewed regularly.

x) Extend the life of your legacy systems

which may be coming to the end of their original vendor maintenance window by entering into a third party maintenance contract.  For example, there are companies that will maintain EMC SAN hardware which is no longer supported by the OEM, they have spares and former EMC engineers on staff.

xi) Evaluate the use of RAID 5 & 10 in your Storage Area Networks (SAN).

You may have an over engineered solution that is driving you to purchase more drive capacity than you really need.  Evaluate the data being stored, the business need and what is reasonable.

xii) Implement thin clients for clerical users.

Sometimes Windows terminal devices can make more sense for certain classes of end users while being lower in cost to purchase and maintain.  For remote users, or home workers, consider allowing them to use their own personal computers in return for a monthly rebate.  Ensure that you have addressed information security concerns adequately.

xiii) Use open source software (Linux, Apache, Tomcat, JBoss etc.)

for commodity server functions such as web servers, file sharing, Java application servers, and development and test tools.

xiv) Promote flexible working practices

including flexible hours and work from home.  Then reevaluate your space requirements and renegotiate your lease accordingly.  ‘Hotelling’ and flexible space configurations will reduce the overall sq/ft requirements.

xv) Outsource non-strategic IT functions

to an offshore providers. For example,  maintenance of legacy back-office systems, software testing, data base maintenance and support and routine development projects.

xvi) Review your current IT service provider relationships.

If some of these are high-priced (Big 4 or comparable) and make use of out-of-state resources that travel weekly, look for a local provider that could provide the service with local staff.  Skilled resourced are much more available now, so you have more options.

xvii) Look for ways to offer up more internship and hire more entry level people into junior positions.

Many companies just find it easier to hire mid-level and senior people because it feels easier, but in reality a junior hire may work out much better and reduce overall costs.

xviii) Look for ways to use video conferencing and instant messaging,  Live meeting

and Webex type technologies to avoid unnecessary business trips.  Provide incentives for staff to stay with friends and relatives on business trips to reduce hotel costs.

xix) For training, focus on computer based training and self directed training efforts.

Highly motivated employees will do well with this option as they are much more invested in the process and the outcome.  When employees go to offsite training ensure that they provide a ‘lunch and learn’ for other team members when they return.  This will double their learning and share that information with many others.

xx) Hire The Pennell Group to help evaluate these and many other ideas.