I will not comment much on this article but i thought it was well worth posting a link to 'freakishly fast' Ruby coming to the Mac. We have been eyeing Ruby On Rails for a while now and will most likely launch our first product with it in June/July and it's great to see that we could leverage that gained experience to deploy actual desktop applications onto our beloved Mac's.!
In the blog of Theandb (definition of blog), we share with our readers the personal view and insights we have on developments in the technology sector. And as that is nowadays quite a broad sector, we set our eyes on many diferent topics and questions facing society. We also post entries on recent developments of Theandb as a company. For us, it is a part of an ongoing collaboration and communication with colleagues, clients and friends.
Across several blog posts, we have covered agile development for teams as well as agile development outsourcing for startups. It should not be a big surprise to anyone therefore, that we have been forwarding our experience in outsourced agile development to a growing list of clients.
What we offer are dedicated agile developer teams where the development is completely managed through us. Welcome to your outsourced project office.
We can do the writing of the user-stories (core story, wireframes and acceptance tests), the project management of the development (iteration planning, daily update meetings, status tracking & reporting) as well as the initial acceptance testing. What we find is that every project is different and we adjust our agile development outsourcing framework to these requirements. The existence of a concise framework allows us to quite rapidly set-up operations for new clients and ensures that learning's can be leveraged across our clients.
At the heart of all project management stands communication. We use a range of tools to support communication across distances. These are in no particular order Skype, conference-call rooms, project intranet and a fantastic collaboration/ white-boarding e-room. We've played with the idea of sending Mac Mini's out to clients that have a permanent team-size of >=5 to allow smooth video-conferencing via iChat (as opposed to the poor quality in Skype) but have yet to act on this thought.
We strive to provide the ultimate in transparency and as much information as possible as to the current status and delivery dates. And working in short iteration cycles of about 3-4 weeks, depending on the client, with tools (currently XPlanner, although we might start using TargetProcess) to monitor the progress of a project provides us with a wealth of information. Every day, a core group of people receives a daily update status mail that lists progress on the different stories we would be working on. Every other week, we issue a bi-weekly report and at the end of every iteration we issue a report on what was completed and moved to the next iteration.
It can be challenging to attempt agile development across distances and throughout the last year we have had many good learning experiences. Not everyone has a unit-testing framework for example so continuous testing and starting with tests is not an option (although we will propose implementing a framework at no cost as it will help us increase our overall throughput and raise code quality). Not having the customer with you means that acceptance testing feedback can be difficult to collect (we now do 'live' testing sessions using our e-rooms screen sharing and note-taking facilities). Knocking on doors to get quick feedback on interaction designs will not be possible (so we always start with a wireframe exercise, now using Axure to create very realistic demo's of the user-interface).
All in all though we know that the outcome using our agile development outsourcing framework guarantees our clients greater flexibility in their planning, increased ability to provide us with feedback that will actually be integrated, a better sense of the different project status and a higher overall output than compared with outsourced development teams operating "the old" way.
Soon we will provide some examples of how we perform our iteration planning sessions, keep clients on top of things and collaborate with them and our outsourcing team on project requirements and execution. We are considering providing a "test-drive" to a selected few interested parties tempted to try our agile development outsourcing services as well, more on that coming up.
It is a commonly known fact by now that when a company is looking to create not only a simple, static-content website (for which transLucidonline blink, blink would of course be optimal) but wishes to re-use content, manage multiple sites with many editors, that an evaluation of open-source content-management-systems (CMS) is a very good option. I for one am actually of the personal opinion that for the vast majority of all cases it is *the* option to at least evaluate open- with closed-source CMS.
Lesser known is what to do when it comes to building a website that supports e-commerce transactions. There are now several viable options in the open-source world for companies to choose between for specialised e-commerce platforms. There seem to be so many in fact, that even I who is supposed to be an e-commerce "expert" hadn't heard about some of the new frontrunner's.
Following are three different platforms that i believe to hold the greatest potential in surviving the recent boost in e-commerce systems due to the large developer community and/or support from sponsoring companies supporting these open-source projects. I might add more detail to this "review" later on; for now, here we go.
1) OSCommerce; the princess of open-source e-commerce systems and probably the one that is best known with the largest developer community and a myriad of extensions. Good luck on picking your winner of the package to install and use, there are some packages that create a link with existing CMS such as Ubercart for Drupal
2) Magento which i was sent a link to by someone who had used it very successfully and who found the solution both architecturally very sound, easy to learn and enabling him to launch his site in a very short amount of time. They certainly have to still build a large following but there seems to be just an incredible drive from Varien, the company behind Magento which integrates really everything that you need to run a great e-commerce site in a nicely packaged form that will run out of the box.
3) OpenTaps (based on OFBiz) is astounding in terms of the feature scope it offers; this is clearly the choice for a company wanting to set up a full e-commerce operations, including ware-housing and customer-service. It is sponsored by the Apache Foundation, running under the "Apache Open For Business Project" based on Java technology. The feature list is simply too long to list, so check it out yourself. There is however a nice overview they provide on the opentaps site which i integrated below. Once again, this would be my choice to create the next Amazon.
Having worked at Amazon.de and Amazon.com for such a long time, i find it mind-boggling to see that there are now open-source platforms available that offer many of the same features and scalability that Amazon had 3-4 years ago. No need for a hundred developers, get yourself one or two and build your dream e-commerce site in under three months. It shows just how evolved the open-source landscape has become.
PS: While researching some of this entry, i found a wonderful review that a company called WebDistortion did on "9 kick ass open-source e-commerce platforms"; they provide a good overview of PHP solutions available.
PSPS: Following our post, this came in from a contributor to OFBiz (we are currently not allowing comments on our blog):
"The phrase "It is sponsored by the Apache Foundation" might be a bit
misleading - Opentaps has been started as a extension to OFBiz (notably with the financials and CRM components). But these days OFBiz has this functionality too (or it is being worked on) and Opentaps is considered rather a fork of OFBiz (I think the Opentaps people are telling that they just use the OFBiz framework...). One big difference is the license - Apache OFBiz is available under the liberal Apache License Version 2.0 whereas Opentaps uses the HPL/GPL license. IMHO there are few reasons to use Opentaps instead of OFBiz (of course as an OFBiz committer I'm absolutely biased ;-)."
"Web technology provides consultant with global reach" feature in Australian Financial Review, role of collaboration in outsourcing
As a company that provides consulting and outsourcing services to medium-sized and corporate companies, we have to strike a balance between being on the cutting edge and not loosing the focus at the same time to translate new tools & methodologies into concrete benefits for our clients.
For quite a while now - as early as 2006 in fact - we have been posting on collaboration tools and how they can enhance interaction for distributed as well as local teams, including the possibilities of 3D virtual worlds such asSecondLife or Croquet.
At the same time, we have used many tools ourselves most of which we discarded as being not user-friendly, slow or not fitting to our requirements. Being in the same situation as other product development companies of having to co-ordinate people across three, sometimes four time-zones, we needed an application with a broad range of tools, the swiss army-knife of collaboration tools.
We were actually featured last year October in the Australian Financial Review and could only agree (yep, there was some shoulder tapping) that Theandb was "an example of globalisation at work and how the use of technology can compete with much larger companies". Some more quotes that i could not put any better:
"We could not have successfully moved the business to Australia and kept some of our longstanding, former clients without this technology," Ponthus says.
Theandb relies on the facility to consult with businesses across Europe and Australasia, helping them develop online strategies and implement web projects.
Theandb's work involves regular meetings to ensure everyone involved knows the stage a project has reached and what their responsibilities are."
The best thing about using this system is that there's no disagreement at the end of a meeting about what everyone needs to do for follow-up and what was said during the meeting because the project manager writes the notes directly into a whiteboard that everyone sees," Schliebitz says."
Only last week we finally - after months of research and trying out way too many different web1.0 and 2.0 applications - we found the perfect replacement, an application that is even better than Marratech was and it goes by the name Elluminate. We will post more on this wonderful tool soon.
We have seen vast improvements in communication and the ability to collaborate with our clients since starting to have Elluminate. We can finally be literally on the same page again, share our desktops, write up meeting notes which everyone can read and comment on while the meeting is taking place, use the excellent whiteboarding features, paste in screenshots and doodle around on them; simply put it is like working together in the same office, only far more efficient because you can actually fully concentrate on what is at hand.
We are quite aware that using such tools gives us an advantage over other suppliers in the development outsourcing market and will continue to elaborate on our outsourcing framework and general set-up as we learn with our clients. We will post more on the framework we use and why we believe it to be unique shortly.
We believed there to be a lot of value in working agile for web-development projects even before we started working on transLucidonline. But then, call it an initial lack of experience in managing a product launch ourselves, we commenced development of the portal site using a waterfall methodology. "Of course", the project did not go well. We specified something that we asked the outsourcing company to develop for a fixed price, they delivered what they believed we had meant and it turned out to be of low quality (in terms of code/ architecture) and not exactly what we had in mind. From there on, it was a back and forth that resulted in more and more "change requests" which in return increased the budget over what had been allocated before to the portal site.
Long story made short: We switched companies, started working agile with them as well as an expert (on Zope & Plone , which we use for the portal site) from day1 on and have since then always been happy with the progress made.
This was also due to the excellent people we were now working with and some of the things inherent in agile development which can be broken down into:
We set out with a planning of the major features necessary for transLucidonline. This created the basis for our 'product backlog' which was/ is a prioritised list of features we want to develop.
* Defining the individual features
We worked down our list of features in an iterative fashion with new functionality to be tested on a regular basis. The stories were well defined but did not have the depths (=lots of work) that a "standard" business specification would have. Which meant we talked with our development team on what we had in mind.
* Technical reflection on the requirements
From these discussions, the developers reflected on our business requirements by writing up the technical tasks they believed needed to be undertaken to complete the required functionality.
Once we had found agreement, the development would commence. Sometimes we were able to see prototypes early on to test and give further feedback on. Most often, the individual features could be completed in 1-2 weeks development time which we felt did not require initial prototypes.
Once it came to testing, we would use the user-acceptance tests (UATs) as previously defined in the user stories describing the required functionality. Based on the testing, development would either continue or be "officially" defined as completed.
Overall, thanks also to our unit-testing framework, we have been able to complete quite a long list of features with very minimum up-front investment. Furthermore, this way of working allowed us to continue to run our consulting business while at the same time spending time on product development internally. There was a constant flow, rather than spikes of code to be specified, developed and tested with XPlanner providing us with an accurate, up-to-date view on what progress had been made on a daily basis.
We are never going to go back to the waterfall ways of development and i would recommend any other startup-director to do the same.
For some time now I have been wanting to share some of our own experiences with the different agile development methodologies we have used during the past few years. This post will be about the realities "on the ground", unfiltered and hopefully be another piece in the puzzle to make agile methodologies become further accepted in the corporate business world.
We have worked with different agile development methodologies in the past. We've never been religious about implementing everything these frameworks recommend but rather chose what we felt really worked. We started to work with ExtremeProgramming (XP) in Seattle in 2001 at Amazon.com . I had the honour to manage the web-development technologies platform team there, which had just started using XP shortly before I arrived in the States. More recently we added parts of Scrum to our mix and have been applying it since the beginning of 2007.
I get surprised time and again that not many people seem to be aware of the concept of agile software development. Even worse, when people have heard about it they don't seem to have had very good experiences. There seems to be suppliers out there who use it to sell their services without really knowing what agile development entails. When a new client believes that we are no different, it can be very frustrating.
Let's do a reality check. Based on my personal experience, the application of agile methodologies delivers results much more consistent with the customerâ€™s expectations than waterfall methodologies. All while increasing overall quality and lowering the likelihood of breaking stuff when introducing changes and additions to existing functionality. There is no doubt that projects with agile teams don't always succeed. But what is the percentage and overall customer satisfaction of agile-driven projects? And how does it compare with standard waterfall methodology?
I strongly feel that when it comes to building web and software applications, the only way to allow a company to increase innovation, but not downtime and bugs, is to become agile. This will mean a change in internal company culture. Implementing agile teams is much more a change management project than anything else. All of a sudden, business owners and software developers have to meet and talk. Instead of (often not so useful) business and technical specification documents that can become longer than a standard-length novel, internal customers have to slice and dice up their big ideas into many little, more digestible pieces, which will in turn be prioritised against all other internal and external demands by their software development team.
After an initial phase-in time for the business analysts that now have to create compelling and easy to understand so-called user-stories that are only "reminders for conversations" with other people within the company, the prioritisation and waiting in line until a project is started can be difficult to get used to. Although, when compared with the world before, there are no more false "Yes I understand what you want", "Yes, I read your specification document" or "Yes, we'll get it done next week, promise". Instead, the software development team should have become much more customer-centric and service-orientated. True, they may not promise to get it done immediately, but the more they learn how much they can get done in a certain duration of time (agile really helps development teams in tracking their time and estimations) the happier they will be to give deadlines for project deliveries. And those deadlines will stand the test much better I am sure than deadlines before the "dawn of agile".
With time, the internal customers of the software development team will understand that they actually get what they wanted in the first place. More and better communication will lead to a teaming-up of the technical and business teams. There will be no side-picking any longer but an understanding that both "sides" need to work together to create the best results.
All of this may sound a bit utopian to the ears of someone not accustomed to working with real agile teams. I recall very vividly an experience not so long ago with an outsourcing company that we had hired to do some product-development. Stupidly, we sent them specification documents. Didn't meet with them on a daily, sometimes not even weekly, basis by Skype. Had heated exchanges by e-mail on what we "actually meant to sayâ€œ in a certain paragraph of our specification document. And ended up receiving results far below our expectations. Why did we not do what we preach to our clients when consulting with them? Well, I guess any organisation needs to learn. We did!
Now contrast this with a new day, a new team and an agile development framework. Daily meetings to catch up on what was done the previous day, what will be done the following day and any blockers they have encountered that we might need to get out of their way (processes, tools, etc). We are getting what we want, are able to test and code-review what they build. And most importantly, everyone just seems darn happy to work with everyone else. So maybe not so utopian after all. I swear to never go back to the twilight zone of waterfall project-management.
Last but not least: A senior level buy-in - as is true with any other larger change management project in any organisation - is absolutely mandatory for the overall health of the transformation from pre-historic to 21st century development methodologies. There is no way that a team manager all by himself will be able to push through all he needs and make everyone happy at the same time without an approval from the highest ranks within the organisation. If such a buy-in exists though, there is no doubt in my mind that overall happiness and productivity will increase as a direct result from the change in software development practice.
Some excerpts below but read it yourself; time well spent. I also encourage people to sign-up for the global cost to value taskforce as passive listeners or active participants if the topic of intangible management interests you.
"Talk about perverse consequences. BP sets out to slash 25 percent of its fixed costs and ends up killing 15 workers and injuring 180 others, in the worst industrial accident in the US in 15 years. Instead of counting its savings it finds itself having to sink $US1.6 billion into a legal defence fund, facing a congressional investigation and with some of its officers exposed to potential criminal sanctions."
"General Motors reviews the real impact of its IT cost-cutting initiatives, only to discover that all of its efforts have amounted to much ado about virtually nothing. CTO Tony Scott tells a CIO summit that not only had almost no money been saved, the effort had provoked perverse consequences that proved painfully expensive."
"Traditional business analysis, with its preoccupation with breaking everything down into its component parts and then studying the parts, is useful when dealing with machines," Parsons wrote in a 2000 paper called "Productivity Measurement in the Service Sector". "In the early days of the industrial age it was possibly convenient to adopt such an approach, but such thinking will mislead, often dangerously, when applied to today's complex conditions of existence."
"By December 11, 2007, he is confident the Global Cost to Value Taskforce (see "Going Global", page 48) will provide an agreed and tested method to let managers and executives quickly and easily financially estimate intangible benefits and value to create new ways to increase productivity, reduce costs and risks, and boost service, engagement, retention, profitability and shareholder value."
"One of the very interesting things is that productivity today is caused, from the Standards Institute perspective, by intangibles, and when we look at intangibles we're looking at activities to do with knowledge, collaboration and leverage," Standfield says. "So if we look at an organization and just basically say: 'Well, this particular organization has a certain number of staff; they're doing certain activities throughout the day, all of which can be broken up into those three different categories', basically we get a time fingerprint of the organization. Now from there what we do through the more than 40 international intangibles standards is to assess that fingerprint."
More to come on the taskforce and pilot-projects. As always, feel free to get in touch with us directly for discussions.
Since October 2006 we are proud to have gone through the first level of certification (ii101) of Intangible Intelligence Analyst through the Standards Institute and under the rewarding mentorship of Dr. Ken Standfield.
This certification enhances our capabilities in project-management and process-analysis. It also allows us to expand into complementing areas such as risk-management. All next to the fact that we can now offer our services in ways never possible before; it literally opens up new doors of potential for us and our current & future clients. We are certain that it will convert into vast cost-savings and value creation for them through our support as Intangible Intelligence Analysts.
We have not had the chance to blog nor market our new capabilities since our certification as we have been focused on the creation our hosted knowledge-management solution transLucid. Expect us to communicate more about intangible management and its effects in the near-term future.
Why use Intangible Intelligence
"A study comparing market value to the book value of 3,500 U.S. companies over a period of two decades shows the dramatic upward rise in intangible value. In 1978, market value and book value were pretty much matched: book value was 95% of market value. Twenty years on, book value was just 28% of market value. Lev Baruch, an accounting professor at New York University's Stern School of Business, reckons that in the late 1990s businesses invested a staggering $1 trillion per year in intangible assets" (taken from The Hidden Value Of Intangibles).
Intangibles are usually invisible. International Intangible Standards make the invisible visible. They provide scientific and quantifiable answers how to measure - as in hard $ - as well as improve intangibles value and the chain of value creation. Resulting in cost reduction, time savings, productivity improvements, and risk reductions.
What it is
Intangible intelligenceÂ® applies international intangible standards through software to visually map operational reality - the costs, risks, productivity losses, efficiency, and effectiveness associated with the actual application of service resources (knowledge, collaboration, and process-engagement).
Intangible intelligenceÂ® maps visually show best practice gaps which are new sources of (1) cost reduction, (2) time savings, (3) productivity improvements, and (4) avoidable risk reductions.
When best practice gaps are reduced/removed employee stress, risk, and costs are decreased and productivity, results, and success increase. The central focus of intangible intelligence is therefore to "make life easier and less stressful for every employee" by identifying and removing best practice gaps using international intangible standards.
Areas of application
They are not surprisingly vast. In a next entry on intangible standards, I will focus on the standardized pilot projects to introduce intangible management into a company and create measurable financial improvements for a companies bottom-line. The potential results of a good management of intangibles using the international intangible standards are:
1. Improved customer service,
2. Enhanced employee satisfaction,
3. Increased expertise and knowledge,
4. Enhanced brand value, reputation, and corporate exposure,
5. Increased motivation, engagement, and relationship quality,
6. Improved knowledge quality levels,
7. Improved employee morale,
8. Improved quality
9. Enhanced leadership ability,
10. Enhanced management skills and quality,
11. Increased customer retention and satisfaction
12. Decrease in stress
13. Increased work-life balance, autonomy, and flexibility
14. Decreased â€œtime to marketâ€
15. Enhanced problem-solving and decision-making ability
16. Decrease in process overheads
17. The financial valuation of product/service benefits,
18. Increased competitive differentiation,
19. Increased market share and market growth rates,
20. Increased ability to identify changing customer tastes and preferences,
21. Reduced error rates and rework rates,
22. Improved data entry consistency and accuracy
23. Enhanced ability to identify and control risks,
24. Enhanced ability to lead competitors (instead of following),
25. Increased collaboration
26. Enhanced innovation ability
27. Increased reliability
28. Enhance in consistency
29. Increased product/service customization,
30. Enhanced ability to demonstrate social responsibility
31. Increase in goodwill
And most probably many others but this list should suffice to show the scope of an application of intangible standards in a company, supported by an Intangible Intelligence Analyst. As said, more to follow soon.
Below, I would like to share some of the knowledge-management tools we use to organize, share and collaborate with others in our business and private life. The idea for this entry matured at the Net Generation event (organised by SlatteryIT).
Knowledge Management (KM), desktop tools and applications:
Some techniques and associated tools that we are using both in business and for private projects:
- Mind mapping . We have been mind-mapping for years now, for both business and private projects. A powerful technique that you can practice digitally thanks to a couple of handful applications. We adopted MindManager and NovaMind (both commercial). There are open source applications as well such as Freemind.
Within a certain extent, PersonalBrain (see below) can also be used to
create and use your mind maps on your desktop. Example of business
usage: interviews, note-taking, auditing, brainstorming, business
requirement gathering, etc.
- Concept mapping . A more sophisticated technique to articulate "concepts": conceptualize a process, storyboarding, etc. In software development you can use a concept map to make a flow chart. CMaps is an excellent and powerful free-ware application dedicated to concept mapping.
- PersonalBrain . A personal organizer tool with a great GUI sitting on your desktop . There is literally a "fan club" of Personal Brain users that have been sharing ideas and experiences for years now on a Yahoo Group. Actually, the story of Translucid (see below) began with this wonderful program. PersonalBrain™ features a dynamic visual interface of thoughts that contains it all—your files, Web pages and applications—all linked the way you think.
KM collaboration & sharing tools:
Without going into the details, let's focus here on the collaboration tools that we have found the most helpful, used in corporate environment and at Theandb to work with remote teams. I will present as well translucid, the one that we develop through our open source venture Pantha software ltd.
Note that there are also enterprise & commercial suites that can be purchased to complement the softwares quoted previously, published by MindJet (for MindManager) and by TheBrain Corporation (for Personal Brain). But I won't discuss them here.
- Wiki: easy to use online publishing systems, to share knowledge within a team, a company or publicly (most popular example: wikipedia).
We have used wikis since our time at Amazon.com where wikis were the natural
way for anyone inside Amazon to produce documentation, how-tos,
personal tips and so on (works well in a geeky culture). Your primary
source of information to understand the companies jargon and know how
to do "anything" with the Amazon systems. We introduced the usage of
wikis to build the knowledge-base for projects & teams in several
other companies. A problem with wikis can be that they grow organically
and result in unstructured content that you can only really explore and
retrieve through adequate search features. There are plenty of wiki
softwares, open-source or not. An open-source wiki that we recommend
is Twiki : very solid, lots of
features, project-orientated, integrated work flows, etc. Amongst the
commercial version of wikis one of the best actually is published by an
Australian company (Atlassian): Confluence. Another popular one (in the US) is SocialText.
- Blog: well you are reading one right now! Most popular blog softwares: Movable Type, Wordpress.
A success story with blogs we would like to share started 2 years ago.
We introduced the concept of "project blogs". For each project, we
initiated at our clients' company, we opened a blog where all the
project communication was published. It happened to become a very
popular and very helpful mean of communication. Useful in many
different ways such as to enable stakeholders to comment on
specifications, design (UI) choices, and other documentation.
- Translucid: "a light-weight publishing system geared in particular for users
of knowledge-management desktop applications such as PersonalBrain,
FreeMind and MindManager. It will free these users from their
desktop environment and allow for a presentation of and collaboration
on their content online, based on transLucid's powerful importing &
exporting capabilities. With its easy to learn & use editing
interface, it can power anything from knowledge-spaces to whole
websites." Translucid is an open source initiative from Pantha Software Ltd, which we founded. We are currently setting up a hosting solution for translucid: Translucidonline . Translucid can also be used as a light CMS to publish small-scale website easily (local Australian example: DPPP )
When I started to focus on Knowledge Management , Social Network Analysis, and a couple of other areas related to my research at the time (2004) ; I created a dedicate knowledge base with PersonalBrain. Then decided to publish it using the ancestor of translucid (flashbrain) combined with a wiki system. The resources published in this so called "wikibrain" have not been refreshed for a while, but i believe most is still relevant today.
Among the many blogs and RSS feeds I am reading on a continuous basis, the one that consistently features outstanding content (on KM especially) is called "how to save the world" by David Pollard. I would like to highlight in particular one entry that I found very useful in regards to the topic of this entry: Adding Meaning & Value to Information
I have been watching Morfik for quite some time now. The team - situated in Tasmania, Australia - has been continuously improving the functionality provided in the public releases.
It offers advantages very similar to Java... and honestly i am not sure yet where the exact differences are. It runs both as a desktop- and web-application. Every compiled executable comes with its own webserver and database integrated so you can expect same behavior across platforms.
The only downside to me is that you do have to install an interpreter on your webserver so that the code compiled as a web application will correctly run. We could run it at home and use dyndns to route Internet traffic onto our iMac. But that is not something i would want to do for let's say our site here...
Definitely worth checking out more about Morfik. There are in fact very tools that allow you to deploy your applications to Linux, FreeBSD, Windows and Mac at the same time.