<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Stephan Schwab - caimito tag</title>
  <link>http://www.stephan-schwab.com/tags/caimito/</link>
  <description>Software Technology Consultant</description>
  <language>en</language>
  <copyright>Stephan Schwab</copyright>
  <lastBuildDate>Sat, 24 May 2008 11:24:54 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Help Beta Test a new agile project management tool</title>
    <link>http://www.stephan-schwab.com/2007/07/04/1183597259685.html</link>
    
      
        <description>
          &lt;p&gt;Are you a member of a small software development team and want to try Savila? We are looking for beta testers. The systems requirements are quite low. Savila is a WAR file that you simply deploy to your J2EE servlet container.&lt;/p&gt;

&lt;p&gt;If you are interested, &lt;a href=&#034;http://www.caimito.net/caimitoEnglish/categories/Savila/&#034;&gt;check out our product blog and learn more about Savila&lt;/a&gt;.&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/07/04/1183597259685.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/07/04/1183597259685.html&#034;
    dc:title=&#034;Help Beta Test a new agile project management tool&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1183597259685&amp;token=6192411292049623496&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>Caimito</category>
    
    <comments>http://www.stephan-schwab.com/2007/07/04/1183597259685.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/07/04/1183597259685.html</guid>
    <pubDate>Thu, 05 Jul 2007 01:00:59 GMT</pubDate>
  </item>
  
  <item>
    <title>Venture Capitalists demand outsourcing</title>
    <link>http://www.stephan-schwab.com/2007/06/27/1182983715451.html</link>
    
      
        <description>
          &lt;blockquote&gt;&lt;a href=&#034;http://www.wired.com&#034;&gt;Wired Magazine&lt;/a&gt; in &lt;a href=&#034;http://www.wired.com/wired/archive/12.07/view.html?pg=2&#034;&gt;The Micro-Multinational&lt;/a&gt;:&lt;br&gt;
Venture capitalists now routinely demand that the companies they finance outsource what labor they can. Yogen Dalal, a partner at Mayfield, says more than half the companies he funds have offshore workers. The Valley even has a name for these startups: micro-multinationals.
&lt;/blockquote&gt;

&lt;p&gt;That&#039;s some very interesting idea. Further down in the article it says:&lt;/p&gt;

&lt;blockquote&gt;The president and chief executive of Solidcore, Rosen Sharma, is an unapologetic fan of outsourcing. &#034;We were a micro-multinational from day one. It didn&#039;t mean I hired fewer people in the US,&#034; he says. &#034;It meant that I could hire more people in sales and marketing, because I didn&#039;t have to concentrate on building R&amp;D in America.&#034;&lt;/blockquote&gt;

&lt;p&gt;So, if you are a startup company working on some consumer oriented project or other project where you would like to do more in marketing and sales, you might want to consider outsourcing to a place nearby and within your timezone. My company &lt;a href=&#034;http://www.caimito.net&#034;&gt;Caimito Technologies&lt;/a&gt; operates out of an office in Panama (2.5 hours south of Miami; next to the famous Panama Canal) and we might be able help to you with your development efforts.&lt;/p&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/06/27/1182983715451.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/06/27/1182983715451.html&#034;
    dc:title=&#034;Venture Capitalists demand outsourcing&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1182983715451&amp;token=3981368891131634991&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>Collaboration</category>
    
    <category>Caimito</category>
    
    <comments>http://www.stephan-schwab.com/2007/06/27/1182983715451.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/06/27/1182983715451.html</guid>
    <pubDate>Wed, 27 Jun 2007 22:35:15 GMT</pubDate>
  </item>
  
  <item>
    <title>Someone interested hearing about software development in Panama?</title>
    <link>http://www.stephan-schwab.com/2007/06/25/1182813359884.html</link>
    
      
        <description>
          &lt;p&gt;Since moving to Panama City, Panama (the country in Central America where the Panama Canal is located, not the city in Florida), last year I&#039;ve been involved in the project of a local client and started my own in March. Both experiences have given me a lot of insight what you can do in Panama. I may even do an educated guess about the possibilities in other Latin American countries based on my recent experience and what I know from previous travels throughout the region and conversations with people from those other countries (mainly Costa Rica, Dominican Republic, Colombia).&lt;/p&gt;

&lt;p&gt;Further I&#039;ve been participating as a speaker and attendee local events like the &lt;a href=&#034;/2007/01/31/1170302593849.html&#034;&gt;Geek Fest Panama&lt;/a&gt; or &lt;a href=&#034;/2007/01/26/1169851864609.html&#034;&gt;UXcamp&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;While I made my experience with Panamanian developers as part of &lt;a href=&#034;/2006/11/19/1163975982519.html&#034;&gt;my work for a local client&lt;/a&gt; and came to the conclusion that there are indeed &lt;a href=&#034;/2007/01/19/1169234827855.html&#034;&gt;smart brains in Panama&lt;/a&gt; capable of developing software using current Java technologies, I can now talk about how well an agile process works by telling the story of the development of &lt;a href=&#034;http://www.caimito.net/caimitoEnglish/categories/Savila/&#034;&gt;our product Savila&lt;/a&gt;. There is a lot of talk going on about how to outsource development, whether outsourcing works or creates more hassle than it&#039;s worth or how to do &#034;agile&#034; with a distributed team or one that is in another country or culture.&lt;/p&gt;
&lt;p&gt;
So my question is whether companies or user groups would be interested in hearing more about these topics. Please feel free to leave a comment or &lt;a href=&#034;mailto:sns@caimito.net?subject=Development in Panama&#034;&gt;email me&lt;/a&gt;.&lt;/p&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/06/25/1182813359884.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/06/25/1182813359884.html&#034;
    dc:title=&#034;Someone interested hearing about software development in Panama?&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1182813359884&amp;token=5789437511349120159&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>Panama</category>
    
    <category>Caimito</category>
    
    <category>Agile</category>
    
    <comments>http://www.stephan-schwab.com/2007/06/25/1182813359884.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/06/25/1182813359884.html</guid>
    <pubDate>Mon, 25 Jun 2007 23:15:59 GMT</pubDate>
  </item>
  
  <item>
    <title>It does make a difference whether you are just developing or using it</title>
    <link>http://www.stephan-schwab.com/2007/05/07/1178587555850.html</link>
    
      
        <description>
          &lt;p&gt;After the &lt;a href=&#034;http://www.caimito.net/caimitoEnglish/2007/05/07/1178556764724.html&#034;&gt;first day using Savila&lt;/a&gt; I can say that it does make a difference whether you are just developing a product for someone else or you are using it yourself. Within a few hours of real use we could find a larger number of bugs or other inconsistencies that we simply were not aware of before. You can write unit tests, integration tests, even use automated UI testing with tools like Selenium, but that way you only can verify expected behavior. You can&#039;t find out whether something really makes sense. For that you have to use the product yourself trying to get real work done. Running it day in and out within your development environment is not the same.&lt;/p&gt;
&lt;p&gt;
In the case of our upcoming product Savila, we can be the developers and stakeholders at the same time. Developing custom software for clients makes it a bit more difficult. The developers cannot easily slip into the role of a stakeholder. The only way for &#034;using&#034; it is to provide the stakeholders new iterations of the product in short time. But that&#039;s not so easy as it sounds and requires a customer who embraces agile thinking himself.&lt;/p&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/05/07/1178587555850.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/05/07/1178587555850.html&#034;
    dc:title=&#034;It does make a difference whether you are just developing or using it&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1178587555850&amp;token=-4899945993234276816&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>Caimito</category>
    
    <category>Agile</category>
    
    <comments>http://www.stephan-schwab.com/2007/05/07/1178587555850.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/05/07/1178587555850.html</guid>
    <pubDate>Tue, 08 May 2007 01:25:55 GMT</pubDate>
  </item>
  
  <item>
    <title>Tasteful food for developers</title>
    <link>http://www.stephan-schwab.com/2007/05/07/1178558316373.html</link>
    
      
        <description>
          &lt;p&gt;The day when you start using the product you are working on is a special day in a developer&#039;s life. At my company &lt;a href=&#034;http://www.caimito.net&#034;&gt;Caimito&lt;/a&gt; we&#039;ve started today to use the product we are building: &lt;a href=&#034;http://www.caimito.net/caimitoEnglish/2007/05/07/1178556764724.html&#034;&gt;our dogfood is called Savila 0.2&lt;/a&gt;.&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/05/07/1178558316373.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/05/07/1178558316373.html&#034;
    dc:title=&#034;Tasteful food for developers&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1178558316373&amp;token=-2590778644021920929&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>Caimito</category>
    
    <comments>http://www.stephan-schwab.com/2007/05/07/1178558316373.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/05/07/1178558316373.html</guid>
    <pubDate>Mon, 07 May 2007 17:18:36 GMT</pubDate>
  </item>
  
  <item>
    <title>Why I love test-driven development</title>
    <link>http://www.stephan-schwab.com/2007/04/16/1176704607959.html</link>
    
      
        <description>
          &lt;p&gt;Here is a very good example why I am a big fan of TDD (test-driven development). Instead of writing a specification or a requirements document I wrote the following test case and let Eclipse create a few new classes for me. Then I wrote enough code to get the basic functionality right and added a mock UserService with a few expectation set.&lt;/p&gt;

&lt;pre class=&#034;codeSample&#034;&gt;public class EnrollmentTest extends TestCase {
  public void testSignupTrialWithoutPayingOrganization() throws UserNotFoundException {
    PaymentDetails paymentDetails = new CreditCardDetails() ;

    Person firstPerson = new Person() ;
    firstPerson.setRfc822Address(&#034;sns@caimito.net&#034;) ;

    Person secondPerson = new Person() ;
    secondPerson.setRfc822Address(&#034;fidel@caimito.net&#034;) ;

    UserService userService = EasyMock.createMock(UserService.class) ;
    EasyMock.expect(userService.findUser(firstPerson.getRfc822Address())).andThrow(new UserNotFoundException()) ;
    userService.saveUser(new User(firstPerson.getRfc822Address())) ;
    EasyMock.expect(userService.findUser(secondPerson.getRfc822Address())).andThrow(new UserNotFoundException()) ;
    userService.saveUser(new User(secondPerson.getRfc822Address())) ;
    EasyMock.replay(userService) ;
		
    SignupManager signupManager = new PerUserSignupManager() ;
    signupManager.setUserService(userService) ;

    try {
      Customer customer = signupManager.signup(firstPerson, paymentDetails) ;
      User firstUser = customer.createUserAccount(firstPerson) ;
      assertNotNull(firstUser) ;
      assertEquals(firstPerson.getRfc822Address(), firstUser.getUsername()) ;
			
      User secondUser = customer.createUserAccount(secondPerson) ;
      assertNotNull(secondUser) ;
      assertEquals(secondPerson.getRfc822Address(), secondPerson.getUsername()) ;
    } catch (SignupFailedException e) {
      fail(e.getMessage()) ;
    } catch (UserAlreadyExistsException e) {
      fail(e.getMessage()) ;
    }
  }
}&lt;/pre&gt;

&lt;p&gt;This test case is very high-level. There is more to be implemented. The work of implementing the details can be distributed amongst the members of a team. That way everybody gets involved a bit, which is good to foster shared ownership of the code base, and it allows to delegate some easier tasks to Junior Developers. &lt;/p&gt;

&lt;p&gt;Such a high-level test case can be used as well by a Senior Developer with more design experience to more precisely prepare a task for a learner. The high-level design is there and the Junior Developer can fill in the missing pieces and design a bit of the lower level parts. He will be able to learn good design and contribute working code to the project.&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf=&#034;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#034;
         xmlns:dc=&#034;http://purl.org/dc/elements/1.1/&#034;
         xmlns:trackback=&#034;http://madskills.com/public/xml/rss/module/trackback/&#034;&gt;
&lt;rdf:Description
    rdf:about=&#034;http://www.stephan-schwab.com/2007/04/16/1176704607959.html&#034;
    dc:identifier=&#034;http://www.stephan-schwab.com/2007/04/16/1176704607959.html&#034;
    dc:title=&#034;Why I love test-driven development&#034;
    trackback:ping=&#034;http://www.stephan-schwab.com/addTrackBack.action?entry=1176704607959&amp;token=-1348600612878758472&#034; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
        </description>
      
      
    
    
    
    <category>TDD</category>
    
    <category>Experience</category>
    
    <category>Caimito</category>
    
    <category>Agile</category>
    
    <comments>http://www.stephan-schwab.com/2007/04/16/1176704607959.html#comments</comments>
    <guid isPermaLink="true">http://www.stephan-schwab.com/2007/04/16/1176704607959.html</guid>
    <pubDate>Mon, 16 Apr 2007 06:23:27 GMT</pubDate>
  </item>
  
  </channel>
</rss>
