Open and Agile -- the Transparent Twins
Component level
Open source adds transparency. It provides a very practical means to access and share code, work together with others, and design and implement software in a collaborative manner. When code is licensed under a copyleft license, there is also a guarantee that nobody can mess it up! Transparency and free access to source code provide very powerful tools for software development.
Commercial system level
However, building complex systems remains challenging. Developers who never worked in a large commercial project easily underestimate challenges outside the source code domain. Creating right user experience is hard. Collecting feedback from users during the development is not simple. Providing accurate project estimations for various stakeholders remains tough. Integrating complex systems from components that originate from different sources is much more difficult than writing the actual components. Testing and stabilizing large systems gets harder and harder as systems grow. Replanning after late and big changes in project conditions is laborious. And, running several software projects concurrently multiplies all the above challenges.
Open and Agile
Open source adds transparency to software development. The code, developers, and design decisions are all visible to everybody. I believe transparency can also be used in other areas of software projects. Agile methods, such as Scrum, can provide such transparency on the system project level.
Our context is challenging, though. Teams cannot be co-located. Non-agile hardware development happens simultaneously with software development. There are tens -- and even hundreads -- of Scrum teams working for a same project. Projects deal with issues ranging from hardware design, driver and OS base port, middleware and application adaptation -- all the way to end user experience and over 40 language variants ... and so forth. In these circumstances a basic idea of a a few agile software teams is hardly a complete solution.
I believe
It is a bit early for me to make any final conclusions of agile methods in practice. But I'm a believer, and we are using Scrum now more and more at Nokia. I believe that what open source has done for software development, agile methonds can do for commercial system and product development. Add visibility, access, and intellectual honesty. Transparency. You cannot hide shit no more.
Open source adds transparency. It provides a very practical means to access and share code, work together with others, and design and implement software in a collaborative manner. When code is licensed under a copyleft license, there is also a guarantee that nobody can mess it up! Transparency and free access to source code provide very powerful tools for software development.
Commercial system level
However, building complex systems remains challenging. Developers who never worked in a large commercial project easily underestimate challenges outside the source code domain. Creating right user experience is hard. Collecting feedback from users during the development is not simple. Providing accurate project estimations for various stakeholders remains tough. Integrating complex systems from components that originate from different sources is much more difficult than writing the actual components. Testing and stabilizing large systems gets harder and harder as systems grow. Replanning after late and big changes in project conditions is laborious. And, running several software projects concurrently multiplies all the above challenges.
Open and Agile
Open source adds transparency to software development. The code, developers, and design decisions are all visible to everybody. I believe transparency can also be used in other areas of software projects. Agile methods, such as Scrum, can provide such transparency on the system project level.
Our context is challenging, though. Teams cannot be co-located. Non-agile hardware development happens simultaneously with software development. There are tens -- and even hundreads -- of Scrum teams working for a same project. Projects deal with issues ranging from hardware design, driver and OS base port, middleware and application adaptation -- all the way to end user experience and over 40 language variants ... and so forth. In these circumstances a basic idea of a a few agile software teams is hardly a complete solution.
I believe
It is a bit early for me to make any final conclusions of agile methods in practice. But I'm a believer, and we are using Scrum now more and more at Nokia. I believe that what open source has done for software development, agile methonds can do for commercial system and product development. Add visibility, access, and intellectual honesty. Transparency. You cannot hide shit no more.


10 Comments:
Microsoft had been using SCRUM for quite a while now and look what they produced: Vista. Even ordinary windows users can see that it's crap.
Open source does add transparency, true but the result of applying SCRUM to an organization depends on the existing structure of the organization and how much it is willing to change to accommodate SCRUM into itself.
For example, SCRUM assumes a very horizontal organisation, whereas big organisations like microsoft and nokia are extremely vertical. So obviously SCRUM can't work without big changes to such organizations.
I hope you haven't just become a blind believer and had thought on how to solve these issues before getting into this new bandwagon.
I think the viability of SCRUM is fairly evident in the daily/weekly/monthly operations of Maemo Software and the Maemo Community. I'm assuming (with good reason) that the doctor's remarks are based largely on the reports that he is getting from those in Maemo SW who are dealing with Maemo operations within a SCRUM framework. I know that my own experience (as a community member, not a Nokia emplyee) via the current Maemo SCRUM workflow has made me a believer.
SO .... Transparent Shit is better than hidden Shit!! Sounds good to me!!
Ok, so how about letting us in on some details of the internal discussion of how/if to support N8x0 in Maemo 5?
The huge uncertainty does not make the platform very attractive.
"Collecting feedback from users during the development is not simple."
"Open source adds transparency to software development. The code, developers, and design decisions are all visible to everybody."
Just another N810 Maemo user here wondering if you could occasionally leak some info about Maemo's "open" future direction.
I think - Open Source brings programming User Experience and not tablet user experience. These two things are quite different. We need the Open platform as a strong resistor to regulators. I believe you have done the one thing right, but something else is not right. You do the right thing to develop with Open Source, but you need more work on the user/usage experience.The last one is a long and quite different story. Tablet user experience is not the software!!!! The software is just the media to make it happen, communities develop software experience, like Linux platform, and all the other well known components . But the final synthesis of a consistent user experience does not come from a hacker. It comes from elsewhere.
Maemo has done a great start,
but you need to bring other industry players on the table, and share the cost of developing OSS components. Make Maemo ala Eclipse place. It will have
great chance to escape all the local and political problems that might have home. This move it wont harm Maemo. It will make it better, and more open platform. Embraced by the entire industry. The User experience for every "box" maker may be different and based on their perceptions ...
In a few weeks we are going to have Xmas, I was expecting an announcement about the new tablet that has cellular connectivity before that...
Scrum (or Agile in larger context) does not fail. People applying it may fail by not finding the right way to apply it. Too bad if MS has failed with Vista.
Scrum scales to very large scale in practice (tens of teams) and it does not require horizontal organization, SCRUM is the organization.
Most important aspect of scrum is the retrospective and continuos systematic improvement.
-Kimmo
Happy New Year!
are there any news about the new tablet Ari?
Cause I want to put into the bin my iphone...But still waiting that Maemo tablet with cellular connectivity.
Your website is fine for all its distinctive features. However, I have found http://www.infysolutions.com to be another content enriched website containing details on Outsourcing software development,ecommerce solutions and software development.
Thanks.
Ecommerce and offshore software development are burgeoning trends these days and several India-based offshore software development companies have gained reputation for offering excellent services to the clientele throughout the world. However, it would be extremely advantageous for you to assign your software development project to one of the popular India-based company because services offered by Indian software companies are cost-effective and flexible that ensure future growth and transparency.http://www.eberrymedia.com
Post a Comment
<< Home