jump to navigation

HubTechInsider.com presents: Mastering HTML 5 Web Development (Video 1 of 17) July 19, 2013

Posted by HubTechInsider in Video Tutorial Series.
Tags: , , , , ,
add a comment

HubTechInsider.com presents: Mastering HTML 5 Web Development (Video 1 of 17)

Subscribe to HubTechInsider on YouTube

What is a User Story? How are they used in Requirements Gathering and in writing User Acceptance Tests? October 3, 2010

Posted by HubTechInsider in Agile Software Development, Definitions, Project Management.
Tags: , , , , , , , , , , , , , , , , ,
add a comment
user stories image

Image via Wikimedia

What is a User Story? How are they used in Requirements Gathering and in writing User Acceptance Tests?

User Stories are short conversational texts that are used for initial requirements discovery and project planning. User stories are widely used in conjunction with agile software development project management methodologies for Release Planning and definition of User Acceptance Criteria for software development projects.

User Goals, stated in the form of User Stories, are more closely aligned with Business Priorities than software development Tasks and so it is the User Story format which prevails in written statements of User Acceptance Criteria.

An Agile Project Team is typically oriented to completing and delivering User-valued Features rather than on completing isolated development Tasks.These development Tasks eventually combine into a User-valued Feature).

User Goals are not the same things as software development Tasks. A User Goal is an end condition, whereas a development Task is an intermediate process needed to achieve this User Goal. To help illustrate this point, here are two example scenarios:

1. If my User Goal is to laze in my hammock reading the Sunday Boston Globe newspaper, I first have to mow the lawn. My Task is mowing; My Goal is resting. If I was able to recruit someone else to mow the lawn, I could achieve my Goal without having to do the mowing, the Task.

2. Tasks change as implementation technology or development approaches change, but Goals have the pleasant property of remaining stable on software development projects. For example, if I am a hypothetical User traveling from Boston to San Francisco, my User Goals for the trip might include Speed, Comfort and Safety. Heading for California on this proposed trip in 1850, I would have made the journey in a high technology Conestoga wagon for Speed and Comfort, and I would have brought along a Winchester rifle for Safety. However, making the same trip in 2010, with the same User Goals, I would now make the journey in a new Boeing 777 for updated Speed and Comfort and for Safety’s sake I would now leave the Winchester rifle at home.

· My User Goals remained unchanged, however the Tasks have changed so much that they are now seemingly in direct opposition. User Goals are steady, software development Tasks as stated on SOWs (Statements Of Work) are transient.

· Designing User Acceptance Criteria around software development Tasks rarely suits, but User Acceptance Criteria based on User Goals always does.

A User Story is a brief description of functionality as viewed by a User or Customer of the System. User Stories are free-form, and there is no mandatory syntax. However, it can be useful to think of a User Story as generally fitting this form:

“As a <type of User>, I want <Capability> so that <Business Value>”.

Using this template as an example, we might have a User Story like this one:

“As a Store Manager, I want to search for a Service Ticket by Store so that I can find the right Service Ticket quickly”.

User stories form the basis of User Acceptance Testing. Acceptance tests can be created to verify that the User Story has been correctly implemented.

User Story Card

Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies,software developmentAgile project managementmanaging software teams, designing web-based business applications, running successful software development projectsecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurshipecommercetelecommunications andsoftware development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

Lexington’s Tokutek, indexing software developer, raises $2.8 Million from a group of undisclosed investors August 23, 2010

Posted by HubTechInsider in Software, Startups, Venture Capital.
Tags: , , , , , , , , ,
add a comment

Lexington, Massachusetts -based Tokutek, an indexing software developer, raises $2.8 Million from a group of undisclosed investors.

The Hub Tech Insider Glossary of Mobile Web Terminology August 21, 2010

Posted by HubTechInsider in Definitions, Mobile Software Applications, Wireless Applications.
Tags: , , , , ,
1 comment so far
Image representing iPhone as depicted in Crunc...

Image via CrunchBase

Well, as all of my regular readers know, and most casual readers of these pages can probably easily surmise, I am an ecommerce guy.

I have been designing, programming, managing, and just about everything-ing, ecommerce sites and companies for well over 15 years at this point.

I started my first ecommerce site in 1994. My first web site was an ecommerce site, the third web site in the US state in which I was living at the time. So building online stores is something I am super passionate about.

Sometime ago, probably around 2003 or 2004, I became convinced of the inevitability of the mobile web, and mobile web browsing for ecommerce sites.

I never really believed that the mobile browsing and online purchasing experience, or typical use case, for mobile browsing would be the same as the browsing experience on the desktop PC-based web. It just seemed to me that the mobile version of an ecommerce (or any other content-serving web site, for that matter) site would have to be optimized for a person on-the-go.

The appearance of the Apple iPhone really got me fired up about the mobile web, because I saw Apple driving mobile browsing to the fore of the public’s attention. There were several other factors that were, to my mind, inevitably driving the adoption of mobile web browsing.

So I set out to learn everything I could about mobile browsing, browsers, devices, standards, everything about mobile ecommerce and mobile web design.

At this point (summer 2010), I have set up several mobile versions of ecommerce sites. The mobile version of one of  my latest ecommerce projects, tshirtnow.net, is currently responsible for around 9% of that site’s orders, which I find amazing. I expect this number to grow over time.

My employer, eSpendWise, (I am Director of Technical Projects there) is in the midst of developing a very thoughtful mobile portal into the eSpendWise ecommerce and eProcurement platform used by many Fortune 100 companies, like Apple, Inc., Nike, and others. Optimizing the mobile portal for the nomadic browsing experience (picture a store manager approving a shipment of cleaning supplies on their smartphone while running to help a cashier) while still preserving the power and flexibility of the eSpendWise platform, as you might well be able to imagine, dear reader, is a challenging task to say the least.

A recent study by mobile commerce analysts at Morgan Stanley projected that within five years, the number of user accessing the net from mobile devices will surpass the number who access it from PCs.

Because the screens are smaller, such mobile traffic is trending to be driven in the future by specialty software, mostly apps, designed for a single purpose. For the sake of the optimized experience on mobile devices, many users will forgo the general purpose browser for specialized mobile applications. Users want the Net on their mobile devices, but not necessarily the Web. Fast and easy (specialized purpose-built mobile applications) may eventually win out over flexible (the current desktop browser-oriented world wide web).

One thing I recommend is designing to web standards for your mobile applications or portals. In this way, you have the best shot at “future proofing” your mobile optimized content and applications.

During the writing of Functional Specifications for some of the mobile projects I have been involved with or responsible for, I have created a Glossary of mobile web terms and terminology I wanted to share with my HubTechInsider.com readers so that it may serve as a reference for their own mobile web design efforts.

Please don’t hesitate to send me an email with any questions or additions / corrects you may have for me, and please send me a short note with links / information about your own mobile web design efforts!

The Hub Tech Insider Glossary of Mobile Web Terminology

3G – 3G stands for Third Generation and refers to the latest phase in mobile technology. 3G enables much faster connections to the Internet so that you can get richer multimedia experiences such as video messaging.

4G – 4G stands for Fourth Generation and is a somewhat vague term used to describe wireless mobile radio technologies that offer faster data rates than current 3G (third generation) technologies. 4G networks are also more data-centric and based on standard Internet technologies such as IP. Voice service is typically provided using a special form of VoIP. WiMAX and LTE are examples of 4G technologies.

A-GPS – Assisted Global positioning System. This is a mobile-based location technology. The mobile uses A-GPS to work out location with the help of both GPS satellites and local network base stations.

AFLT (Advanced Forward Link Transmission) – AFLT is a mobile-based location technology. AFLT does not employ GPS satellites to work out locations. Instead, the phone measures signals from nearby cellular base stations and reports the time/distance readings back to the network which is then able to work out your location.

BROWSER – Software that allows you to view Internet content on a web-enabled device.

cHTML, C-HTML, Compact HTML – cHTML is a subset of HTML for i-mode browsers.  cHTML is used only in Japan. cHTML is considered technical superior to WML. cHTML was replaced at W3C by XHTML Basic.

CTI (Computer Telephony Integration) – CTI is an optional set of applications that integrate your business’ telephone system with a computer.  Features can include video conferencing, one-click dialing, incoming call routing, and a variety of other timesaving features that could be appealing to large businesses.

EDGE (Enhanced Data Rates for GSM Evolution) – This is an enhanced modulation technique which increases network capacity and data rates in GSM networks.

FEATURE PHONE – A cell phone with lightweight web features, not smartphones.

GSM (Global System for Mobile) – This is the digital network that mobile phones have used to make calls and send text messages, as well as the standard network available across much of the world. The data connection to the mobile internet is a phone call (similar to a fixed line modem) and it is billed relative to the duration of the call.

HDML(Hyper Device Markup Language) Computer language format used to create wireless websites. HDML is the oldest markup language for display on mobile devices (circa 1996). HDML has a very simple syntax. HDML was never standardized, but was influential in the development of WML. No longer used on mobile phones in North America and Europe.

iDEN – a mobile telecommunications technology, developed by Motorola, which provides its users the benefits of a trunked radio and a cellular telephone. iDEN places more users in a given spectral space, compared to analog cellular and two-way radio systems, by using speech compression and time division multiple access (TDMA). iDEN is an enhanced specialized mobile radio network technology that combines two-way radio, telephone, text messaging and data transmission into one network.

i-mode – NTT DoCoMo proprietary wireless Internet service. Provides mobile devices access to web, e-mail and packet data. NTT DoCoMo I-mode is available only in Japan.

IMEI (International Mobile Equipment Identifier) – This is 15-digit number which identifies an individual phone to the network operators.

Java (J2ME: Java 2 Micro Edition) – Java or J2ME (Java 2 Micro Edition) enables users to download tailor-made software applications onto their phones e.g. mobile games.

LTE (Long-Term Evolution) – An effort to develop advanced wireless mobile radio technology that will succeed current 3G WCDMA/HSDPA/HSUPA technology. Although “LTE” is not the name of the standard itself, it is often used that way. The actual standard is called 3GPP Release 8. LTE is considered by many to be a “4G” technology, both because it is faster than 3G, and because it uses an “all-IP” architecture where everything (including voice) is handled as data, similar to the Internet.

MMS (Multimedia Messaging Service) – Also referred to as picture messaging, MMS works much like text messaging but with a greater capacity so you can send larger quantities of text as well as attaching images and audio files from your phone.

NATIVE APPLICATION – Mobile phone software compiled into a compatible binary format, stored in phone memory and run locally on the device. I.e. web browser, email reader, phone book.

PORTAL – A website accessed by desktop or wireless device that provides a wide selection of information from a single place.

PREDICTIVE TEXT (T9: Text on Nine Keys) – Predictive text allows you to enter text by pressing only one key per letter. When you try and text in a word, the phone will automatically compare all of the possible letter combinations against its own dictionary and predict which word you intended to type.

ROAMING – Making or receiving calls (or using wireless data services) outside your home airtime rate area. Additional fees may apply, depending on your calling plan.

SERIES 60 / SERIES 40 – Series 60 is based on the Symbian Operating System and is a major platform for smartphones. Series 60 was developed by Nokia for their own smartphones but they also license the platform to other mobile manufacturers. Series 60 mobiles tend to have a large color display and a large amount of memory for storing content. Series 40 phones tend to have smaller screens and less memory.

SIM CARD – This is the small card that slots into the back of a mobile phone underneath the battery. The SIM card controls your phone number and the Network that it works on.

SMARTPHONE – A smartphone is like a combination of a standard mobile phone and a PDA. Smartphones have their own complete Operating Systems but differ from PDAs in that they have a standard phone keyboard for input instead of a touch screen and pen.

SMS – (Short Message Service) Send or receive messages (up to 160 characters each) using your wireless device.  SMS is also known as “Text Messaging”.

SOFT KEYS – Soft keys can be used for many different functions according to what is displayed on your mobile at any one moment e.g. ‘Select’ and ‘Exit’. They are commonly found right under the display.

SYMBIAN – Symbian is made up of a group of companies (Nokia, Ericsson, Motorola, and Psion) who create operating systems for mobiles and personal digital assistants (PDAs).

SYNCHRONIZED ACCESS – Some companies create a scaled-down version of their website for PDAs. A copy of the site is stored on the PDA and updated each time it is placed in its cradle and synchronized.

TEXT MESSAGING – Send/receive messages (up to 160 characters each) from your wireless device. Text Messaging is also known as “SMS.”

TRI-BAND – A GSM mobile of which there are two major types (European and Americas) and supports three of the four major GSM frequency bands. This type of mobile functions in most parts of the world.

U-TDOA (Uplink Time Difference on Arrival) – U-TDOA is a position-location technology for mobile phone networks. It works out your exact location by using triangulation techniques i.e. by measuring your distance from two known points.

UMTS – UMTS is one of the standard technologies used to enable 3G mobile services e.g. video on your phone.

WAP (Wireless Application Protocol) – This is the technology that enables mobile phones to browse the Internet. Open standard for network communication that allows mobile devices to access the Internet. WAP is a lightweight protocol providing primitive Internet support (from a desktop point of view). WAP was criticized for fragmenting the Web into Desktop and Mobile variants.

  • WAP 1.x – WML
  • WAP 2.x – XHTML-MP

WEB APPLICATION – A web application is an application that is accessed via Web browser over the Internet.  Application runs on a web server. Markup documents are typically rendered on the User’s phone. No binary compilation or persistent local storage.

WiMax – (802.16a) WiMax is the trade name for a family of new technologies related to the IEEE 802.16 wireless standards. WiMax has the potential for very long range (5 – 30 miles) and high speeds. The initial version, based on 802.16a, is designed for fixed (non-mobile) applications only, such as a wireless replacement for home DSL or cable modem service.  Newer versions, such as 802.16e, add support for mobility, potentially making WiMax a competitor for certain 3G or 4G cell-phone technologies. WiMax uses OFDM (Orthogonal Frequency Division Multiplexing), an increasingly common type of digital wireless technology that is also used in some digital radio and television standards. WiMax operates at higher frequencies than mobile phone networks. WiMax technology can operate in the 2.5 or 3.5 GHz licensed bands, or in the 5.8 GHz unlicensed band.

WML (Wireless Markup Language)–  Computer language format used to create websites that can be viewed on a wireless telephone or device. WML is a XML-based markup language for mobile phones. WML has a very simple syntax. WML was standardized by W3C. WML is considered to be a legacy markup language for mobile devices. Implements WAP.

WTAI (Wireless Telephony Applications Interface) – A protocol used in conjunction with the Wireless Application Protocol (WAP) to allow a phone number to be linked to a web page.

WURFL (Wireless Universal Resource File) – WURFL is an open source directory and APIs for programmatic discovery of mobile device capabilities.

XHTML – XHTML is a HTML markup language in XML-compliant syntax.

XHTML Basic – W3C-standardized subset of HTML targeted for mobile devices, pagers and set-top boxes.

XHTML-MP – Superset of XHTML-Basic defined by the Open Mobile Alliance industry group. XHTML-MP is considered to be the implementation of WAP 2.0. XHTML-MP is a very popular markup language for mobile devices and carrier sponsored applications and portals.

Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies,software developmentAgile project managementmanaging software teams, designing web-based business applications, running successful software development projectsecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurshipecommercetelecommunications andsoftware development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

Dedham’s Reflexis Systems, a maker of retail management software, raises $6 Million March 8, 2010

Posted by HubTechInsider in Ecommerce, Software, Startups, Venture Capital.
Tags: , , , , ,
add a comment

Dedham’s Reflexis Systems, a maker of retail management software, raises $6 Million from a group of undisclosed investors.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Add to Google Buzz

Cambridge’s Cambridgesoft, life sciences software company, raises $31.3 Million in equity funding December 1, 2009

Posted by HubTechInsider in Biotech, Health Care IT, Pharmaceuticals, Software, Startups, Venture Capital.
Tags: , , , , , ,
add a comment

Cambridge, MA-based Cambridgesoft, which makes software for life sciences companies, disclosed in regulatory documents filed November 17 that it has raised $31.3 million in new equity-based financing. Cambridgesoft first announced the funding round (though not the amount) in a November 16 release that named new investor Health Evolution Partners and existing investor Goldman Sachs as the funders in the round.

What is Scrum? How is it used to manage projects and teams? November 25, 2009

Posted by HubTechInsider in Agile Software Development, Definitions, Management, Project Management, Software.
Tags: , , , , , , , , ,
1 comment so far

As I continue to move in the Boston software development / high tech job market and talk to more and more people in the area, I not only come across the term “Scrum” in many job descriptions, but it is a word that is frequently bandied about by both recruiters and hiring managers. It is clear that there is alot of confusion in the Boston area about what “Scrum” really is, and how it relates to Agile.

There is no substitute for the experience of running Scrum daily for years, as I have done. My heartfelt advice to anyone looking to adopt Scrum in their organization is to be flexible, take it easy on the cutsey names, and keep the daily meetings very brief. If you are the “ScrumMaster”, stay organized and lead the conversation around the room, notating all limiting factors, as that becomes your to-do list. Drop me a line with your own insights or comments on Scrum!

Scrum, as some people already know, is a project managemnt methodology named after a contentious point in a rugby match. The Scrum project management method enables self-organizing teams by encouraging verbal communication across all team members and project stakeholders. At its foundation, Scrum’s primary principle is that traditional problem definition solution approaches do not always work, and that a formalized discovery process is sometimes needed.

Scrum’s major project artifact is a dynamic list of prioritized work to be done. Completion of a largely fixed set of backlogged items occurs in a series of short (many of 30 days duration) iterations, or “sprints”.

Every day a brief meeting or “Scrum” is held in which project progress is explained, upcoming work is described, and impediments are raised. A brief planning session occurs at the start of each sprint to define the backlog items to be completed. A brief postmortem or heartbeat retrospective occurs at the end of each sprint.

A “ScrumMaster” (my advice is to never call yourself this in actual human life in an office of programmers and IT personnel…but know the job well and do it well nevertheless if you are the individual who finds themselves in this role) removes obstacles or impediments to each sprint. The ScrumMaster is not the leader of the team, as they are self-organizing, but rather acts as a productivity buffer between the team and any destabilizing influences.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine


Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies, software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications and software development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

Waltham’s TheNextRound, private equity software startup, acquired by Windsor, CT -based SS&C Technologies November 25, 2009

Posted by HubTechInsider in Acquisitions, Software, Venture Capital.
Tags: , , , ,
add a comment

TheNextRound, a Waltham, MA-based startup that makes software for private equity and alternative investors, has been acquired by Windsor, CT-based SS&C Technologies for an undisclosed amount, according to an SS&C announcement recently. SS&C makes financial management software for insurance companies, hedge funds, banks and credit unions, real estate companies, and other institutions.

Lowell based Kadient, on demand sales apps maker, names Authoria Inc. veteran Elizabeth Ricci Senior VP of Products November 23, 2009

Posted by HubTechInsider in Cloud Computing, Software, Staffing & Recruiting.
Tags: , , , , , ,
add a comment

Lowell, MA -based Kadient, a maker of on demand sales enablement applications, has named Authoria Inc. veteran Elizabeth Ricci Senior VP of Products. Elizabeth was formerly Senior Vice President of Products at Authoria.

Waltham’s Skellig Pub hosts the Boston Postmortem Video Game Developers Meeting on Video Game AI Programming November 19, 2009

Posted by HubTechInsider in events, Software, Video Gaming Video Games.
Tags: , , , , , , , , , , ,
2 comments

Wednesday night in Waltham was the November monthly Boston Postmortem networking event, held at the Skellig Pub on Waltham’s Moody Street, next to the Charles River.

As regular readers of The Hub Tech Insider will doubtless already know, I attend this event regularly and blog about it on these pages. It is a super event I highly recommend. In addition, Boston Postmortem is one of my favorite Boston tech networking groups because the crowd is unpretentious, the topics are interesting and the presenters and presentations are well prepared and excellent, and you can sit at the bar in the huge back room where the event is held at the Skellig Pub on Moody Street in Waltham, and order bangers and mash or fish and chips or a bacon cheeseburger while you drink beers and schmooze.

The Boston Postmortem Networking Group is for Video Game Developers, Animators, Designers, Digital Artists of all kinds, and people interested in Video Games and Video Game Development. Admission is Free.

The talk on Wednesday was about Artificial intelligence (AI) programming in video games.

There was an august panel of subject matter experts who fielded questions from the audience:

Christian Baekkelund (moderator)
Christian Baekkelund has worked games-related jobs in the areas of design, programming, and QA, at Electronic Arts, for the British school system, briefly at Harmonix, and most recently at 38 Studios. Between various jobs, he attended MIT, studying computer science and Comparative Media Studies, focusing on games and AI. Christian has also spoken at the Game Developers Conference and written in the AI Programming Wisdom series of books about AI, learning methods, and game design.

John Abercrombie (panelist)
John Abercrombie was the AI Lead on BIOSHOCK and SWAT 4 and is now the Lead Programmer on 2K Boston’s unannounced title. He graduated from Brandeis University with a degree in Computer Science in 2000, and has worked at Irrational Games / 2K Boston ever since.

Damián Isla (panelist)
Damián Isla has been working on and writing about game technology for almost a decade. Recently, he helped found Moonshot Games, a studio dedicated to the creation of downloadable games with triple-A production values and technology. Before Moonshot, Damián was AI and Gameplay engineering lead at Bungie Studios, where he was responsible for the AI for the mega-hit first-person shooters Halo 2 and Halo 3.

An expert in the field of Artificial Intelligence for Games, Damián has spoken on games, AI and character technology at the International Joint Conference on Artificial Intelligence (IJCAI), at the AI and Interactive Digital Entertainment Conference (AIIDE), and at Siggraph, and is a frequent speaker at the Game Developers Conference (GDC).

Before joining the industry, Damián earned a Masters Degree at the M.I.T. Media Lab, where he did research on learning and behavior for synthetic characters. He holds a B.S. in Computer Science, also from M.I.T.

Jeff Orkin (panelist)
Jeff Orkin is a PhD candidate in the Cognitive Machines Group at the MIT Media Lab. Jeff’s research focuses on Artificial Intelligence for characters that learn to communicate and collaborate by observing humans playing online multiplayer games.

Prior to enrolling at the Media Lab, Jeff developed several generations of AI systems in the game industry. As a Senior Engineer at Monolith Productions, Jeff focused on goal-oriented autonomous character behavior and planning, while developing AI systems for the award winning titles No One Lives Forever 2 and F.E.A.R.

Jeff is a Contributing Author and Section Editor of the AI Game Programming Wisdom book series, has presented at the Game Developer’s Conference, the AI and Interactive Digital Entertainment conference (AIIDE), and the Autonomous Agents and Multiagent Sytems (AAMAS) conference, and holds a Master’s degree in Computer Science from the University of Washington and Bachelor’s degree in Computer Science from Tufts University with a minor in Studio Art.

Needham MA based Chargify, recurring billing tools provider, has named Lance Walley CEO November 17, 2009

Posted by HubTechInsider in Cloud Computing, Software, Staffing & Recruiting.
Tags: , , , , , ,
add a comment

Needham MA based Chargify, recurring billing tools provider, has named Lance Walley CEO. Lance was formerly CEO of Engine Yard, which he co-founded. Engine Yard provides Ruby-on-Rails applications hosting “In the cloud”.

Mzinga of Burlington MA raises $10 Million in new venture funding and consolidates its product portfolio October 29, 2009

Posted by HubTechInsider in Software, Venture Capital.
Tags: , , , ,
add a comment

Mzinga of Burlington, MA, has raised $10 million in new capital this month, including a previously disclosed $6.1 million financing. New investors Acadia Woods Partners and BlueCrest Venture Finance Master Fund joined existing investors W Capital Partners and Shared Capital Partners in the subsequent rounds. Mzinga also has consolidated its human resources, social media marketing, and customer support platforms into a single product, called OmniSocial.

Marlborough, MA based server software company Egenera closes $3 million equity financing round October 28, 2009

Posted by HubTechInsider in Software, Venture Capital.
Tags: , , , ,
add a comment

Marlborough, MA-based Egenera has raised $3 million in new equity financing, according to regulatory forms filed today. An executive for the company, which makes software for managing physical and virtual servers in corporate data centers, told Mass High Tech the funds came from existing investors, a group that includes Austin Ventures, Crosslink Capital, Kodiak Venture Partners, Pharos Capital Group, and Technology Crossover Ventures. Egenera raised $26 million in December 2007 and laid off 87 employees in November 2008.

The Twenty Laws of Testing Computer Software September 24, 2009

Posted by HubTechInsider in Agile Software Development, Project Management, Technology, Uncategorized.
Tags: , , , , ,
5 comments

As a software development project manager, I conduct, plan, organize and cajole the software engineering efforts in companies large and small. During the course of this work, I have never ceased to be amazed at the lack of understanding of both the importance of properly testing a software product or products, and the lack of knowledge around how to correctly conduct the testing effort.

This holds true in corporations both large and small that I have worked for during my fifteen year professional career. In my opinion, a Project Manager should have a complete understanding of the software testing process, and should also have experience not just scheduling and planning the resources conducting the testing effort, but actual personal testing experience.

It occurred to me earlier on in my career as a Project Manager that in order for me to be a better Project Manager, I was going to have to learn and research everything I could get my hands on about testing computer software. I took courses, I bought books and read them; I related the information I gathered to my experiences as a developer and in some of the ecommerce companies I had worked for and built early on in my career.

I found that this desire to learn the ins and outs of testing was over half the battle towards becoming a more accomplished PM. The Project Manager who appreciates the importance of testing, has been a tester, knows and respects the testers on the team, and has a deep seated, fundamental respect for testing is a Project Manager who commands respect from his project team.

One of my favorite books is “Microsoft Secrets”, by Michael Cusomano. In the book, he describes how early on in the history of the company, testing became a career path on the same level as programming. Knowing, from my extensive reading about Microsoft and Bill Gates, the high altar upon which programmers are placed at Microsoft, I found this to be extremely significant.

Great software development teams and great software engineering companies take the testing of their software seriously. They don’t cut corners, and they don’t have to, because they began with the end in mind.

So without much further adieu, here are my twenty laws for testing computer software. Look for me to expound upon each of the twenty laws in more detail on these pages very soon:

  1. The sole goal of testing software is to find errors. Software testing is defined as the method of running a computer software program with the intent of discovering errors in the computer software program.
  2. The definition of a good test case is that a good test case is one that has been written in such a manner that it has a great chance of discovery of previously undiscovered errors.
  3. A successful test case is one that has been used to discover a previously undiscovered error.
  4. Only a high quality software testing process will result in a high quality software testing effort.
  5. Testing computer software is a professional discipline that must include skilled and trained professional computer software testers.
  6. Someone must assume full responsibility for the improvement of the software testing process.
  7. It is vital to foster a 100% positive, inclusive and team-oriented approach with a “test to break” mental attitude.
  8. A test case for testing a computer software program must include a definition of the expected result of the computer software program being tested.
  9. A computer software programmer should not test the computer software program they have coded themselves.
  10. By extension, a computer software programming organization or engineering department should not test its own programs; This is the work of an independent testing organization.
  11. The results of each test case should be reviewed with great care.
  12. Test cases should be written in order to include unforeseen and invalid user inputs, as well as foreseen, valid user input.
  13. Testing a computer software program to insure it performs as it should is only fifty percent of the testing effort. Another fifty percent of the testing effort should be expended in order to insure that the computer software program does not perform in ways in which it should not be performing.
  14. Avoid one-time, spontaneous, disposable test cases.
  15. A testing effort initiated under the assumption that no errors will be found will not be a successful computer software testing effort.
  16. The proliferation of errors in a computer software program can be prevented through the employment of testing during the early stages of the software development lifecycle.
  17. Software testing tools can be and should be a key element of a software testing effort.
  18. Although perhaps counterintuitive, the probability that more errors will be found in a section of a computer software program in which errors have already been found increases with the number of errors discovered in that section of the computer software program.
  19. Testing computer software well is an extremely mentally challenging exercise that requires creativity and perseverance from the testers in order to succeed.
  20. The perception (oftentimes forwarded by management) that “not enough time exists to test the product properly, so let’s just ship it anyway”, because the “rewards of shipping the software outweigh the risks of shipping the software with undiscovered errors” may still be common practice in many software development and engineering organizations, yet such an attitude will lead to catastrophe, as software quality is intrinsically linked to customer requirements and customer satisfaction.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine


Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies, software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications and software development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

What is a “Use Case”? How is Use Case Modeling used to manage software development projects? June 28, 2009

Posted by HubTechInsider in Project Management.
Tags: , , , , , , , ,
2 comments

The History of Use Case Modeling

A gentleman by the name of Ivar Jacobson invented what later has become known as Use Cases while working on telephony systems at Ericsson in the late 1960s. In the later 1980s, he introduced them to the OOP, or Object Oriented Programming, community. Within that community, Use Cases were instantly recognized as filling an important gap in the requirements process.

Alistair Cockburn (pronounced “Coburn”) constructed the Actors and Goals conceptual model while writing Use Case guides for the IBM Consulting Group in 1994, after studying under Ivar Jacobson in the early 1990s. Cockburn’s Actors and Goals conceptual model help to resolve much of the mystery of Use Cases and provided a guide on how to write and structure Use Cases. I was exposed to Jacobson and Cockburn’s Use Case modeling concepts while working as a consultant and business analyst for IBM in the 1990s. Cockburn’s IBM Consulting Group Actors and Goals conceptual model has circulated informally since 1995 at http://alistair.cockburn.us/ and later at http://www.usecases.org. The ideas finally were published in the Journal of Object Oriented Programming in 1997, in an article I read and loved written by Alistair Cockburn entitled “Structuring Use Cases with Goals“.

From the early 1990s through the end of the dotcom Boom around 1999, the ideas remained static, even though many in the OOP community still felt that there were some underlying loose ends in the theories behind Use Case Modeling. Alistair Cockburn, the originator of so many of the Use Case Modeling conceptual underpinnings, continued to teach and coach his Actors and Goals model, eventually gaining insights into why many in the OOP community were having such a hard time coming to grips with the ideas being presented. He finally released his new insights, complete with some of his resolutions to the unresolved questions forwarded to him regarding the Actors and Goals model, as the Stakeholders and Interests Model.

UML and Use Case Modeling: differences and coexistence

I personally, when introducing these concepts to a new Project Team, have often been asked, “What impact or overlap is there between the Use Case Modeling ideas and UML, or the Unified Modeling Language”?

A former colleague of Jacobson’s, Gunnar Overgaard, wrote most of the UML use case material and worked to preserve the heritage of Jacobson’s ideas. But it is well known within the OOP community that the UML standards group has within it a strong drawing-tools influence, which results in the loss of much of the textual, prose-based nature of Use Case Modeling.

Alistair Cockburn has written that he has met with both Gunnar Overgaard and Ivar Jacobson, and both assured him that Use Cases may fit within one of the UML ellipses,and hence the UML standard is agnostic when it comes to the Use Case Modeling ideas. The ideas forwarded by Alistair Cockburn are fully compatible with the UML 1.3 use case standard.

I think it is very important, however, to realize that if you only were to read the UML standard, which does not discuss the content or writing of a Use Case, you will not understand what a Use Case is or how to write or use it, and you will be led in the dangerous direction of thinking hat Use Cases are a graphical, as opposed to a textual, or prose, construct.

What is a “Use Case”, and how is Use Case Modeling used?

A Use Case is a fundamentally prose text description of a system’s behavior under various conditions. These conditions are primarily responses of the system to requests from one of the stakeholders of the system in question, usually referred to as a “Primary Actor”.

A Use Case represents a type of contract between the stakeholders of a system about the behavior of that system under these various conditions, or “States”. The Primary Actor initiates an action with the system in order to accomplish a task or achieve a goal. Myriad scenarios can unfold subsequently, and those scenarios depend upon the type of interactions or requests made by the Primary Actor and the conditions or states which accompany those requests. The use case succinctly codifies these various scenarios together into a presentable format.

Although use cases can take the form of flow charts, “Petri nets”, sequence charts or even programming languages, they are usually (and through general practice and agreement, best) presented in a prose text format. They are a way to communicate the intended behavior of a system (many times of course a software system) amongst members of a project team. It should not be necessary for project team members to have special training in order to interpret a well written use case. Use cases serve to encourage communication between project team members and also to stimulate discussion around contention points of a system’s intended behavior.

Some project teams may choose to document the requirements of a software system only through the use cases themselves. Other project teams may choose to have separate, traditional requirements documents. Many project teams may choose to provide both forms of documentation, use cases and requirements documents. I am of the school that use cases, requirements documents, and test cases form a triad that can help to unequivocally clarify the intended behavior of even the most complex software systems and also give the testing team the very best chance to perform their job with precision and efficiency.

The same basic rules of writing apply to all of the above listed approaches, even though different project teams will choose to write with unique levels of technical detail and completeness of description.

A well written use case should be easy to read and consists of sentences that are succinct and written in only one grammatical format, that being a simple action step. An action step is defined as an event in which one actor achieves a result or passes information or results to another system actor. An actor is defined as anyone or anything with behavior.

Reading a use case should not take more than a few minutes, although learning how to write a good use case is considerably harder. Three fundamental concepts apply to the writing of use cases, all three of which need to be mastered in order to become an effective use case writer:

  1. Scope: What is the system being discussed, and what are the boundaries of the actions within that system to be described?
  2. Primary Actor: Who is the user who hopes to achieve a goal through interaction with the system in question?
  3. Level: Is the goal trying to be achieved by the Primary Actor primarily a high level goal or a low level goal?

The components of a use case consist of the following:

Stakeholder:  someone with an interest at stake in the proper behavior of the system under discussion.

Preconditions and Guarantees:  States or conditions that must be true both before and after the execution of the sequenced steps in the use case.

Main success scenario: A use case scenario in which no deviations from the expected behavior of the system are encountered.

Extensions:  Extensions describe alternate scenarios or states that can be encountered during the execution of a use case. Numbering convention used in the writing of a use case indicate to the reader points at which deviations from the main success scenario are possible. For example, steps 2a and 2b are indicative of twin conditions that can be arrived at by the primary actor during the execution of step 2.

How can Use Case Modeling assist Project Managers in managing complex software development projects?

Use cases provide a scaffolding construct that can be used by Project Managers or Program Managers to link many of the requirements details used on a modern software development project. Information contained within different parts of the software requirements definition (SRD) such as user profile information, data formating requirements, validations, and business rules can be cross linked and cross referenced through the utilization of Use Case Modeling.

In addition to this linking of requirements for a software development project, Use Cases and Use Case Modeling can help structure the project planning process by providing a framework upon which to hang information such as development status, release dates, teams, and priorities. The project team can employ Use Cases to track results, in particular the design of the User Interface components and system tests. It is for these benefits that many people seem to consider Use Cases as at the center or hub of a giant wheel of requirements consisting of spokes for performance requirements, UI requirements, UI design, business rules, data formats, input / output protocols, and performance requirements. Use Cases are often thought of in the OOP community as being the central element of the requirements or even the central element of the software development project’s development process.

At what points in a software development project do Use Cases add value?

Use Case modeling has garnered such a popular and ardent following within the OOP community precisely because Use Cases have the ability to tell coherent stories about how the System under discussion will behave in use. The end Users of the System get to see just what this new System will be and what functionality it will possess. They have the option to react early or fine tune or reject the User Stories implied in the Use Cases themselves (“You mean we’ll have to do what in order to cancel an Order?”). As important as this reason is to the widespread adoption of Use Case Modeling, this is only one of the ways in which Use Cases can contribute value to a software development project, and quite possibly not the most significant.

The very first moment during the course of a typical software development project that the Use Cases create value is upon the naming of these Use Cases as the User Goals that the System will support. These User Goals, in the form of the collected and named Use Case Catalog, form a list which announces what the System will do, revealing the scope of the System, its purpose. The list of named User Goals becomes a communication device between the different Stakeholders on the software development project.

The list of User Goals will be reviewed and debated upon by user representatives, software development engineers, executives, and project managers, who will use this list to estimate the cost and complexity of the System by using it as a guide to the functionality under construction. The list of User Goals will be used to negotiate which functions will be built first and how the teams are to be set up. The User Goal list is a framework upon which complexity, status, cost and timing metrics may be hung. It collects diverse and myriad project information over the course of the life of a software development project.

Why you should perservere through the writing of the Use Case failure conditions

The second instance where Use Case Modeling adds value during the course of a software development project is when the people or person writing the Use Cases brainstorm all the things that could go wrong in the MSS (Main Success Scenario). When the Use Case writers list out all the failure conditions, and how the System under discussion will handle these error or failure conditions, this is the point in the process where the Project Team is likely to uncover something surprising, maybe even something that nobody, including the Use Case writers themselves or the primary stakeholders, ever thought about as requirements.

The writing of the Use Case failure conditions is probably one of the most simultaneously frustrating and rewarding steps in the process of writing the Use Cases. I highly encourage everyone ever involved in writing of a catalog of Use Cases to hold out until this part of the process.  It is during the writing of the extensions, or failure conditions, that I regularly uncover a new User Goal, primary or secondary stakeholder, business rule or business process. Some of the most collaborative and productive design review sessions have resulted from discussions surrounding topics of how to handle these failure conditions. These design review sessions frequently end up involving a group of SMEs, or Subject Matter Experts, reviewing business processes or even questioning why it is things have been done a certain way inside a particular organization for so long. The process of trying to resolve what the System’s behavior should be during failure condition scenarios oftentimes is the process that generates the best requirements, even ex post facto to the formal discovery process.

If your Project Team skips over the writing of the Use Case failure conditions, then you will miss a valuable opportunity to catch many of the error conditions of the software application your Team is designing, leaving this vital Project task to a programmer who may discover them while typing a fragement of computer software code. This is far from the ideal juncture of your software development Project to be discovering new functions and business rules. If a lone programmer is left to his or her own devices in this type of scenario, with the business experts probably not around or gone home for the day, time pressure mounting, delivery schedules slipping, a programmer may be pressed, and understandably so, to just type whatever they think up at the moment instead of determining the correct functional behavior for the System they are programming, not necessarily designing.

I encourage Project Team to at least draw up one or two paragraph Use Case Briefs — for the very simple reason that Project Teams who write one-paragraph Use Cases save a lot of time by writing so little and already reap one of the major benefits of Use Cases. Project Teams who perservere through failure handling save mountains of time by finding subtle requirements early.


Subscribe to HubTechInsider on YouTube

PHP for Beginners

Google+ Domination Video Training Course

LinkedIn for Business Training Course


Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies, software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications and software development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

What is “management by walking around”? June 13, 2009

Posted by HubTechInsider in Agile Software Development, Management, Project Management, Uncategorized.
Tags: , , , , ,
4 comments

Sometimes also called “Management by walking around” or MBWA, management by sight is a management strategy that can and should be integrated into any management style or approach. It is very people-oriented and it requires managers to be visible and interact heavily with project team members. Interactions at all levels of the project team foster the quick and efficient gathering of information about the project and the project team members.

Management by sight is very direct and the manager practicing it utilizes observation and visibility to conduct project analysis and project leadership, to monitor the situation, and to provide control when necessary.

I have had a great amount of success using this management technique and I thought I would share with you twelve guidelines for MBWA which were shared with me by @sjohnson717 on Twitter in response to this original MBWA post. These tips are great and I recommend following them when using this very simple and effective management technique.

Simple and effective management techniques are what every manager needs more of these days!

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

 

Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies, software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.

About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications and software development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

management, mbwa, management by walking around, it management, it, information technology, project management

Pyxis Mobile develops mobile applications for the hot mobile software market from their headquarters in Waltham, MA June 12, 2009

Posted by HubTechInsider in Mobile Software Applications.
Tags: , , , , ,
add a comment

6 billion wireless applications will be downloaded to smartphones by 2014, and Waltham, MA-based Pyxis Mobile is aiming to have a large piece of that market.

The company began selling software for mobile telephones in 2004.

The top picks for development environments in the mobile space seem to be RIM’s Blackberry platform, Microsoft’s Windows Mobile, and Apple’s iPhone platform. RIM leads among business users, having sold 17.5 million Blackberry devices used for business last year, compared with 11.6 million Windows Mobile devices, 9.8 million telephones running Symbian, and 3.9 million iPhones. Google’s Android platform is a new competitor in this space, with several new Android handsets coming onto the market this year.

Pyxis Mobile is concentrating most of its development efforts on the Blackberry platform, but also has versions of its software available for both the iPhone and Windows Mobile.

Twelve Tips for Agile Project Planning and Estimating June 12, 2009

Posted by HubTechInsider in Agile Software Development, Project Management.
Tags: , , , , ,
5 comments

Agile planning differs from the traditional software project management approaches by having as its central purpose the discovery of an iterative, optimal solution to the main product development constraints of what requirements in what timeline and with what resources.

The Agile project planning approach succeeds where more traditional planning and estimating approaches for software development projects have failed in that Agile plans focus on features rather than tasks, re-planning occurs frequently, plans are developed at different levels (portfolio, product, release, iteration, day) and because the size of a project is treated as separate from the duration of the project’s timeline, which is derived from the project team’s velocity through the decided-upon project size. Small numbers of requirements in each iteration of working software keeps work flowing, and work in progress is eliminated at the end of each iteration. Progress of the project team is measured at the team, rather than the individual level and uncertainty is acknowledged as a fact of life and is planned for accordingly.

For all of the above reasons, here are twelve tips for Agile project planning and estimating:

1. Keep everyone on the team involved – Buy-In, or real commitment, from every member of he project team is vital to the success of the project. For example, the estimation of the project is an activity that should involve all members of the project team, while only very particular tasks such as prioritization of requirements should be the primary responsibility of the product owner or an individual project team member. The more work is shared by the team, the more victories the team will have to share.

2. Plan on at least three levels – Release, Iteration and Day. Each of these three plans has a different time horizon with a different level of granularity, and each serves a different purpose in overall project planning. Do not fall into the trap of thinking that an iteration plan is a substitute for a release plan, or vice versa. There are Agile Strategy, Portfolio, Product, Release, Iteration and Day plans. Each project team such plan on at least the Day, Iteration and Release levels consistently.

3. Separate project size and project duration by using different measurement units for each – An effective technique for doing this is to estimate the project’s size in “Story Points”, or arbitrary numerical values assigned to requirements with the agreement of the entire project team and translating the project size into duration using velocity. This has the added benefit of having he project team speak of the seperate concepts by always using different terms of measurement for each when speaking amongst themselves and others outside the project team.

4. Uncertainty should be communicated by using either the date or the iteration’s functionality – Use the primary fixed constraint to express the uncertainty that all well-laid project plans must express in the midst of an uncertain world to express this uncertainty. If the number of software requirements and application functionality to be included in the iteration is fixed, then express your uncertainty as a date range: “We’ll finish in the second quarter” or “We’ll finish in between two and five iterations”. If the iteration release date of the iteration is instead fixed, then express your uncertainty as a range of available application functionality: “We’ll finish by 15 May, and the application will include these requirements, but probably not these requirements implemented as features”. When you have more uncertainty in your project planning, use bigger units (iterations, months, and then fiscal quarters).

5. Plan to replan frequently – If information used to plan the current project plan has now changed, incorporate those changed pieces of information into the current project plan. his will aloow the project plan to adapt and grow in response to changing conditions. This is an oportunity to show why Agile project plans are called Agile in the irst place. Ensure that the project team is always squarely aligned at the goal of delivery the maximum value to the organization.

6. Communicate progress and track progress of the project team – Keep the project’s primary stakeholders infomed of the progress of the project team by regularly publishing simple and easy to understand charts indicating the progress of the project team. Burndown and velocity charts are an excellent way todo this easily and simply.

7. Plan to learn from and adapt to an Agile project –

8. Plan requirements of the correct dimensions –

9. Prioritize requirements well – Work should progress on software requirements in such a manner as to maximize the entire value return of the project.

10. Base your project plans and estimates on reality –

11. Learn to Pad your schedules correctly – A software development team scheduled to within an inch of its life cannot progress efficiently. Do not plan on using 100% of an available resource or individual 100% of their available time. Do not over-schedule. Put some slack into you project plans and prevent project gridlock.

12. Create rolling lookahead plans for the project team’s use – With multiple teams performing work on a project, coordinate their work through the use of rolling lookahead planning. Looking ahead to allocate requirements to specific future iterations and spotting and planning of interteam dependencies is also enabled.


PHP for Beginners


Want to know more?

You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies, software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.


About the author.

I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications and software development, I’m the Senior Technical Project Manager at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

%d bloggers like this: