Skip to main content

Build software like you build houses

Interfaces facilitate visibility.

Software is the only engineering practice that doesn't allow runtime visibility to end-user.

If this were true for construction, it would mean your builder would have to live with you for you to even guess what the problem is.

https://vimeo.com/221049715

https://github.com/stripe/veneur

Comments

Popular posts from this blog

Microservices Design Patterns

functional decomposition or domain-driven design well-defined interfaces  explicitly published interface  single responsibility principle potentially polyglot http://blog.arungupta.me/microservice-design-patterns/ http://blog.arungupta.me/microservices-monoliths-noops/ https://go.forrester.com/blogs/13-11-20-mobile_needs_a_four_tier_engagement_platform/ three-tier architecture — presentation, application, data vs. 4 tier -- client, delivery, aggregation, services

JSON stores and Aggregation for system logs and audit trail. Stop logging with format strings!

This first article explains why you might want to store logs and BI data in a machine readable format. https://journal.paul.querna.org/articles/2011/12/26/log-for-machines-in-json/ The second two get at how you might do that and be able to transition/re-purpose your existing relational stores into a cloud based scalable framework.  http://docs.mongodb.org/ecosystem/tutorial/use-aggregation-framework-with-java-driver/ http://www.bityota.com/3-steps-to-analytics-on-mongodb/ Logging might present a relatively low profile target for schema-less implementation and give you a chance to expose your organization to an important technology for modern web development. With your foot in the door you might convince them to add usage auditing and before you know it you are doing up front analysis on usage in front of your next project.

Velocity and Burn Rate Budget

This is a great summary of where to get to in how you budget projects. http://www.agileadvice.com/2011/02/04/agilemanagement/calculating-a-budget-for-an-agile-project-in-six-easy-steps/ Most importantly, Using the definition of “done” add pre- and post- Iteration budgets Every agile team is supposed to be “ cross-functional ” but in reality, there are limits to this.  For example, in most software project environments, teams do not include full-time lawyers.  This limited cross-functionality determines what the team is capable of delivering in each cycle – anything outside the team’s expertise is usually done as either pre-work or after the iterations (cycles) are finished.  Sometimes, this work can be done concurrently with the team.  In order to understand this work, it is often valuable to draw an organization-wide  value stream map  for project delivery.  This map will show you the proportion of time spent for each type of work in the proje...