Amazon’s best sold laptop runs Linux! And I must admit that I was surprised to discover this today. It has been the for almost three months today.
It’s Samsung’s ARM-powered, Linux-based Chromebook. This laptop has at least three great advantages:
- It is cheap. There is no laptop in Amazon’s top-20 that can compete based on price. It’s even hard for tablet to be cheaper.
- It is easy. Anyone that can use a web browser should be able to use the Chromebook. There is learning curve.
- Although it runs Linux, you have to try hard to find that. Unlike with Windows 8 you don’t have to relearn how to use your laptop. Same goes for those moving from Windows to OSX. Even there is more learning involved.
Think about how you are using your laptop most of the time: If you spend 90% of your time using the web the Chromebook might be something for you. Especially if you are using software-as-a-service or Web apps most of the time. On the other hand if you need special programs that require Windows or OSX this probably won’t work for you. Right now you might want to check ZDnet’s review of the Samsung Chromebook.
Recently my latest Whitebook was published, called ‘Integratie maar dan lean‘. The article focusses on solid tips to move your integration practise to a more lean version.
It’s in Dutch. International readers can use Google Translate. An English translation can be provided on request. Please leave a comment with your email. Have your integration lean
Managers and teamleads rely on measurements to know how processes and teams are performing. With an increased BPM effort and automated support of processes, more and more questions on solid information from these systems rise. Oracle BPM offers an easy way to export metrics to a data warehouse. Oracle BPM captures standard and business specific metrics and exposes these through a BPM process star schema.
Export Oracle BPM metrics to a data warehouse
To export Oracle BPM metrics to a data warehouse the
SOAINFRA schema in which all configuration and (runtime) instance data is stored offers a number fact tables. These standard views enable the extraction of information for BI usage. For Oracle BPM release prior to PS4FP (22.214.171.124.1) the views have to be created manually. From patchset 4 onwards the process has been automated. Please note that it is not recommended to run the BI reports on the BPM process database.
An overview of the standard fact tables:
- BPM_PROCESS_PERFORMANCE_V – offers standard metrics (like start and end time and running time in seconds) for completed processes.
- BPM_ACTIVITY_PERFORMANCE_V – offers standard metrics for completed activities, completed intervals, measurement marks and counters for both in-flight and completed process instances.
- BPM_PROCESS_INSTANCE_V – offers standard metrics for in-flight process instances. Because of that the information is only relevant at the time the view is queried. When processes move forward the information in this view refelcts the progress.
- BPM_ACTIVITY_INSTANCE_V – offers standard metrics for in-flight activities and interval instances.
An overview of the dimension tables:
- BPM_PROCESS_DEFINITION_V – including data on domain, composite, label and revision.
- BPM_ACTIVITY_DEFINITION_V – including the type of activity: UserTask, Gateway, Event, Measurement interval, etc.
- BPM_ROLE_DEFINITION_V – also allows you to see whether the role is the process owner.
Example queries of BPM process metrics
Average process running time by process:
GROUP BY process_name
The number of faults by process:
WHERE process_discriminator = 'instance_system_fault'
GROUP BY process_name
When you run the process in multiple domains on the same server join with the BPM_PROCESS_DEFINITION_V and differentiate on DOMAINNAME.
Example queries of task performance metrics
Average, minimum and maximum time taken by a participant in a process per activity:
GROUP BY process_name
You could add the revision to see whether certain improvements in the process resulted in faster handling of activities by joining with the BPM_PROCESS_DEFINITION_V. It could also be usefull to join with the BPM_ACTIVITY_DEFINITION_V and discriminate on ACTIVITYTYPE.
Just found out I forgot to publish the Mind Map I used while studying for my scrum master certification. The mind map is based on the scrum guide. Download the scrum guide mind map pdf.
- Product owner: Responsable for maximizing the value of the product. She manages the Product Backlog.
- Development Team: Does the work to deliver the releasable increment. The team is self-organizing and because of that needs to be cross-functional. It’s size shoud be somewhere beteen 3 and 9.
- Scrum master: A servant leader who makes sure scrum is understood and enacted.
- Sprint: Time-box (month) to create the useable, potential releasable product ‘Increment’. Can be cancelled only by the Product Owner
- Sprint Planning Meeting: Or actually a part focussing on the What and part on the How. On the what side focus on Forecast functionality based on the Product Backlog, Latest Increment, Projected capacity of the Development Team and Past performance of the Development Team. The How boils down to the so called Sprint Backlog.
- Daily scrum: is performed by the Development team and answers 4 questions in 15 minutes: What has been accomplished? What will be done next? What obstacles are in the way? And syncs activities and plan for next 24 hours.
- Sprint Review: Held to inspect the increment and adapt the Product Backlog. Time-boxed at 4 hours.
- Sprint Retrospective: Where the Scrum Team inspect itself on people, relations, processes and tools. Besides that it plans for improvements (adapt). Time-boxed at 4 hours.
- Product Backlog: with description, order/priority and estimate. Maintained by backlog grooming.
- Sprint Backlog: Monitor sprint progress on the (total) work remaining. Set of Backlog items selected for the Sprint + a plan for delivering the product Increment and realizing the Sprint Goal.
- Increment: The sum of all the Product Backlog items completed during a Sprint and all previous Sprints.
Definition of done
The definition of done is used to have a shared understanding of “done”. You can find a good definition of done example on this blog.
About 2 months ago InfoWorld published 11 programming trends to watch. I’d like to share three with you since they are close to home for me:
- No code is an island
- Bandwidth is no longer free
- Energy is no longer free, either
No code is an island
Having worked in integration project for almost a decade the idea that there is little code living on an island is not strange to me. However InfoWorld points out that besides that more and more software developer are creating products to enhance other products
Our code is living increasingly in ecosystems. Many PHP programmers, for instance, create plug-ins for WordPress, Drupal, Joomla, or some other framework. Their code is a module that works with other modules.
The same goes for development for mobile devices that rely increasingly on modules or apps created by others, whether they run on the device or in the cloud. This increases the demand for stable interfaces and contracts. Besides that the requirements for availability and scalability will weigh in heavier.
An urge for lean programming
Or create programs that deliver value in an efficient way. New releases of software programmers tend to demand always more resources (just a small example). The cost of keeping a computer plugged in has never been an issue. It never mattered how much energy your rack of servers sucked down because the colo just sent you a flat bill for each box.
The Cloud trend tends to make cost more transparent. Some of the clouds — like Google App Engine or Amazon S3 (example) — don’t bill by the rack or root password. They charge for database commits and queries. This adds a new perspective for software developers. We might need to start thinking about the cost of each subroutine in euros, not in lines of code, function points or milliseconds of execution time.
On the consumer side more and more ISPs adding bandwidth caps and metering. To a software developer this means that optimizing bandwidth consumption when designing apps is becoming imperative. Besides the cost issue this will also be needed because of the customer experience (loading speed etc).
Since this blog is also dedicated to sharing resources that are valueable to me I decided to share my reading list of 2011 with you.
Lean Integration: An Integration Factory Approach to Business Agility
A great best practices book on integration. The first part provides description of the business value of Lean. It introduces the core concepts. As a manager that doesn’t need all the details you could just read this part and you can get a good grasp of the ideas presented.
The second part translates the lean principles from the world of manufacturing to the world of systems integration. It has great case studies that shows the principles applied in a real world context.
Part three of the book provides a “how to” guide. This can be used as a reference and as such is a great desk-top reference manual. This book is great and a must read for all technology and business practitioners and innovators.
Web Service Contract Design and Versioning for SOA
Great reference (not a book that I read front to back) on Web Service Design from Thomas Erl and his co-authors. This book focuses exclusively on the contract part of the service. Due to the depth it is a extensive resource to use besides others. The book is filled with extensive examples on how to meet the goals of SOA properly using contract design.
Via the site of the publisher and on iTunes are additional service design podcasts by the authors of the book. Could be a great resource to start with.
The Back of the Napkin (Expanded Edition): Solving Problems and Selling Ideas with Pictures
This is a great book on problem solving, extremely useful and in a sense thought provoking. It structures problem-solving into a six by five visual codex. This makes sense; you can literally see the evolution of the thought processes and the development of the insights take shape through the pages. Fun read as well.
Certificate Professional Scrum Master I
Maybe you noted that there was a growing number of post on subjects like Scrum
on my blog. Because of my renewed experience in this field. I decide to go for certification on the subject.
Besides the Scrum Guide and a training, you can find additional Scrum resources i like here. While studying I created a mind map using the scrum guide.
As you can see in the picture in this post I succeeded.
Congratulations on passing the PSM I assessment! You have demonstrated a fundamental knowledge of the Scrum process. This qualifies you for certification as a Professional Scrum Master I.
Still wanted to share some thought and ideas with you I took from the LAC 2011 – the largest symposium in The Netherlands on architecture in the digital world. The larger part of this post is taken from the key note on Speed and Innovation through Architecture by Jan Bosch. He states:
Speed trumps any other improvement R&D can provide to the company.
Speed and time to market deliver far more value than increasing the efficiency of a process. This especially holds for non-repetitive process like (software) product creation. To increase the speed and reduce time to market we should focus on the following aspects:
- Small teams
- Release process
Small teams work on the people side because a team member can experience the fruits of his or her individual efforts while on the other hand they contain the rewarding social element of camaraderie. Both are necessary for people to see their work as fulfilling.
On the process side, small teams increase speed because of the lowered need for coordination within the team and the existence of complexity. A team larger than three is required because of the need to learn from each other, the ability to deliver significant work and enable preservation of knowledge from the feedback the team has encountered. To get speed in the team at a high level the team needs to be self directed and managed.
Architecture – Keep it simple
First and foremost make sure your architecture enables you to simplify things! Keep in mind that rules and constraints can create complexity. And that is something you wanted to avoid when you started with architecture in the first place.
Architecture provides simplicity, compositionality and is designed in parallel with software development
An example would be to limit the number of things a team has to worry about during development. This could be done by applying the 3 API rule and there are other ways as well. Allways ask the questions whether the architecture enables the development team to perform.
In order to get speed into your development process you need to know/measure what people do, not what they think. Factor out opinion and chose data. To get proper results here you need a short PDCA cycle. Check and measure to get results back into your development process. This requires that you release early and often. Which in turn demands automated deployment and test.
The basics of Scrum can be found in the Scrum Guide. Besides that there are loads of resources available on the subject. In this post I’ll share a few Scrum resources with you I recently discussed with my colleagues:
Besides these the online lean and Scrum resources library of one of my colleagues gives some other great hints. You might also like to read his selection of 10 from ‘Corps Business: The 30 Management Principles of the U.S. Marines’.
Recently while listening to OTN ArchBeat podcasts, a panel discussion on Reference Architectures (part 2 and part 3) I was thinking back to some pieces I wrote on industry data models and processes that I didn’t share with you yet. There a some similar argument to using these and reference architectures.
The value of reference models whether it contains data models, standardized messages, processes of a reference architecture, is or should be in a faster time to market and better quality of the solution.
Handle with care
What makes it hard to achieve this value, is the fact that these models contain always far more than is needed. That can be considered a waste. Even the parts that are not used still require attention while implementing and maintaining. This incurs work to understand the complex model, hide the details you don’t need, and customize and extend the parts you need.
Implementing a reference model requires spending time to determine how and to what extend this model meets the needs of your business? That is typically something you have to discover for yourself. It is where the majority of the time is spend! If you don’t go through the effort of understanding your business requirements, you are missing understanding of how the business can and should use the model. That makes it very hard to determine the value of the end solution to the business.
When using a reference models you should be aware that your business is not average. In some shape or form it delivers value to your customers in away a reference model doesn’t provide. Reference models should be used with care your business deserves.